1、下列关于sql说法正确的是:
A: SQL是基于关系模型的,但没必要实现它。
B: 在一个列中,NULL意味这该项没有数值。
C: 主键值和外建值都不能为空。
D: 主键是表必须的且唯一的。
答案:A。
B的解释:以Oracle为例。有三个字段A、B、C,如果C(末位)为空,那么只存储A和B,C不存储。但是如果B为空,那么如果只存储两个值得话,你怎么知道到底A、B和C哪个字段对应的是空值呢?所以这时候要存储三个值,存储一个长度为0来标识这个字段对应的是NULL。
C的解释:如果外键邦定的是另一张表的主键,那么外建值都不能为空。如果外键邦定的是另一张表的非主键,那么外建值可以为空。
2、下列关于数据库视图说法正确的是:
A:数据库的视图是虚表,既可以从一个或几个基本表生成,也可以从一个或几个视图生成
B:视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中
C:视图中的数据改变,视图所对应的基表中的数据也要改变;基表中的数据改变,基表所对应的视图的数据也要改变
D:视图能够将程序和数据表分割开来,使得程序的变化不影响数据表,数据表的变化也不影响程序
答案:ABCD