数据库第二次作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二次数据库作业
1、(上机)创建教学管理数据库,注意完整性控制的设计
2.利用教学管理数据库,创建满足如下要求的触发器,并检测触发器的功效(上机验证)
1)限制学生所在系的取值必须在{计算机系,信息系,物理系,数学系}范围内 create trigger FR_Trigger
on Sno after insert,update
as
if exists(select SDEPAT
from Sno
where SDEPAT not in('计算机','信息','物理','数学'))
rollback
go
2)限制学生的选课总门数不能超过8门use 教学管理
go
create trigger SEL
on SC after insert,update
as
if exists(select Sno,count(CNO)
from SC
group by Sno
HAVING count(Cno)>9)
rollback
go
3)限制不能删除考试成绩不及格学生的考试记录create trigger notdele
on SC after delete
as
if exists(select CGRADE
from SC
where(CGRADE<60))
print'不能删除成绩不及格的学生的记录'
rollback
3.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
学生:学号、姓名、出生年月、系名、班号、宿舍区。
班级:班号、专业名、系名、人数、入校年份。
系:系名、系号、系办公地点、人数。
学会:学会名、成立年份、办公地点、人数。
语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。
请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递
函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?
解:(1)关系模式如下:
学生:S(Sno,Sname,Sbirth,Depart,ClassID,Dormtr)
班级:C(ClassID,Specilname,Depart,Cnum,Cyear)
系:D(Depart,Dno,Office,Dnum)
学会:M(Mname,Myear,Maddr,Mnum)
(2)每个关系模式的最小函数依赖集如下:
A、学生S (Sno,Sname,Sbirth,Depart,ClassID,Dormtr) 的最小函数依赖集如下:Sno→Sname,Sno→Sbirth,Sno→ClassID,ClassID→Depart,DEPART→Dormtr
传递依赖如下:
由于Sno→Depart,而Depart→Sno ,Depart→Dormtr
所以Sno与Dormtr之间存在着传递函数依赖。
由于ClassID→Depart,Depart→ClassID,Depart→Dormtr
所以ClassID与Dormtr之间存在着传递函数依赖。
由于Sno→ClassID,ClassID→Sno,ClassID→Depart
所以Sno与Depart之间存在着传递函数依赖。
B、班级C(ClassID,Specilname,Depart,Cnum,Cyear)的最小函数依赖集如下:
ClassID→Specilname,ClassID→Cnum,ClassID→Cyear,Specilname→Depart.
由于ClassID→Specilname,Specilname→ClassID,Specilname→Depart 所以C1ass与Depart之间存在着传递函数依赖。
C、系D(Depart,Dno,Office,Dnum)的最小函数依赖集如下:
Depart→Dno,Dno→Depart,Dno→Office,Dno→Dnum
根据上述函数依赖可知,Depart与Office,Depart与Dnum之间不存在传递依赖。
D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:
Mname→Myear,Mname→Maddr,Mname→Mnum
该模式不存在传递依赖。
(3)各关系模式的候选码、外部码,全码如下:
A、学生S候选码:Sno;外部码:Depart、ClassID;无全码
B、班级C候选码:ClassID;外部码:Depart;无全码
C、系D候选码:Depart或Dno;无外部码;无全码
4、学会M候选码:Mname;无外部码;无全码
4、
(1)BCNF意味着在关系模式中每一个决定因素都包含候选键,所以当BC也是R 的候选码时,符合BCNF。
(2)L:C、E;
R:无;
N:无;
LR:A、B、D
候选码:ACE或BCE或DCE
(3)因为不包含传递依赖,所以属于3NF,又因为每个依赖的决定因素不包含码,所以不属于BCNF。