?/p>
5
?/p>
数据库完整?/p>
1.
什么是数据库的完整性?
?/p>
:
数据库的完整性是指数据的正确性和相容性?/p>
2.
数据库的完整性概念与数据库的安全性概念有什么区别和联系?/p>
?/p>
:
数据的完整性和安全性是两个不同的概念,但是有一定的联系?/p>
前者是为了防止数据库中存在不符合语义的数据?/p>
防止错误信息的输入和输出?/p>
?/p>
所谓垃圾进垃圾出(
Garba : e In Garba : e out
)所造成的无效操作和错误结果?/p>
后者是保护数据库防止恶意的破坏和非法的存取?/p>
也就是说?/p>
安全性措施的防范?/p>
象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据?/p>
3.
什么是数据库的完整性约束条件?
答:完整性约束条件是指数据库中的数据应该满足的语义约束条件?/p>
一般可以分为六类:
静态列级约束?/p>
静态元组约束?/p>
静态关系约束?/p>
动态列级约束?/p>
动态元组约束、动态关系约束?/p>
常见的静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束?/p>
4.
关系
DBMS
的完整性控制机制应具有哪些功能?/p>
?/p>
:
DBMS
的完整性控制机制应具有三个方面的功能:
1)
定义功能,即提供定义完整性约束条件的机制?/p>
2)
检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;
3)
违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一?
的动作来保证数据的完整性?/p>
5.
关系
DBMS
在实现参照完整性时需要考虑哪些方面?/p>
答:关系
DBMS
在实现参照完整性时需要考虑以下几个方面?/p>
1)
外码是否可以接受空值?/p>
2)
被参照关系中删除元组或修改主码时,若使参照关系在被参照关系中找不到与?
相等的属性值,
系统可选择的作法有三种?/p>
拒绝执行
< NO ACTION >
(默认策略)
?/p>
级联操作
<CASCADE>
、设置为空值?/p>
3)
参照关系中插入或修改元组时,若使参照关系在被参照关系中找不到与之相等?
属性值,
系统可选择的作法有三种?/p>
拒绝执行
(默认策略)
?/p>
级联操作
?/p>
CASCADE
?/p>
?/p>
设置为空值?/p>
6.
假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号?/p>
,其中职工号为主码;
部门(部门号,名称,经理名,电话?/p>
,其中部门号为主码?/p>
?/p>
sQL
语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义?/p>
1)
定义每个模式的主码;
2)
定义参照完整性;
3)
定义职工年龄不得超过
60
岁?/p>
CREATE TABLE
职工
(
职工?/p>
CHAR(10),
姓名
CHAR(10),
年龄
NUMERIC (3),
CONSTRAINT C1 CHECK (
年龄
<=60),