数据库大题

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

答案.png

  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.G
FROM S,SC
WHERE S.SNO=SC.SNO
ORDER BY CNO

(2).

SELECT SN,CN,G
FROM V-SSC
GROLIP BY SNO
HAVING 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分)数据库的完整性概念与数据库的安全性概念有什么区别和联系?

正确答案:
数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

  1. (计算题, 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=ABC,BC,AB,ABC
    ( 1 ) 计算A+
    ( 2 ) 求 F 的最小等价依赖集 Fmin

正确答案:
(1) A(0)=A,左部为A的函数依赖有 A → B , A → C A \rightarrow B,A \rightarrow C AB,AC ,于是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=(AB,AC,BC,ABC)
A → B , B → C A \rightarrow B,B \rightarrow C AB,BC,因此 A → C A \rightarrow C AC 是多余的。又(AB)+=ABC,因此 A B → C AB \rightarrow C ABC 是多余的。
F m i n = A → B , B → C Fmin={A \rightarrow B,B \rightarrow C} Fmin=AB,BC

  1. (计算题, 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=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. (论述题, 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个关系模式:
教师(工号,姓名,职称)
学生(学号,姓名,性别,年龄,教师工号)
课程(课程号,课程名称,教材,教师工号)
选课(学号,课程号,成绩)

猜你喜欢

转载自blog.csdn.net/qq_46373141/article/details/131261388
今日推荐