一、选择题:
1、在数据库系统中,保证数据及语义正确和有效的功能是 ( )
A.并发控制 B.存取控制 C.安全控制 D.完整性控制
2、关于主键约束以下说法错误的是( )
A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束
C.允许空值的字段上可以定义主键约束 D.、可以将包含多个字段的字段组合设置为主键
3、在表或视图上执行除了( )以外的语句都可以激活触发器。
A.Insert B. Delete C. Update D. Create
4、数据库的____是指数据的正确性和相容性。
A.安全性 B.完整性 C.并发控制 D.恢复
5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的________约束。
- 实体完整性B、参照完整性C、用户自定义D、用户操作
二、填空题
1.数据库的完整性是指数据的 ① . ②__和 ③ 。
答案:①实体完整性 ②参照完整性 ③用户定义完整性
2、实体完整性是指在基本表中, 。
答案:主属性不能取空值
3、参照完整性是指在基本表中, 。
答案:外码可以是空值或者另一个关系主码的有效值
4、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS就 。答案:拒绝此操作
三、设计题
在学生课程管理数据库中创建一触发器,当向学生选课表插入记录时,检查该记录的学号在学生表中是否存在,检查该记录的课程号在课程表中是否存在,及选课成绩是否在0到100范围,若有一项为否,则不允许插入。
答案:
create trigger stu_ins_tri
on sc
for insert
as
begin
declare @s# char(6),@c# char(5),@grade int
select @s#=sno,@c#=cno,@grade=score
from inserted
if (@s# not in(select sno from student)) or (@c# not in (select cno from course) )or (@grade not between 0 and 100)
rollback transaction
else
print '成功插入'
end