- (计算题,20分)
设有两个关系R和S,求① R ∪ S R \cup S R∪S;② R − S R - S R−S;③ R × S R \times S R×S;④ ∏ C , A ( R ) \prod_{C,A}(R) ∏C,A(R);⑤ σ B > ′ 4 ′ ( R ) \sigma_{B>'4'}(R) σB>′4′(R) 关系R关系S
- (简答题,10分)
设有学生表S(SNO,SN)(SNO为学号,SN为姓名)和学生选课表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:
(1).建立一个视图 V-SSC(SNO,SN,CNO,CN,G),并按 CNO 升序排序;
(2).从视图 V-SSC 上查询平均成绩在90分以上的 SN、CN 和 G。
正确答案:
(1).CREATE VIEWV-SSC(SNO,SN,CNO,CN,G) AS SELECT S.SNO, S.SN,CNO,SC.CN,SC.G FROM S,SC WHERE S.SNO=SC.SNO ORDER BY CNO
(2).
SELECT SN,CN,G FROM V-SSC GROUP BY SNO HAVING AVG(G)>90
- (简答题,30分)设学生课程数据库中有三个关系:
学生关系S(S#,SNAME,AGE,SEX)学习关系SC(S#,C#,GRADE)课程关系C(C#,CNAME)
其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。用SQL语句表达下列操作
(1)检索选修课程名称为“MATHS”的学生的学号与姓名
(2)检索至少学习了课程号为“C1”和“C2”的学生的学号
(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄
(4)检索平均成绩超过80分的学生学号和平均成绩
(5)检索选修了全部课程的学生姓名
(6)检索选修了三门课以上的学生的姓名
正确答案:
(1) SELECT S#, SNAME FROM S,SC,C WHERE S.S#=SC.S# AND C.C#=SC.C# AND CNAME=‘MATHS’
(2) SELECT S# FROM SC WHERE C#=‘C1’ AND S# IN ( SELECT S# FROM SC WHERE C#=C2’)
(3) SELECT S#, SNAME,AGE FROM S WHERE SEX=‘女’ AND AGE BETWEEN 18 AND 20
(4) SELECT S#, AVG(GRADE) ‘平均成绩’ FROM SC GROUP BY S# HAVING AVG(GRADE)>80
(5) SELECT SNAME FROM S WHERE NOT EXISTS(SELECT * FROM C
WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#))
(6) SELECT SNAME FROM S,SC WHERE S.S#=SC.S# GROUP BY SNAME HAVING COUNT(*)>3
- (简答题, 10分)数据库的完整性概念与数据库的安全性概念有什么区别和联系?
正确答案:
数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
- (论述题, 20分)
现有如下关系模式:R(司机编号,汽车牌照,行驶公里,车队编号,车队主管)其中:每个汽车牌照对应一辆汽车,“行驶公里”为某司机驾驶某辆汽车行驶的总公里数,每个司机属于一个车队,每个车队只有一个主管。
(1)根据上述条件,写出模式R的关键码。
(2)R最高属于第几范式,为什么?
(3)将R规范到3NF。
正确答案:
关键码(司机编号,汽车牌照)
(2)R属于1NF,因为存在非主属性对码的部分函数依赖
(3)R1(司机编号,汽车牌照,行驶公里)
R2(司机编号,车队编号)
R3(车队编号,车队主管)
- (计算题, 20分)
设有关系模式R(A,B,C,D),其上的函数依赖集:
F = A → C , C → A , B → A C , D → A C F={A \rightarrow C,C \rightarrow A,B \rightarrow AC,D \rightarrow AC} F=A→C,C→A,B→AC,D→AC
(1).计算(AD)+。
(2).求F的最小等价依赖集Fmin。
正确答案:
(1).令X={AD},X(0)=AD,X(1)=ACD,X(2)=ACD,故(AD)+=ACD。
(2).将F中的函数依赖右部属性单一化:
F1= ( A→C C→A B→A B→C D→A D→C)
在Fl中去掉多余的函数依赖:
∵B→A,A→C ∴B→C是多余的。
又∵D→A,A→C ∴D→C是多余的。 F2=(A→C C→A B→A D→A)
∵F2中所有依赖的左部都是单属性,∴不存在依赖左部有多余的属性
∴ Fmin= (A→C C→A B→A D→A)
函数依赖集的最小集不是惟一的,本题中还可以有其他答案,如
Fmin=( A→C C→A B→C D→C)
- (论述题, 20分)
某医院病房计算机管理中需要如下信息:
科室:科名,科地址,科电话,医生姓名
病房:病房号,床位号,所属科室名
医生:姓名,职称,所属科室名,年龄,工作证号
病人:病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
完成如下设计:
(1)设计该计算机管理系统的E-R图;
(2)将该E-R图转换为关系模型结构;
(3)指出转换结果中每个关系模式的候选码。
(2)对应的关系模型结构如下:
科室(科名,科地址,科电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
(3)每个关系模式的候选码如下:
科室的候选码是科名;
病房的候选码是科室名十病房号;
医生的候选码是工作证号;
病人的候选码是病历号。
以下为去年的题:
- (计算题, 20分)
设有关系模式R(U,F),其中 :
属性集U为ABC,函数依赖集 F = A → B C , B → C , A → B , A B → C F={A \rightarrow BC,B \rightarrow C,A \rightarrow B,AB \rightarrow C} F=A→BC,B→C,A→B,AB→C
( 1 ) 计算A+
( 2 ) 求 F 的最小等价依赖集 Fmin
正确答案:
(1) A(0)=A,左部为A的函数依赖有 A → B , A → C A \rightarrow B,A \rightarrow C A→B,A→C ,于是A(1)=AUBC=ABC
A(1)=U,因此(A)+=ABC
(2) 分解右部属性为单一属性得到 F = ( A → B , A → C , B → C , A B → C ) F=(A \rightarrow B,A \rightarrow C,B \rightarrow C,AB \rightarrow C) F=(A→B,A→C,B→C,AB→C)
因 A → B , B → C A \rightarrow B,B \rightarrow C A→B,B→C,因此 A → C A \rightarrow C A→C 是多余的。又(AB)+=ABC,因此 A B → C AB \rightarrow C AB→C 是多余的。
故 F m i n = A → B , B → C Fmin={A \rightarrow B,B \rightarrow C} Fmin=A→B,B→C
- (论述题, 15分)
有一学生运动会模型,描述如下:
a) 有若干班级,每个班级包括:班级号,班级名,专业,人数
b) 每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄
c) 有若干比赛项目,包括:项目号,名称,比赛地点
d) 每名运动员可参加多项比赛,每个项目可有多人参加
e) 要求能够公布每个比赛项目的运动员名次与成绩
完成如下设计:
(1)画出该模型的E-R图,标明每个实体及其属性、实体间实体联系。
(2)将E-R模型转换成关系数据模型(要求:1:1和1:n的联系进行合并)。
(3)指出每个关系模式的关系码,在关系模型中用下划线标明。
说明:请在图上标注自己的学号和姓名
正确答案:
(2)关系模型
班级(班级号,班级名,专业,人数) 运动员(运动员号,姓名,性别,年龄,班级号)
项目(项目号,项目名,比赛地点) 比赛(运动员号,项目号,成绩,名次)
- (论述题, 15分)
设大学里教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。
设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课程有个成绩。
完成如下设计:
(1)画出该模型的E-R图,标明每个实体及其属性、实体间实体联系。
(2)将E-R模型转换成关系数据模型。(要求:1:1和1:n的联系进行合并)
(3)指出每个关系模式的关系码,在关系模式中用下划线标明。
说明:请在图上标注自己的学号和姓名
正确答案:
(1)
(2)转换成的关系模型应具有4个关系模式:
教师(工号,姓名,职称)
学生(学号,姓名,性别,年龄,教师工号)
课程(课程号,课程名称,教材,教师工号)
选课(学号,课程号,成绩)