数据库原理试卷(有答案)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、试用关系代数完成如下查询
(1)查找年龄小于18岁男同学的学号和姓名。
πSID,SN(σAGE<18∧SEX =“男”(S))
1分2分
(2)查找系别为“信息工程”的学生姓名、学号和选修的课程号。
πSID,SN,CID(σDEPT=“信息工程”(S∞SC))
1分2分
或:
πSID,SN,CID((σDEPT=“信息工程”(S))∞SC)
外码:导演ID,公司ID
二、 规范化理论(共10分)
设有关系模式T(职工号,任务号,薪酬,主管部门,负责人),如果规定每个职工可完成多项任务,各得一份薪酬;每项任务只属于一个主管部门管理;每个主管部门只有一个主要负责人(T中负责人指主要负责人)。
(1)试写出关系模式T 的基本函数依赖集和候选码。(4分)
一、综合应用题之二(每小题10分,共20分)
一个电影资料数据库包含如下实体集:
电影:属性有发行编号,名称,年份,长度,发行量
演员:属性有演员ID,姓名,地址,性别,出生日期,籍贯,特长
导演:属性有导演ID,姓名,地址,性别,出生日期,籍贯,专业
电影公司:公司ID,名称,地址,法人
其中,每个演员可能演多部电影,每部电影由多个演员表演,演员在电影中有唯一角色;每部电影只有一个导演,由一家电影公司制作;演员和导演可以受聘于多家电影公司,但在同一时段内只能受聘于一家电影公司,电影公司可以聘用多个演员和导演,制作多部电影。
外码:无
电影公司(公司ID,名称,地址,法人)(1分)
主码:公司ID
外码:无
导演(导演ID,姓名,地址,性别,出生日期,籍贯,专业)(1分)
主码:发行编号
外码:无
电影(发行编号,名称,年份,长度,发行量,导演ID,公司ID)(1.5分)
主码:发行编号
外码:导演ID,公司ID
拥有(发行编号,演员ID)(1.5分)
(2)说明T不是2NF模式的理由,并把T分解成2NF模式集。(3分)
(3)再进而分解成3NF模式集。(3分)
答:
(1)R的基本函数依赖有三个:
(职工号,任务号)薪酬(1分)
任务号主管部门(1分)
主管部门负责人(1分)
候选码为(职工号,任务号)(1分)
(2)根据(1)知(职工号,任务号)主管部门,但是又有:任务号(主管部门,负责人),这是一个部分函数依赖,因此R不是2NF。(1分)
主码:(发行编号,演员ID)
外码:发行编号,演员ID
聘请(演员ID,公司ID,受聘开始时间,受聘结束时间)(2分)
主码:(演员ID,公司ID,受聘开始时间,受聘结束时间)
外码:演员ID,公司ID
受聘(导演ID,公司ID,受聘开始时间,受聘结束时间)(2分)
主码:(导演ID,公司ID,聘请开始时间,聘请结束时间)
(7)创建一个反映学生选课信息的名为“S_SC”的视图,包含下列属性:SID、SN、CN、GRADE。
CREATE VIEWS_SC(SID,SN,CN,GRADE)(1分)
AS
SELECTS.SID,SN,CN,GRADE(1分)
FROM S,SC,C
WHERE S.SID = SC.SIDANDSC.CID = C.CID(1分)
FROM SC(1分)
GROUP BY SID;(1分)
(4)将学号为“AP0000001”同学所选修的“数据库原理”成绩改为88分。
UPDATESC(2分)
SETGRADE= 88
WHERESID=‘AP0000001’AND
CID IN(SELECT CID FROM C WHERE CN=‘数据库原理’);(1分)
(5)把查询SC表的权限授给用户U1。
GRANT SELECT(1分)
ON TABLE SC(1分,表前不加TABLE不扣分)
TO U1;(1分)
(6)删除选修了“易小天”老师课程的选课记录。
DELETE(2分)
FROM SC
WHERE CIDIN
(SELECT CID FROM C WHERE CN =“易小天”);(1分)
综合应用题之一(每小题3分,共30分)
设有如下表所示的三个关系:
S(SID,SN,AGE,SEX,DEPT)
C(CID,CN,TEACHER)
SC(SID,CID,GRADE)
其中:SID为学号,SN为姓名,AGE为年龄,SEX为性别,DEPT为系别,CID为课程号,CN为课程名,TEACHER为任课老师,GRADE为成绩。
R应分解成两个关系:
R1(任务号,主管部门,负责人)(1分)
R2(职工号,任务号,薪酬)(1分)
(3)R2已是3NF模式,R1存在传递依赖关系,应分解成两个关系,因此R分解成3NF模式共有三个关系,分别是:
R1(任务号,主管部门)(1分)
R2(职工号,任务号,薪酬)(1分)
R3(主管部门,负责人)(1分)
1分2分
(3)查找选修了课程名为“C语言程序设计”的学生学号和姓名。
πSID,SN(σCN =“C语言程序设计”(S∞C∞SC))
1分2分
或:
πSID,SN((σCN =“C语言程序设计”(C))∞S∞SC))
1分2分
2、写出下列操作的SQL语句
(1)在S表中增加一条学生信息:(AP0000001,张成,19,男,交通工程)。
INSERT(1分)
INTO S(SID,SN,AGE,SEX,DEPT)(1分)
VALUES(‘AP0000001’,’张成’,19,’男’,’交通工程’)(1分)
或:
INSERT(1分)
INTO S(1分)
VALUES(‘AP0000001’,’张成’,19,’男’,’交通工程’)(1分)
(2)查询选修了课程名为“C语言”的学生学号和姓名。
SELECT S.SID,SN(1分)
FROM S,C,SC(1分)
WHERE S.SID=SC.SID AND SC.CID = C.CID AND C.CN = “C语言”;(1分)
(3)查询每个学生的学号、选修的课程门数和平均成绩。
SELECT SID,COUNT(*) AS课程门数,AVG(GRADE)AS平均成绩(1分)
(1)试画出E-R图,并在图上注明属性、联系类型。
评分标准:每个实体、每个联系正确各给1分;联系类型正确给1分,其它视具体情况扣分。
注:为简化起见,忽略各实体中属性的同名情况。
(2)将E-R图转换成关系模式,并说明主码和外码。
演员(演员ID,姓名,地址,性别,出生日期,籍贯,特长)(1分)
主wk.baidu.com:演员ID
(1)查找年龄小于18岁男同学的学号和姓名。
πSID,SN(σAGE<18∧SEX =“男”(S))
1分2分
(2)查找系别为“信息工程”的学生姓名、学号和选修的课程号。
πSID,SN,CID(σDEPT=“信息工程”(S∞SC))
1分2分
或:
πSID,SN,CID((σDEPT=“信息工程”(S))∞SC)
外码:导演ID,公司ID
二、 规范化理论(共10分)
设有关系模式T(职工号,任务号,薪酬,主管部门,负责人),如果规定每个职工可完成多项任务,各得一份薪酬;每项任务只属于一个主管部门管理;每个主管部门只有一个主要负责人(T中负责人指主要负责人)。
(1)试写出关系模式T 的基本函数依赖集和候选码。(4分)
一、综合应用题之二(每小题10分,共20分)
一个电影资料数据库包含如下实体集:
电影:属性有发行编号,名称,年份,长度,发行量
演员:属性有演员ID,姓名,地址,性别,出生日期,籍贯,特长
导演:属性有导演ID,姓名,地址,性别,出生日期,籍贯,专业
电影公司:公司ID,名称,地址,法人
其中,每个演员可能演多部电影,每部电影由多个演员表演,演员在电影中有唯一角色;每部电影只有一个导演,由一家电影公司制作;演员和导演可以受聘于多家电影公司,但在同一时段内只能受聘于一家电影公司,电影公司可以聘用多个演员和导演,制作多部电影。
外码:无
电影公司(公司ID,名称,地址,法人)(1分)
主码:公司ID
外码:无
导演(导演ID,姓名,地址,性别,出生日期,籍贯,专业)(1分)
主码:发行编号
外码:无
电影(发行编号,名称,年份,长度,发行量,导演ID,公司ID)(1.5分)
主码:发行编号
外码:导演ID,公司ID
拥有(发行编号,演员ID)(1.5分)
(2)说明T不是2NF模式的理由,并把T分解成2NF模式集。(3分)
(3)再进而分解成3NF模式集。(3分)
答:
(1)R的基本函数依赖有三个:
(职工号,任务号)薪酬(1分)
任务号主管部门(1分)
主管部门负责人(1分)
候选码为(职工号,任务号)(1分)
(2)根据(1)知(职工号,任务号)主管部门,但是又有:任务号(主管部门,负责人),这是一个部分函数依赖,因此R不是2NF。(1分)
主码:(发行编号,演员ID)
外码:发行编号,演员ID
聘请(演员ID,公司ID,受聘开始时间,受聘结束时间)(2分)
主码:(演员ID,公司ID,受聘开始时间,受聘结束时间)
外码:演员ID,公司ID
受聘(导演ID,公司ID,受聘开始时间,受聘结束时间)(2分)
主码:(导演ID,公司ID,聘请开始时间,聘请结束时间)
(7)创建一个反映学生选课信息的名为“S_SC”的视图,包含下列属性:SID、SN、CN、GRADE。
CREATE VIEWS_SC(SID,SN,CN,GRADE)(1分)
AS
SELECTS.SID,SN,CN,GRADE(1分)
FROM S,SC,C
WHERE S.SID = SC.SIDANDSC.CID = C.CID(1分)
FROM SC(1分)
GROUP BY SID;(1分)
(4)将学号为“AP0000001”同学所选修的“数据库原理”成绩改为88分。
UPDATESC(2分)
SETGRADE= 88
WHERESID=‘AP0000001’AND
CID IN(SELECT CID FROM C WHERE CN=‘数据库原理’);(1分)
(5)把查询SC表的权限授给用户U1。
GRANT SELECT(1分)
ON TABLE SC(1分,表前不加TABLE不扣分)
TO U1;(1分)
(6)删除选修了“易小天”老师课程的选课记录。
DELETE(2分)
FROM SC
WHERE CIDIN
(SELECT CID FROM C WHERE CN =“易小天”);(1分)
综合应用题之一(每小题3分,共30分)
设有如下表所示的三个关系:
S(SID,SN,AGE,SEX,DEPT)
C(CID,CN,TEACHER)
SC(SID,CID,GRADE)
其中:SID为学号,SN为姓名,AGE为年龄,SEX为性别,DEPT为系别,CID为课程号,CN为课程名,TEACHER为任课老师,GRADE为成绩。
R应分解成两个关系:
R1(任务号,主管部门,负责人)(1分)
R2(职工号,任务号,薪酬)(1分)
(3)R2已是3NF模式,R1存在传递依赖关系,应分解成两个关系,因此R分解成3NF模式共有三个关系,分别是:
R1(任务号,主管部门)(1分)
R2(职工号,任务号,薪酬)(1分)
R3(主管部门,负责人)(1分)
1分2分
(3)查找选修了课程名为“C语言程序设计”的学生学号和姓名。
πSID,SN(σCN =“C语言程序设计”(S∞C∞SC))
1分2分
或:
πSID,SN((σCN =“C语言程序设计”(C))∞S∞SC))
1分2分
2、写出下列操作的SQL语句
(1)在S表中增加一条学生信息:(AP0000001,张成,19,男,交通工程)。
INSERT(1分)
INTO S(SID,SN,AGE,SEX,DEPT)(1分)
VALUES(‘AP0000001’,’张成’,19,’男’,’交通工程’)(1分)
或:
INSERT(1分)
INTO S(1分)
VALUES(‘AP0000001’,’张成’,19,’男’,’交通工程’)(1分)
(2)查询选修了课程名为“C语言”的学生学号和姓名。
SELECT S.SID,SN(1分)
FROM S,C,SC(1分)
WHERE S.SID=SC.SID AND SC.CID = C.CID AND C.CN = “C语言”;(1分)
(3)查询每个学生的学号、选修的课程门数和平均成绩。
SELECT SID,COUNT(*) AS课程门数,AVG(GRADE)AS平均成绩(1分)
(1)试画出E-R图,并在图上注明属性、联系类型。
评分标准:每个实体、每个联系正确各给1分;联系类型正确给1分,其它视具体情况扣分。
注:为简化起见,忽略各实体中属性的同名情况。
(2)将E-R图转换成关系模式,并说明主码和外码。
演员(演员ID,姓名,地址,性别,出生日期,籍贯,特长)(1分)
主wk.baidu.com:演员ID