-
试述SQL的特点
(1).综合统一
(2).高度非过程化
(3).面向集合的操作方式
(4).以同一种语法结构提供多种使用方式
(5).语言简洁,易学易用
(6).对于数据统计方便直观
-
试述SQL的定义功能
SQL的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 SREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。
-
什么是基本表?什么是视图?两者的区别和联系是什么?
基本表是本身独立存在的表,在SQL中一个关系就对应一个表,视图是从一个或几个基本表导出的表,区别和联系分别如下:一、区别:
(1)、视图是已经编译好的sql语句,而表不是。
(2)、视图没有实际的物理记录,而表有。
(3)、表是内容,视图是窗口。
二、联系:
(1)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
(2)视图的建立和删除只影响视图本身,不影响对应的基本表。
(3)视图是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。
-
试述视图的优点
(1) 视图能够简化用户的操作
(2) 视图使用户能以多种角度看待同一数据;
(3) 视图为数据库提供了一定程度的逻辑独立性;
(4) 视图能够对机密数据提供
安全保护。
-
所有的视图是否都可以更新?为什么?
不是。视图是不实际存储数据的虚表。因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一有意义地的装换成对应基本表的更新。所以,并不是所有的视图都是可更新的。
-
哪些视图是可以更新的?哪类视图是不可更新的?各举一例说明。
(1)可更新视图:一般的行列式子集视图可以更新
(2)不可更新视图,有五种:
①select目标列包含聚集函数
②select字句使用了unique或distinct
③视图中包括group by字句
④视图中包括经算法表达式计算出来的列
⑤由单个表的列构成,但并不包括主键的视图