1. (计算题,20分)
    设有两个关系R和S,求① R∪SR \cup S RS;② R−SR – S RS;③ R×SR \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

  1. (简答题,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.GFROM S,SCWHERE S.SNO=SC.SNOORDER BY CNO

(2).

SELECT SN,CN,GFROM V-SSCGROUP BY SNOHAVING AVG(G)>90
  1. (简答题,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

  1. (简答题, 10分)数据库的完整性概念与数据库的安全性概念有什么区别和联系” />
  2. (论述题, 20分)
    现有如下关系模式:R(司机编号,汽车牌照,行驶公里,车队编号,车队主管)其中:每个汽车牌照对应一辆汽车,“行驶公里”为某司机驾驶某辆汽车行驶的总公里数,每个司机属于一个车队,每个车队只有一个主管。
    (1)根据上述条件,写出模式R的关键码。
    (2)R最高属于第几范式,为什么?
    (3)将R规范到3NF。

正确答案:
关键码(司机编号,汽车牌照)
(2)R属于1NF,因为存在非主属性对码的部分函数依赖
(3)R1(司机编号,汽车牌照,行驶公里)
R2(司机编号,车队编号)
R3(车队编号,车队主管)

  1. (计算题, 20分)
    设有关系模式R(A,B,C,D),其上的函数依赖集:
    F= A → C , C → A , B → A C , D → A CF={A \rightarrow C,C \rightarrow A,B \rightarrow AC,D \rightarrow AC} F=AC,CA,BAC,DAC
    (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)

  1. (论述题, 20分)
    某医院病房计算机管理中需要如下信息:
    科室:科名,科地址,科电话,医生姓名
    病房:病房号,床位号,所属科室名
    医生:姓名,职称,所属科室名,年龄,工作证号
    病人:病历号,姓名,性别,诊断,主管医生,病房号
    其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
    完成如下设计:
    (1)设计该计算机管理系统的E-R图;
    (2)将该E-R图转换为关系模型结构;
    (3)指出转换结果中每个关系模式的候选码。


(2)对应的关系模型结构如下:
科室(科名,科地址,科电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
(3)每个关系模式的候选码如下:
科室的候选码是科名;
病房的候选码是科室名十病房号;
医生的候选码是工作证号;
病人的候选码是病历号。


以下为去年的题:


  1. (计算题, 20分)
    设有关系模式R(U,F),其中 :
    属性集U为ABC,函数依赖集 F= A → B C , B → C , A → B , A B → CF={A \rightarrow BC,B \rightarrow C,A \rightarrow B,AB \rightarrow C} F=ABC,BC,AB,ABC
    ( 1 ) 计算A+
    ( 2 ) 求 F 的最小等价依赖集 Fmin

正确答案:
(1) A(0)=A,左部为A的函数依赖有 A→B,A→CA \rightarrow B,A \rightarrow C AB,AC ,于是A(1)=AUBC=ABC
A(1)=U,因此(A)+=ABC
(2) 分解右部属性为单一属性得到 F=(A→B,A→C,B→C,AB→C)F=(A \rightarrow B,A \rightarrow C,B \rightarrow C,AB \rightarrow C) F=(AB,AC,BC,ABC)
A→B,B→CA \rightarrow B,B \rightarrow C AB,BC,因此 A→CA \rightarrow C AC 是多余的。又(AB)+=ABC,因此 AB→CAB \rightarrow C ABC 是多余的。
Fmin= A → B , B → CFmin={A \rightarrow B,B \rightarrow C} Fmin=AB,BC

  1. (论述题, 15分)
    有一学生运动会模型,描述如下:
    a) 有若干班级,每个班级包括:班级号,班级名,专业,人数
    b) 每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄
    c) 有若干比赛项目,包括:项目号,名称,比赛地点
    d) 每名运动员可参加多项比赛,每个项目可有多人参加
    e) 要求能够公布每个比赛项目的运动员名次与成绩
    完成如下设计:
    (1)画出该模型的E-R图,标明每个实体及其属性、实体间实体联系。
    (2)将E-R模型转换成关系数据模型(要求:1:1和1:n的联系进行合并)。
    (3)指出每个关系模式的关系码,在关系模型中用下划线标明。
    说明:请在图上标注自己的学号和姓名

正确答案:

(2)关系模型

班级(班级号,班级名,专业,人数)运动员(运动员号,姓名,性别,年龄,班级号) 项目(项目号,项目名,比赛地点)比赛(运动员号,项目号,成绩,名次)
  1. (论述题, 15分)
    设大学里教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。
    设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课程有个成绩。
    完成如下设计:
    (1)画出该模型的E-R图,标明每个实体及其属性、实体间实体联系。
    (2)将E-R模型转换成关系数据模型。(要求:1:1和1:n的联系进行合并)
    (3)指出每个关系模式的关系码,在关系模式中用下划线标明。
    说明:请在图上标注自己的学号和姓名

正确答案:
(1)

(2)转换成的关系模型应具有4个关系模式:
教师(工号,姓名,职称)
学生(学号,姓名,性别,年龄,教师工号)
课程(课程号,课程名称,教材,教师工号)
选课(学号,课程号,成绩)