一、选择题
1.表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。
A.主键B.外键C.NULL D.CHECK 2.下列关于表的叙述正确的是(C)。
A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏
C.系统表可以隐藏D.系统表可以删除
3.下列关于主关键字叙述正确的是(A)。
A.一个表可以没有主关键字
B.只能将一个字段定义为主关键字
C.如果一个表只有一个记录,则主关键字字段可以为空值
D.都正确
4.下列关于关联叙述正确的是( C )。
A.可在两个表的不同数据类型的字段间创建关联
B.可在两个表的不同数据类型的同名字段间创建关联
C.可在两个表的相同数据类型的不同名称的字段间创建关联
D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段
5.CREA TE TABLE语句( C )。
A.必须在数据表名称中指定表所属的数据库
B.必须指明数据表的所有者
C.指定的所有者和表名称组合起来在数据库中必须唯一
D.省略数据表名称时,则自动创建一个本地临时表
二、填空题
1.Transact-SQL语言创建数据表的语句是CREA TE TABLE ,删除数据表的语句是DROP TABLE 。
2.Transact-SQL语言将数据插入到数据表的语句是INSERT INTO,修改数据的语句是UPDA TE。
3.数据的完整性是指数据库中的数据具有正确性、有效性和一致性。
4.数据完整性包括实体完整性、域完整性、引用完整性和用户定义完整性。
5.实体完整性是要求一个关系中所有主属性非空。
三、问答题
1.简述SQL Server中常用哪几种数据类型。
答:SQL Server中常用数据类型有:二进制数据、字符数据、日期和时间数据、货币数据、数字数据。
2.在数据库中,取“NULL”值与取“0”值的含义相同吗?如果不同,它们的区别是什么?
答:在关系数据库中,取“NULL”值与取“0”值的含义不相同。
取“NULL”值即空值实际上是一个占位符,它表示“该属性的值是未知的,可能是值域中的任意值”,而取“0”值是一个确定的值。
例如,某个学生的某科成绩为0,和某科成绩为NULL是不同的含义。
成绩为0表示该学生的该科成绩已经有了,是0分;而为NULL则表明该成绩还没有被填入,是两个不同的概念。
3.举例说明参照完整性的含义。
答:参照完整性也称为引用完整性,是用来维护相关数据表之间数据一致性的手段。
通
过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值。
引用完整性约束是指引用关系中外码的取值或者是空值(外码的每个属性值均为空值)或者是取被引用关系中某个元组的主码值。
下面举例说明。
现有两个数据表:学生信息表(学号,姓名,性别,专业号,年龄)和专业信息表(专业号,专业名)。
学生信息表中的主关键字是“学号”。
“专业号”是其中的一个基本属性。
但它是专业信息表中的主关键字。
那么学生信息表中的“专业号”就是外码(也称外来键),外码“专业号”的取值或为空,或为专业关系中的某个元组的主码值.
四、应用题
图书馆借书系统由借书证表(借书证编号、姓名、性别、年龄、院系),书籍表(书籍编号、书籍名称、作者、出版社)和借书记录表(借书证编号、书籍编号、借书日期、应归还日期)组成。
(1)借书证、书籍和借书记录这三个表应该分别用哪些属性作为主关键字?
(2)简述如何使用查询分析器创建借书证表。
(3)写出在书籍中新增加一条记录(006,数据库原理,王维,人民邮电出版社)的Transact-SQL语句。
答:(1)借书证、书籍和借书记录这三个表的主关键字如下(标有下划的字段):借书证表(借书证编号、姓名、性别、年龄、院系)
书籍表(书籍编号、书籍名称、作者、出版社)
借书记录表(借书证编号、书籍编号、借书日期、应归还日期)(2)略
(3)在书籍表中增加记录(006,数据库原理,王维,人民邮电出版社)的Transact-SQL 语句如下:
INSERT INTO书籍表 VALUES ('006','数据库原理','王维','人民邮电出版社')。