5、答:关系数据库管理系统在实现参照完整性时需要考虑可能破坏参照完整性的各种情况,以及违约后的处理策略。
下表总结了可能破坏参照完整性的4种情况及可采取的违约策略:
4种情况分别是指:在参照关系中插入元组、修改外码值时可能破坏参照完整性,在删除被参照表的元组、修改主码值时可能破坏参照完整性。
被参照表 可能破坏参照完整性 可能破坏参照完整性 删除元组 修改主码值 6、答:
CREATE TABLE DEPT
(Deptno NUMBER(3) RIMARY KEY, Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12) );
CREATE TABLE EMP
(Empno NUMBER(10), Ename VARCHAR(10),
参照表 插入元组 修改外码值 违约处理 拒绝 拒绝 可能破坏参照完整性 拒绝/级联删除/设置为空值 可能破坏参照完整性 拒绝/级联删除/设置为空值 Age NUMBER(2)
CONSTRAINT C1 CHECK ( Age<=60 ), Job VARCHAR(10), Sal NUMBER(9,2), Deptno NUMBER(3), RIMARY KEY (Empno),
FOREIGN KEY (Deptno) REFFERENCES DEPT(Deptno) );
7、答:对于违反实体完整性和用户定义的完整性的操作,一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并非都是简单的拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。
第六章习题
2、答:
(1)关系模式如下:
学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) 学生—学会:SM(Sno,Mname,Date)
其中:Sno——学号,Sname——姓名,Sbirth——出生年月,Dept
——系名,Class——班号,Rno——宿舍区,Pname——专业名, Cnum——班级人数,Cyear——入校年份,Dno——系号,Office——系办公室地点,Dnum——系人数,Mname——学会名,Myear——成立年份,Maddr——地点,Mnum——学会会员人数,Date——入会年份 (2)每个关系模式的最小函数依赖集如下:
一、
学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:
Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,Dept→Rno
传递依赖如下:
Sno→Class,Class→Dept,所以Sno与Dept之间存在着传递函数依赖Sno→Dept.
Class→Dept,Dept→Rno,所以Class与Rno之间存在着传递函数依赖Class→Rno.
Sno→Class,Class→Dept,Dept→Rno,所以Sno与Rno之间存在着传递函数依赖Sno→Rno.
(Pname,Cyear)→Class函数依赖左部具有两个属性,都是完全函数依赖,没有部分函数依赖的情况。 二、
班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:
Class→Pname,Class→Cnum,Class→Cyear,Pname→Dept,(Pname,Cyear)→Class.
由于Class→Pname,Pname→Class,Pname→Dept,所以C1ass与Dept之间存在着传递函数依赖Class→Dept。 三、
系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下: Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum
根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。
四、
学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下: Mname→Myear,Mname→Maddr,Mname→Mnum 该模式不存在传递依赖。
五、学生—学会SM(Sno,Mname,Date)的最小函数依赖集如下:
(Sno, Mname)→Date 该模式不存在传递依赖。 (Sno, Mname)→Date
函数依赖左部具有两个属性,都是完全函数依赖,没有部分函数依赖的情况。
(3)各关系模式的候选码、外部码,全码如下: 关系 候选码 外部码 全码 S C D M SM 7 、答: (1)正确 (2)正确 (3)正确
Sno Class和(Pname,Cyear) Dept和Dno Mname (Sno, Mname) Dept,Class Dept 无 无 Sno, Mname 无 无 无 无 无 (4)错误,正确应该是:
当且仅当多值依赖A→→B 在R 上成立,关系R(A,B,C)等于其投影R1(A,B) 和R2(A,C)的连接。 (5)正确 (6)正确 (7)正确 (8)错误。
反例:课本P52页图3.4中SC表,关系模式SC(Sno,Cno,Grade), (Sno,Cno)→Grade,但是Sno,Cno
Grade,Cno
Grade
相关推荐: