湘潭大学数据库试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、设计题(共18分)
1.某县要设立一个干部管理系统,请设计ER图,对此系统进行描述,要求包含乡镇和干部信息(具体为:乡镇编号,乡镇名称,人员编号,姓名,职务)。(10分)
2.按两种方式将上述概念模型转换为关系模型。(8分)
三、计算题(共20分)
设有关系模式R(U,F),U=ABCDE,F=(B→C,C→D,B→D,AB→CD,A→B),求:①该关系的码是什么,并作证明.②将其分解成3NF,要求分解具有无损连接性且保持函数依赖.(20分)
四、综合题(共47分)
设教学数据库中有如下第三个表:S(SNO,SNAME,AGE,SEX,SDEPT),学生表(学号,姓名,年龄,性别,院系);SC(SNO,CNO,GRADE),选课号(学号,课号,成绩);C(CNO,CNAME,CDEPT,TNAME),课程表(课程号,课程名,课程所在院系,教师姓名)。(注:中文关系或字段名称是注释)
1.用关系代数式和SQL语言两种方式表示如下功能的实现:(16分)
①查询教师姓名为TOM的所有课程信息;
②查询学生关系中所有学生的姓名;
③查询所有学生如下选课信息(姓名,课程号,成绩);
④查询选修了全部课程的学生的学号;
2.用SQL语言一种方式实现如下操作:(21分)
①往选课表中添加如下元祖(学号20151234,课号7)(注:还没考试);
②考试后修改上面添加的元组,将成绩设置为(80);
③查询选修了课程号为14的课程的学生信息(学号和姓名)(要求使用IN)
④删除学号为20150001学生的所有选课信息;
⑤查询没有选修18号课程的学生;
⑥查询其他系中比CS系所有学生年龄大的学生姓名和年龄(要求使用ANY或)
⑦将上面的查询用集合函数实现;
一、
①查询教师姓名为TOM的所有课程信息;
SELECT 课程号,课程名,院系
FROM 课程表
WHERE 教师姓名=”TOM”
②查询学生关系中所有学生的姓名;
SELECT 姓名
FROM 学生
WHERE EXISTS (SELECT *
FROM 选课
WHERE 学生.学号=学号)
③查询所有学生如下选课信息(姓名,课程号,成绩);
SELECT S.SNAME,CNO,GRADE
FROM S,SC,C
WHERE S.SNO=SC.SNO AND O=O
④查询选修了全部课程的学生的学号;
SELECT 学号
FROM 学生
WHERE NOT EXISTS (SELECT *
FROM 课程
WHERE NOT EXISTS
(SELECT *
FROM 选课
WHERE 学生.学号=学号AND 课程.课程号=课程号))二、
①INSERT
INTO 选课号(学号,课号)
VALUES(“20151234”,”7”)
②UPDATE 选课号
SET 成绩=80
WHERE 学号=”20151234”,课号=”7”
③SELECT 学号,姓名
FROM 学生
WHERE IN (SELECT *
FROM 选课
WHERE 学生.学号=学号AND 课程号=”14”)
④DELETE
FROM 选课
WHERE 学号=”20150001”
⑤SELECT 姓名
FROM 学生
WHERE NOT EXISTS (SELECT *
FROM 选课
WHERE 学生.学号=学号AND 课程号=”18”
⑥SELECT 姓名,年龄
FROM 学生
WHERE 年龄>ANY (SELECT 年龄
FROM 学生
WHERE 所在系=”CS”)AND 所在系< >”CS”
四、GRANT ALL PRIVILEGES ON V-MATH
TO JOE
WITH GRANT OPTION