数据库概论综合练习题 下载本文

内容发布更新时间 : 2024/5/6 17:22:51星期一 下面是文章的全部内容请认真阅读。

本文档为精品文档,如对你有帮助请下载支持,如有问题请及时沟通,谢谢支持! 和自定义完整性。

40.实体完整性规则要求主码取值_必须唯一且非空_。 41.关系中主键的取值非空是_实体_完整性规则。 42.参照完整性规则是对外部关系_键的约束。

43.设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据

一致性,表S与SC之间应满足___外键___完整性约束。

44.在关系数据模型中,两个关系R1与R2之间存在1∶M的联系,可以通过在一个关系

R2中的_外部关键字值__在相关联的另一个关系R1中检索相对应的记录。 46.SQL语言提供数据库定义、_数据操作_、数据控制等功能。 50.已知学生关系(学号,姓名,年龄,班级),要检索班级为空值的学生姓名,其SQL查

询语句中 WHERE子句的条件表达式是_班级 IS NULL __。

51.在SQL SELECT语句查询中,要去掉查询结果中的重复记录,应该使用____________

关键字。

53.在“学生-选课-课程”数据库中的三个关系如下: S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。 查找选修“数据库技术”这门课程的学生的姓名和成绩。若使用连接查询的SQL语句是:

SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME=\数据库技术\ AND S.S#= SC.S# AND ________。

54.在DBMS的授权子系统中,授权和回收权限的语句分别是__GRANT__和REVOKE语句。

56.在SQL语言的关系定义语句中,外键子句实现_参照___完整性约束。

57.集函数“COUNT(列名)”的功能是_计算元素个数__。

58.集函数“SUM(列名)”的功能是_对某一列的值求和(整型)_。 59.集函数“AVG(列名)”的功能是_对某一列的值计算平均值__。 71.有关系模式R(A,B,C),F={A→C,AB→C},则R中存在___________函数依赖。 74.对于属性X的每个具体值,属性Y都有唯一的具体值与之对应,称Y__________X,或称

X决定Y,记为__________。 77.设关系R(U),X,Y∈U,X→Y是R的一个函数依赖,如果存在X’∈X,使X’→Y成立,则称函数依赖X→Y是_完全函数依赖。

83.我们通常按属性间的依赖情况来区分关系规范化程度,其中第二范式属性的特点是_属性完全依赖于主键_。第三范式的特点是属性不依赖于其它非主属性__。 四、简答题

6.设有供应商关系S和零件关系P,如下图所示,S和P的主键分别是“供应商号”和 “零件号”,P的外键是“供应商号”。

S P 供应商号 供应商名 所在城市 A1 A2 A3 A4 红星 宇宙 黎明 立新 北京 上海 天津 重庆 6

零件号 颜色 供应商号 P1 红 A1 P2 蓝 A3 本文档为精品文档,如对你有帮助请下载支持,如有问题请及时沟通,谢谢支持! P3 白 A4 分析下列3个操作能否被正确执行,并说明理由。

(1)在P中插入元组(′P2′,′白′,′A2′) (2)在P中插入元组(NULL,′绿′,′A1′) (3)在P中插入元组(′P4′,′白′,′A5′)

答案操作(1)不能被正确执行,因为违反了主键唯一性的约束。 操作(2)不能被正确执行,因为违反了实体完整性规则。

操作(3)不能被正确执行,因为违反了参照完整性规则。

8.关系R和S如下图所示,试计算 “select c,d from r inner join s where r.b=s.b”的结果。 五、设计题 1

用SQL语言实现下列小题:

(1)检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。

(2)检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数; (4)检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业; (5)检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;

(6)检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业; (7)从学生表中删除成绩出现过0分的所有学生信息;

(8)定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。

2.设学生-课程数据库中包括三个表:

学生表:Student (Sno,Sname,Sex,Sage,Sspec)

Student 由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所学专业(Sspec)五个属性组成,其中Sno为主码。

课程表:Course(Cno,Cname,Ccredit)

Course 由课程号(Cno)、课程名(Cname)、学分(Ccredit)三个属性组成,其中Cno为主码。

学生选课表:SC(Sno,Cno,Grade) SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,主码为(Sno,Cno)。

用SQL语言实现下列小题:

(1)查询计算机科学与技术专业的全体学生 (2)查询学生的姓名、性别和所学的专业。

(3)查询每个学生的学号、姓名、选修的课程名及成绩。 (4)查询选修了全部课程的学生学号和姓名。

(5)查询“计算机科学与技术”专业的女生姓名和年龄。

(6)查询至少有20个以上的学生选修了该课程的课程号和选课人数。 (7)查询选修了课程名为“数据库技术”的学生的学号和姓名。

(8)建立“计算机科学与技术”专业选修了“1001”号课程的学生的视图。 3.设学生课程数据库中有三个关系:

学生关系S(S#,SNAME,AGE,SEX)

7

本文档为精品文档,如对你有帮助请下载支持,如有问题请及时沟通,谢谢支持! 学习关系SC(S#,C#,GRADE) 课程关系C(C#,CNAME)

其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。 用SQL语句表达下列操作

(1)检索选修课程名称为“MATHS”的学生的学号与姓名

(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄 (4)检索选修了全部课程的学生姓名

(5)检索至少选修了课程号为“C1”和“C3”的学生学号 (6)检索平均成绩超过80分的学生学号和平均成绩 (7)检索选修了全部课程的学生姓名

(8)检索选修了三门课以上的学生的姓名和年龄 4.设学生-课程数据库中包括三个表:

学生表:Student (Sno,Sname,Sex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade)

其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。 试用SQL语言完成下列(3)~(6)项操作: (1)查询选修了“3001”号课程的学生的学号。

(2)查询选修课程包括“1042”号学生所学的课程的学生学号

(3)查询全体女生情况,查询结果按所学专业升序排列,同一专业的学生按年龄降序排列。 (4)查询既选修了“1001”号课程又选修了“3001”号课程的学生的学号。 (5)将一个新学生记录(学号:,姓名:周平;性别:男;年龄:18岁)插入到Student

中。

(6)将全体学生“数据库技术”课程的成绩置零。

(8)设某一查询操作用SQL语言表示如下,请写出其对应的查询要求表示

SELECT Sname

FROM Student,SC

WHERE Student.Sno = SC.Sno AND SC.Cno = ‘1001’ AND Grade >90;

5.现有关系数据库如下:

学生(学号,姓名,性别,专业,奖学金) 课程(课程号,名称,学分) 学习(学号,课程号,分数) 用SQL语言实现下列小题:

(1)检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数; (2)检索学生“黎明”所学课程中有不及格课程的课程号、名称和分数;

(3)检索获得奖学金、同时又有不及格成绩的学生信息,包括学号、姓名和专业; (4)检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业。 (6)检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业; (7)对成绩有过不及格的学生,如果已经获得奖学金的,将奖学金减半;

(8)定义获得奖学金、同时又有不及格成绩的学生信息视图AAA,包括学号、姓名、

专业。

6.现有如下关系:

8

本文档为精品文档,如对你有帮助请下载支持,如有问题请及时沟通,谢谢支持! 职工(职工号,姓名,性别,职务,家庭地址,部门编号) 部门(部门编号,部门名称,地址,电话)

保健(保健卡编号,职工号,检查身体日期,健康状况) 用SQL语言实现下列(4)~(6)小题: (1)查找所有女科长的姓名和家庭地址;

(2)查找“办公室”的科长姓名和家庭地址;

(3)查找“财务科”中健康状况为“良好”的职工姓名和家庭地址。 (4)删除职工关系表中职工号为“3016”的记录;

(5)将职工号为“3061”的职工的健康状况改为“一般”; (6)建立健康状况为“差”的职工的视图。

(8)设某一查询操作用SQL语言表示如下,请写出其对应的语言表示

SELECT 姓名,性别,职务 FROM 职工,部门

WHERE 职工.部门编号 = 部门.部门编号 AND 部门.部门名称 = ‘人事

科’;

六、综合题 2 实体集R(A#,A1,A2,A3),其中A# 实体集S(B#,B1,B2),其中B#

从实体集R到S存在多对一的联系,联系属性是D1 (1)设计相应的关系数据模型;

(2)如果将上述应用的数据库设计为一个关系模式,如下: RS(A#,A1,A2,A3,B#,B1,B2,D1)

指出该关系模式的码。

(3)假设上述关系模式RS上的全部函数依赖为:A1→A3

指出上述模式RS最高满足第几范式?(在1NF~BCNF之内)为什么? (4)如果将上述应用的数据库设计为三个关系模式,如下: R1 (A#,A1,A2,A3) R2 (B#,B1,B2) R3 (A#,B#,D1)

关系模式R2是否一定满足第3范式?为什么? 3.现有如下关系模式:

借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期) (1)写出该关系模式的主码。 主码:(图书编号,读者编号)

(2)该关系模式中是否存在部分函数依赖?如果存在,请写出两个。 存在 (图书编号,读者编号)→书名 (图书编号,读者编号)→作者名

(3)该关系模式最高满足第几范式?并说明理由。 1nf;因为有部分函数依赖

(4)如何分解该关系模式,使得分解后的关系模式均满足2NF? 借阅(图书编号,读者编号,借阅日期,归还日期) 图书(图书编号,书名,作者名,出版社) 读者(读者编号,读者姓名)

9

本文档为精品文档,如对你有帮助请下载支持,如有问题请及时沟通,谢谢支持! 5.假设教学管理规定:

①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。 要求:(1)根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;

(2)试将ER模型转换成关系模型,并指出每个关系模式的主键和外键。

6.某公司的业务规则如下:

(1)每位职工可以参加几个不同的工程,且每个工程有多名职工参与; (2)每位职工有一个职位,且多名职工可能有相同的职位;

(3)职位决定小时工资率,公司按职工在每一个工程中完成的工时,计算酬金; (4)职工的属性有职工号、姓名、职位和小时工资率; (5)工程的属性有工程号和工程名称。 试根据上述业务规则:①设计ER模型;

②将ER模型转换成关系模式集,并规范化为3NF。

10