1、_2019数据库期末复习内容1.选择题(1)(数据库)是存储在计算机内结构化的数据的集合(2)下述关于数据系统正确的描述是(数据库系统减少了数据冗余)。(3)数据库(DB)、与数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( DBS 包含DB 和DBMS )。(4)数据库管理系统的工作不包括(为定义的确据库提供操作系统)。(5)用于对现实世界进行描述的工具是(数据模型)。(6)在数据库的三级模式结构中,描述数据库中全局逻辑结构和特征的是(模式 )。(7)E-R图用来建立数据库的(概念模型 )。(8)下列模型中不能直接描述实体间多对多的联系的是(关系模型 )。(9)数据模型的三个要
2、素是(数据结构、数据操作、完整性约束)(10)数据库的设计人员和用户之间沟通信息的桥梁是(实体联系图)。(11)数据的独立性分为(逻辑独立性和物理独立性)。(12)数据库通常是根据(数据模型)来分类的。(13)关系数据库系统能实现专门的关系运算,包括(选择、投影、连接、除)。(14)在关系模型中,下述关于关键字的说法正确的是(可以由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 )。(15)被称为关系的两个不变性,由关系数据库系统自动支持的是(实体完整性和参照完整性)。(16)在关系中不能出现相同元组的约束是通过(主码)来实现。(17)下列数据模型中,数据独立性最高的是(关系模型).(
3、18)规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:每一属性都是(不可分解的 )。(19)关系数据库规范化是为解决关系数据库中(插入异常、删除异常和数据冗余)问题而引入的。(20)在关系数据库中,任何二元关系模式的最高范式必定是( BCNF )(21)若属性X函数依赖于属性Y时,则属性X与属性Y之间的关系是 (多对一 )。(22)设有关系模式:部门(部门代码,部门名称,部门成员,部门经理)由于其中( 部门成员 )属性存在,使该关系不属于第一范式。(23)若关系模式R中的属性都是主属性,则R最高属于( 3NF ) 。(24)若要彻底消除插入异常和删除异常
4、,关系模式最低要属于(BCNF)。(25)关系模式分解的无损连接和保持函数依赖两个特性之间的联系是(没有必然联系)。(26)关系模式中数据依赖的存在,可能会导致成立蕴涵后者数据插入异常,这是指(该插入的数据未被插入 )。(27)设要对关系模式R(学号,姓名,课程代码,课程名,课程成绩)进行分解,将其规范化到3NF,下列(B)是正确的规范化结果。B.R1(学号,姓名) R2(课程代码,课程名)R3 (学号,课程代码,课程成绩)(28)有如下关系R(是BCNF)。 (29)对用户访问数据库的权限加以限定是为了保护数据库的(安全性) 。(30)下面(可移植性)不是数据库系统必须提供的数据控制功能。(
5、31)数据库系统中,对存取权限定义为(授权) 。(32)在数据库的安全性控制中,为了保证用户只能存取他有权存取的数据,在授权的定义中,数据对象的 (范围越小),授权子系统就越灵活。(33)数据库安全性遭到破坏的情况属于(非法用户读取数据库中的数据 ) 。(34)数据库的(完整性) 是指数据的正确性和相容性。(35)数据完整性保护中的约束条件是指(值的约束和结构的约束 )。(36)实体完整性和参照完整性属于(静态关系约束 ) 。(37)数据类型、取值范围、空值约束属于(静态列级约束 )。(38)“断言”是数据库系统采用的(完整性约束)。(39)脏数据的读出是(并发性) 遭到破坏的情况。(40)S
6、QL中ROLLBACK语句的主要作用是(事务卷回)。(41)SQL中提供的(GRANT)语句用于实现数据存取的安全控制 。(42)SQL中COMMIT语句的主要作用是(提交事务 )。(43)解决并发操作带来的数据不一致性问题时普遍采用(封锁)。(44)不允许其它事务对这个锁定目标再加任何类型的锁是(排他锁)。填空题:1. 三级模式之间的两层映像保证了数据库系统中的数据能够具有较高的 逻辑独立性、物理独立性。2. 关系的完整性约束条件包括三大类:实体完整性、参照完整性、用户定义的完整性。3. 关系代数运算中,专门的关系运算有 投影、选择、连接、除。4. 数据库是长期存储在计算机内、有组织的、可共
7、享的数据集合。5数据模型分成两个不同的层次。概念模型从用户的观点对现实世界的信息建模,主要用于数据库设计。数据模型从计算机系统的观点,对信息建模。6. 常用的数据模型有层次模型、网状模型和关系模型三种。2.判断题(1)在文件系统阶段,数据的独立性差。 (2)对于数据库系统,负责定义数据库内存,决定存储结构和存储策略及安全授权等工作的是应用程序员。(1)假设一个仓库可存放多种商品,同种商品只能存放在一个仓库中,则从仓库到商品的联系是多对一的联系。 (2)在数据库系统的模式结构中,外模式有且仅有一个。(3)数据独立性是指应用程序与数据之间相互独立,不受影响。(1)一个关系模型的逻辑结构是一张二维表
8、,表中的一行即为一个属性,表中的一列即为一个元组。 (2)当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而保证了程序与数据的物理独立性。( )(1)相对于非关系模型,关系模型的缺点之一是存取路径对用户透明,需进行查询优化。 (2)关系模型的三个组成部分,不包括完整性约束。1. 数据库物理存储方式的描述称为内模式。 2. 在数据库三级模式间引入二级映象的主要作用是提高数据与程序的安全性。 3. 关系模型是数据模型,而网状模型不是数据模型。 4. 同一关系模型的任意两个元组值不能完全相同。5. 在关系中能唯一标识元组的属性集的是主码。 (1)属于BC范
9、式的关系模式中已经完全消除了插入异常和删除异常。(2)在关系模式R(A,B,C,D)中,有函数依赖集F=B C ,C D,D A,则R能达到3NF 应用题设有如下教学环境:一个班级有多名学生,一个学生只属于一个班级。一个学生可以选修若干门课程,一门课程只有一个教师主讲。每位教师属于一个教研室,一个教研室有若干位教师。请画出E-R图。关系代数练习给定如下关系:S(S#,SN,SA,SD),S#表示学号,SN表示姓名,SA表示年龄,SD表示所在系。C(C#,CN,PC#),C#表示课程号,CN表示课程名,PC#表示先修课程号。SC(S#,C#,G),S#、C#含义同上,G表示成绩。请用关系代数完成
10、如下查询操作:(1)查询选修课程号为C1、成绩为A的所有学生姓名。(2)查询年龄为23岁的学生所选修的课程名。(3)查询选修 “数据库原理”课程的学生姓名。(4)查询选修所有课程的同学姓名。(5) 查询选修了先修课程号PC为6的课程学生学号。解:(1) SN(S S#(C#=“C1”G=”A” (SC)) (2) CN(C C#(SC S# (SA=23 (S) (3)SN(S S#(SC C#(CN=数据库原理(C) (4) SN(S S#( (SC)(C#(C))(5) S#(SC C#(PC=6(C)=给定如下关系:S(S#,SN,SA,SD),S#表示学号,SN表示姓名,SA表示年龄,
11、SD表示所在系。C(C#,CN,PC#),C#表示课程号,CN表示课程名,PC#表示先修课程号。SC(S#,C#,G),S#、C#含义同上,G表示成绩。请用关系代数完成如下查询操作:(1)查询所有小于20岁学生的学号、姓名。(2)查询计算机系的学生所选修的课程名。(3)查询选修 “数据库原理”课程的学生姓名。(4)查询选修所有课程的同学姓名。(5)查询选修了先修课程号PC为6的课程学生学号。(1) S# ,SN ( SA=20 (S)(2) CN(C C#(SC S# ( SD=计算机 (S)或者:CN (SD=计算机(C SC S) )(3)SN(S S#(SC C#(CN=数据库原理(C)
12、 或者: SN ( CN=数据库原理(C SC S) )(4) SN(S S# (SC(C#(C))或者:SN(S S# (SCC))(5) S#(SC C#(PC=6(C)或者: S# ( PC=6(C SC) )设职工社团数据库有三个基本表: 职工(职工号,姓名,年龄,性别,工资,住址); 社会团体(编号,名称,负责人,活动地点); 参加(职工号,编号,参加日期)。用关系代数表达式实现下列15小题: 1.查询年龄大于20岁的职工姓名和性别。2.查询参加社会团体编号为101的所有职工的姓名和年龄。3.查询负责人为刘刚,活动地点在北二区小礼堂的社会团体的名称。4查询在西三环居住、工资在1000
13、元以上职工参加社团的编号。5查询参加健美社团、活动时间在周六的职工的姓名和职工号。1. 姓名,性别(年龄20(职工) 2. 姓名,年龄 (编号=101 (职工参加)3. 名称(负责人=刘刚活动地点=北二区小礼堂(社会团体)4. 编号 (住址=西三环工资1000 (职工参加)5. 姓名,职工号 (名称=健美参加时间=周六 (职工参加社会团体)用SQL语句实现下列612小题: 6.定义职工表,职工号不能为空,其值唯一。答案. CREAT TABLE职工(职工号CHAR(l0)NOT NULL UNIQUE,姓名CHAR(8)NOT NULL,年龄SMALLINT,性别CHAR(2);7.建立视图:
14、参加人情况(职工号,姓名,社团编号,社团名称,参加日期)答案. CREAT VIEW参加人情况(职工号,姓名,社团编号,社团名称,参加日期)AS SELECT参加职工号,姓名,社会团体编号,名称,参加日期FROM职工,社会团体,参加WHERE职工职工号=参加职工号AND参加编号=社会团体编号;8. 查找参加唱歌队或篮球队的职工号和姓名。答案. SELECT职工号,姓名FROM 职工,社会团体,参加WHERE职工职工号=参加职工号AND参加编号=社会团体编号AND社会团体名称IN(唱歌队,篮球队);9.求每个社会团体的参加人数。答案: SELECT 编号, COUNT(职工号)FROM 参加GR
15、OUP BY编号;或者: SELECT 社会团体.名称, COUNT(职工号)FROM 参加, 社会团体WHERE社会团体.编号=参加. 编号GROUP BY 名称;10. 查询名字中第二个字为“明”字的职工的姓名和职工号。答案: SELECT职工号,姓名 FROM 职工 WHERE 姓名 LIKE _ _阳%;11将职工号=6887的年龄改为45岁。答案: UPDATE 职工 SET 年龄=45 WHERE 职工号=6887 ;12. 把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他再将此权力授予其他用户。答案:. GRANT select,insert ,de
16、lete ON TABLE 社会团体,参加 TO 李平 WITH GRANT OPTION ;现有关系数据库如下学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用关系代数表达式实现下列12小题:1. 检索“英语”专业学生的学号、姓名、性别。2.检索课程号为“10031”,课程成绩高于90分的所有学生的学号。1. 学号,姓名,性别(专业=英语(学生)2. 学号 (分数90课程号=10031(学习)用SQL语言实现下列310小题:3. 检索姓王学生的姓名、专业。答案:SELECT姓名,专业FROM 学生 WHERE 姓名 LIKE“王%” ;4. 检索奖学
17、金在200元以下的学生姓名和专业。答案:SELECT姓名,专业FROM 学生WHERE 奖学金26 and ss=男;(3) 查询全体学生的姓名和出生年份;select sn, 2018-sa from st;(4) 查询年龄18到30岁之间的学生姓名和年龄;select sn, sa from st where sa between 18 and 30;(5) 查询所有姓孙的学生学号、姓名; select sno,sn from st where sn like 孙%;(6)查询男女学生的平均年龄;select ss , avg(sa) from st group by ss;(7)查询学习
18、5号课程的最高分和最低分。select max(score),min(score) from sc; 综合题:某个学校有若干个系,每个系有若干个学生,开设若干个课程,每门课程有若干学生选修,某一门课可以为不同的系开设。用E-R图画出该学校的概念模型。描述学生的属性有:学号、姓名、出生日期、系号、班号;描述系的属性有:系名、系号、系办公室地点、人数;描述学校的属性有:学校名、成立年份、地点;描述课程的属性有:课程号、课程名、学分。(1) 设计学校的E-R图。(2)将该E-R图转换为关系模式。关系模型如下。学生(学号、姓名、出生日期、系号、班号)。系(系名、系号、系办公室地点、人数)。学校(学校名
19、、成立年份、地点)课程(课程号、课程名、学分)(3)指出转换结果中每个关系模式的候选码。学生关系的主码:用户名 系的主码:系号 学校主码:学校名 课程主码:学校名有三个关系如下(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex;(2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。1.定义学生关系Student,学号不能为空,其值唯一,姓名值也唯一,学号为主码;CREATE TABLE Student (Sno CHAR(10)NOT NULL UNIQUE
20、PRIMARY KEY, Sname CHAR(30) UNIQUE, Sage INT , Ssex CHAR(2) ;2. 查询1号课程的平均成绩;SELECT AVG(Grade)FROM SC WHERE Cno=1;3. 查询学号“95001”的学生选修全部课程号和成绩;SELECT Cno,Grade FROM SC WHERE Sno=95001;4. 查询年龄在19-20岁之间的男生和女生的数量;SELECT Ssex,COUNT(Sno) FROM Student WHERE Sage19 and Sage20 GROUP BY Ssex;或者:WHERE Sage BETW
21、EEN 19 and 20有三个关系如下:(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex;(2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。1.查询 “软件工程”课程的平均成绩;SELECT AVG(Grade) FROM Course,SC WHERE Cname=软件工程 AND SC.Cno=Course.Cno;或者:SELECT AVG(Grade) FROM SC WHERE Cno IN (SELECT Cno FROM Course W
22、HERE Cname=软件工程)2.查询名字中第2个字为阳字的学生的姓名和学号。SELECT Sname,SnoFROM StudentWHERE Sname LIKE _ _阳%;3.查询刘阳同学所选修的课程号和课程名SELECT Course.Cno,Cname FROM Course WHERE Cno IN (SELECT Cno FROM SC WHERE Sno IN (SELECT SnoFROM Student WHERE Sname= 刘阳);或者:SELECT Course.Cno,Sname FROM Student,Course,SC WHERE Sname= 刘阳 A
23、ND SC.Cno=Course.Cno AND Student.Sno=SC.Sno;4查询学生数据库课的成绩,输出学生姓名和成绩,按成绩排序(降序) 。SELECT Sname,Grade FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno AND Course.Cname=数据库 ORDER BY Grade DESC;5.检索没有成绩的学生姓名和课程号。Select Sname,Cno From Student,SC Where Grade is NULL AND Student.Sno=SC.Sn
24、o 有三个关系如下(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex;(2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。使用SQL语句实现:1. 为学生表建立一个聚簇索引STUNO,按学号升序和年龄降序。CREAT CLUSTER INDEX Stuon ON Student(SNO ASC,SAGE DESC);2. 查询王寒同学没有选修的课程的课程号SELECT Cno FROM Course WHERE Cno NOT IN (SELECE Cno
25、FROM SC, Student WHERE SC.Sno=Student.Sno AND Sname=”王寒”) ;3. 创建一个成绩高于90分的学生视图S1 ,包括学生学号、出生年份、所选课程号、成绩。CREAT VIEW S1(Sno,Sbirth,Cno,Grade ) AS SELECT Sno,2018-Sage,Cno, Grade FROM Student,SC WHERE Student.Sno=Sc.Sno AND Grade904. 向课程表中增加属性任课教师(Tname),类型是字符型ALTER TABLE Course Add Tname char(20)5.将课程号
26、为003 课程成绩增加10分UPDATE SC SET Grade= Grade+10 WHERE Cno=003 有三个关系如下(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex;(2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。 下面使用关系代数表达式实现:1. 查询课程名为数据库原理,授课教师为刘洋的课程号。cno(cname=数据库原理 Cteacher=刘洋(Course)2. 查询既选修了课程1又选修了课程3的学生学号,姓名。Sno,Sname
27、 (cno=“1” (StudentSC) Sno,Sname (cno=“2” (StudentSC) 使用SQL语句实现:3. 将数据库原理课程的成绩提高10分。UPDATE SC SET GRADE=GRADE+10 where 数据库原理=(select Cname from Course where Co=SC.cno);4. 查询至少2门课在80分以上的学生学号及课程数SELECT Sno, COUNT(*) FROM SC WHERE Grade=80 GROUP BY Sno HAVING COUNT(*)=2; 5.查询“C语言_课程设计”的课程号SELECT Cno FRO
28、M Course WHERE Cname Like “C语言_程序设计”ESCAPE;有四个关系如下:(1)S(sno,sname,city);(2)P(pno,pname,color,weight); (3)J(jno,jname,city) ; (4)SPJ(sno,pno,jno,qty) ;其含义见教材P64。 下面使用关系代数表达式实现:1. 查询供应红色零件的供应商号。Sno (color=“红” (SSPJ P)2.查询北京的供应商供应工程j1零件的供应商号及数量。 sno,qty (city=“北京” jno=“j1” (SSPJ P) 使用SQL语句实现:3、建立上述的供应情
29、况表SPJ。Creat table SPJ (sno char(5) not null unique, pno char(5) not null unique, jno char(5) not null unique, qty int );4、查询为上海的工程提供零件的供应商号。SELECT distict sno FROM SPJwhere jno in (select jno from J where city=“上海”);或者:SELECT distict sno FROM SPJ,J where city=“上海” and J.jno=SPJ.jno; 5.创建北京的工程号及名称视图J
30、-BJ 。CREATE VIEW J-BJ AS SELECT Jno,JnameFROM JWHERE city=北京;设有如下所示的关系R。请回答下列问题(1) R中存在那些函数依赖?(2分)职工号职工名,职工号单位号,职工号单位名,单位号单位名(2) 关系模式R的侯选码是什么?(1分)关系模式R的侯选码是职工号和职工名。(3) 试问关系模式R最高已经达到第几范式?为什么?(1分)关系模式R是2NF,因为在关系模式中,存在非主属性对候选码的传递函数依赖:职工号单位名。(4)如果R不属于3NF,请将R分解为3NF。并指出分解后各关系的主码。(2分)规范的关系模式为R1和R2。R1(职工号,职
31、工名,年龄,性别,单位号),R1的主码为职工号。R2(单位号,单位名),R2的主码是单位号。1. 某大学科研处为管理教师发表论文情况建立数据库管理系统,需要下述信息。教师:教师编号,姓名,职称,电话,单位编码。单位:单位编码,单位名称。论文:论文编码,论文名称,期刊名称,发表日期,期刊级别,检索类别。其中,一个单位有多名教师,一个教师只属于一个单位。一个教师可以发表多篇论文,一篇论文有多个作者。此外,需要记录作者在论文中的名次。(1) 设计该数据库管理系统的E-R图。(2) 将该E-R图转换为关系模型结构。教师(教师编号,姓名,职称,电话,单位编码)单位(单位编码,单位名称)论文(论文编码,论
32、文名称,期刊名称,发表日期,期刊级别,检索类别)发表(论文编号,教师编号,排列名次)(3)指出转换结果中每个关系模式的候选码。教师关系的主码:教师编号 单位关系的主码:单位编号 论文关系的主码:论文编号 发表关系的主码:论文编号,教师编号R: S:ABCABC123345345134178276R S RBSBR.AR.BR.CS.AS.BS.C12334512313412327645276R-S RSRS B 5(R),3,2(S)ABCABCABCABCCB123345123123541783453454317867134276RSR.AR.BR.CS.AS.BS.C123345123134123276345345345134345276178345178134178276R SA BC345关系运算如下:RABC123456789SABC123346569RSABC123456789346569WDE7548R- SABC456789RWABCDE123751234845675456487897578948RSABC123C,A( R )CA316395Welcome ToDownload !欢迎您的下载,资料仅供参考!精品资料
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100