数据库练习-(答案)(共14页).doc

上传人:飞****2 文档编号:13598088 上传时间:2022-04-30 格式:DOC 页数:14 大小:147.50KB
返回 下载 相关 举报
数据库练习-(答案)(共14页).doc_第1页
第1页 / 共14页
数据库练习-(答案)(共14页).doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《数据库练习-(答案)(共14页).doc》由会员分享,可在线阅读,更多相关《数据库练习-(答案)(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上一、 填空题1. 数据管理技术共经历了三个阶段:人工管理阶、 、 。 文件管理阶段、数据库系统阶段2. 事务具有四个基本特性,分别是: 、一致性、 和持续性。原子性、隔离性3. 关系模型的三类完整性规则:实体完整性规则、 、 和 。参照完整性规则、用户自定义的完整性4. 两个实体之间的联系可分为:一对一联系(1:1)、 和 三类。一对多联系(1:n)、多对多联系(n:m)5. 数据库领域中最常用的数据模型为:层次模型、 、 和面向对象模型。网状模型、关系模型6. 数据库设计过程是 和 的密切结合。结构设计(或数据设计)、行为设计(或处理设计)7. 数据库的完整性是指数

2、据的 和 。正确性、相容性8. 事务故障、系统故障的恢复是由 完成的,介质故障是由 完成的。系统自动、DBA执行恢复操作过程二、单选题1. 下面哪个并非DBMS必须提供的数据保护能力。A安全性B并发控制C完整性D可移植性D2. 在数据库中有如图3.1所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作不能执行。A从职工表中删除行(025,王芳,03,720)B将行(005,乔兴,04,750)插入到职工表中C将职工号为“001”的工资改为700D将职工号为“038”的部门号改为03B3. 数据库管理系统的存取方法通常有三类,下面哪个不是常用的存取方法。AB+树索引方法B聚簇方

3、法C阵列方法DHASH方法C4. SQL中,与“IN”等价的操作符是A=ANY BANY C=ALL DALLA5. 文件系统与数据库系统的本质区别是。A数据共享 B数据独立 C数据结构化 D数据冗余 .C6. 从-图导出关系模式时,如果两实体间的联系是m:n,下列说法中正确的是。A将m方码和联系的属性纳入n方的属性中B将n方码和联系的属性纳入m方的属性中C在m方属性和n方属性中均增加一个表示级别的属性D增加一个关系表示联系,其中纳入m方和n方的码D7. 设关系R(A,B,C)和S(B,C,D),下列关系代数表达式不成立的是。A BC D A8. 检索选修4门以上的课程的学生总成绩(不统计不及

4、格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是:A SELECT S#, SUM (GRADE)FROM SCWHERE GRADE=60GROUP BY S#ORDER BY 2 DESCHAVING COUNT (*) =4B SELECT S#, SUM (GRADE)FROM SCWHERE GRADE=60HAVING COUNT (*) =4GROUP BY S#ORDER BY 2 DESCC SELECT S#, SUM (GRADE)FROM SCWHERE GRADE=60GROUP BY S#HAVING COUNT (*) =4ORDER BY 2

5、DESCD SELECT S#, SUM (GRADE)FROM SCWHERE GRADE=60ORDER BY 2 DESCGROUP BY S#HAVING COUNT (*) =4C三、是非题(正确用表示,错误用表示)1( ) 在关系型数据库中,实体及实体之间的联系都用表来表示。2( ) 模式是稳定的,实例是相对变动的。3( ) 数据库的物理独立性是由外模式和模式之间的映象提供的。4( ) 分布式结构和客户/服务器结构是互不相容的体系结构。5( ) 笛卡尔积是专门的关系运算。6( ) 包含在任何一个候选码中的属性叫做主属性。7( ) 插入异常是指表中插入了不该插入表的数据。8( ) 范

6、式之间的关系为:1NF2NF3NFBCNF4NF5NF。9( ) Armstrong公理推理规则中的分解规则为:若XY,XZ,则XYZ。10( ) 一般以中层数据流图作为设计分E-R图的依据。四、简答题1 指出下列缩写的含义:DD DBMS DML DBA DDL 数据字典 数据库管理系统 数据操作语言 数据库管理员 数据定义语言2 举例说明关系参照完整的含义。假设有如下所示的两个关系表,在学生表中,学号是主码,班号是班级表的外码。根据关系参照完整性规则,学生表中班号的值或者为空或者在班级表中能够找到。 学生(学号,姓名,性别,班号) 班级(班号,班名)3 简述数据库设计的六个阶段及主要内容。

7、1) 需求分析过程2) 概念结构设计(设计E-R图)3) 逻辑结构设计(E-R图向关系模式的转换)4) 物理结构设计5) 数据库的实施6) 数据库的运行与维护4 什么是数据库的安全性?有哪些安全措施?数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄露,非法更改和破坏。数据库安全性控制的方法主要有:l 用户标识与系统鉴定DBMS都要提供一定的方式供用户标识自己。在存取数据库的数据之前,用户首先要自我标识,系统对用户的标识进行核定,通过鉴定后,才提供数据库的使用权。常用的标识方法是用户名和口令字。l 存取权限的控制用户被获准使用数据库之后,还要根据预定的用户权限进行存取控制,如某个用户

8、只能读哪些数据库表,某个用户只能写哪些数据库表等。l 数据加密以加密的方式存储数据。五、综合设计题1SQL的数据定义请按照符号“-”后面的说明将下面的SQL语句中加下划线的部分补充完整,以完成关系模式的创建。create table S (SNo char(4) (1) , -(1)将学号SNo定义为主码SName varchar(40) (2) , -(2)将学生姓名SName定义为非空列 SAge varchar(20);create table C(CNo char(4) primary key, CName varchar(40) (3) , -(3)将课程名称CName定义为非空且唯

9、一的列CCredit numeric(7,2) (4) -(4)规定学分CCredit非空且必须大于0);create table SC(SNo char(4) references S(sNo), CNO char(4) references C(cNo), Grade numeric(11,2) , (5) , -(5)将课程号Sno和CNo定义为主码check(Grade is null or Grade=0); (1) primary key(2) not null(3) not null unique,(4) check(CCredit is null or CCredit=0)(5

10、) primary key(SNo,CNo)2设有一个设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO, SNAME, STATUS, CITY);P(PNO, PNAME, COLOR, WEIGHT);J(JNO, JNAME, CITY);SPJ(SNO, PNO, JNO, QTY); /供应数量(QTY)试用关系代数、SQL完成如下查询:(1) 求供应工程J1零件P1的供应商号码SNO; (2) 求供应工程J1零件为红色的供应商号码SNO; (3) 求至少用了供应商S1所供应的全部零件的工程号JNO。答:(1)关系代数: SQL:select SNO from S

11、PJ where PNO=P1 and JNO=J1(2) 关系代数: SQL:select SNO from SPJ ,Pwhere JNO=J1 and COLOR=红 and SPJ.PNO=P.PNO(3) 关系代数: 查询供应商S1提供但未被工程(J.JNO)使用的零件SELECT * FROM P WHERE PNO NOT IN (SELECT PNO FROM SPJ WHERE SPJ.JNO=J.JNO) AND PNO IN (SELECT PNO FROM SPJ WHERE SNO=S1)若上述查询为空,则表示工程使用了供应商S1提供的所有零件SELECT JNO F

12、ROM J WHERE NOT EXISTS (SELECT * FROM P WHERE PNO IN (SELECT PNO FROM SPJ WHERE SPJ.JNO=J.JNO) AND NOT IN (SELECT PNO FROM SPJ WHERE SNO=S1) )3设有关系模型R(U,F),其中U=ABCDEG,F=BGC,BDE,DGC,DAGCB,AGB,BD (1)求出关系模式的候选码。(2)此关系模式最高属于哪级范式。(1)AG AG+=AGBDCE(2)2NF(1)求解过程:a) 属性分类l L类属性:AGl N类属性:无l R类属性:El LR类属性:BCDb)

13、 求AG+=AGBDCE=Uc) AG是惟一的候选码(2)求解过程:a) 所有的属性均不可分,R1NF;b) 所有的非主属性均完全依赖于主码,R属于2NF;c) 存在AGB,BD传递函数依赖,R不属于3NF4根据下表回答问题(1)下表给出的关系R为第几范式?(2)是否存在操作异常?若存在,则将其分解为高一级范式。(3)分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?解:它为1NF。因为该关系的候选码为(工程号,材料号),而非主属性“开工日期”和“完工日期”部分函数依赖于候选码的子集“工程号”,即:它不是2NF。它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺

14、少码的一部分(材料号)而不能进入到数据库中,出现插入异常。若某工程下马,则删去该工程的操作也可能丢失材料方面的信息。将其中的部分函数依赖分解为一个独立的关系,则产生如下所示的两个2NF关系模式:分解后,新工程确定后,尽管还未用到材料,该工程数据可在关系R2中插入。某工程数据删除时,仅对关系R2操作,也不会丢失材料方面的信息。5设一个海军基地要建立一个舰队管理信息系统,它包括如下两个方面的信息:n 舰队方面舰队:舰队名称、基地地点、舰艇数量舰艇:编号、舰艇名称、舰队名称n 舰艇方面舰艇:舰艇编号、舰艇名、武器名称武器:武器名称、武器生产时间、舰艇编号官兵:官兵证号、姓名、舰艇编号其中,一个舰队拥

15、有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一个武器可安装于多艘舰艇上;一艘舰艇有多个官兵,一个官兵只属于一艘舰艇。请完成如下设计:() 分别设计舰队和舰艇两个局部-图。 () 将上述两个局部-图合并为一个全局-图。() 将该全局-图转换为关系模式,指出每个关系模式的主码和外部码。() 合并时是否存在命名冲突?如何处理?答:()舰队和舰艇两个局部-图分别如图1和图2所示。 图1 舰队局部-图图2 舰艇局部-图()将图1和图2所示出两个局部-图合并为如图3所示的全局-图。图3 全局-图()转换的关系模式如下:舰队(舰队名称,基地地点)舰艇(舰艇编号,舰艇名称,舰队名称,舰艇数量) F

16、K=舰队名称官兵(官兵证号,姓名,舰艇编号) FK=舰艇编号武器(武器名称,武器生产时间)安装(舰艇编号,武器名称) FK=舰艇编号 FK=武器名称()存在冲突,表现在:“舰艇编号”和“编号”存在异名同义,合并时统一为“舰艇编号”。“舰艇名”和“舰艇名称”存在异名同义,合并时统一为“舰艇名称”。6学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学生,教师有教师号、教师名和职称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,每个教师可参加多个项目,一个项目由多人合作,且责任轻重有个排名,项目有项目号、名称和负责人;学生有学号、姓名、

17、年龄、性别,每个学生可以同时选修多门课程,选修有分数。(1)请设计此学校的教学管理的E-R模型。(2)将E-R模型转换为关系模型。答:(1)请设计此学校的教学管理的E-R模型。分数排名(2)将E-R模型转换为关系模型:系 (系号,系名,系主任)教师 (教师号,教师名,职称,系号)学生(学号,姓名,年龄,性别,系号)项目(项目号,名称,负责人)课程(课号,课程名,学分,教师号)选修(课号,学号,分数)负责(教师号,项目号,排名)7关于教学数据库的关系模式如下:STUDENTS(ID,NAME,AGE,SEX)SUBJECTS(SUBID,SUBNAME,GRADE)GRADE(ID,SUBID,

18、GRADE)其中,STUDENTS表示学生,它的各属性依次为学号、姓名、年龄和性别(其值可取“男”和“女”);SUBJECTS表示课程,它的各属性依次为课程号、课程名和成绩;GRADE表示学生选课及其成绩,它的各属性依次为学号、课程号和分数。试用SQL语句完成下列查询:(1) 检索年龄大于22岁的男学生的学号和姓名。(2) 检索所有学生选修课成绩表,其列包括学号、姓名、学科名、成绩,按学号+学科名排序。(3) 检索至少选修两门课程的学生学号和姓名。(4) 检索所有学生选修课平均成绩表,其列包括学号、姓名、平均成绩,按学号排序。(5) 仅检索平均成绩大于等于60分的男学生选修课的平均成绩表,其列

19、包括学号、姓名、平均成绩,按学号排序。1)SELECT ID,Name From Students WHERE AGE22 AND SEX=男2)SELECT a.ID,a.NAME,b.SUBNAME,c.GRADE FROM STUDENTS a,SUBJECTS b,GRADE cWHERE a.ID=c.ID AND b.SUBID=c.SUBID ORDER BY a.ID,b.SUBNAME3)SELECT a.ID,a.NAME,AVG(b.GRADE) FROM STUDENTS a,SUBJECTS b,GRADE cWHERE a.ID=c.ID AND b.SUBID=c

20、.SUBID GROUP BY a.ID,a.Name ORDER BY a.ID4)SELECT a.ID,a.NAME,AVG(b.GRADE) FROM STUDENTS a,SUBJECTS b,GRADE cWHERE a.ID=c.ID AND b.SUBID=c.SUBID GROUP BY a.ID,a.Name HAVING AVG(b.GRADE)=60 ORDER BY a.ID8根据要求写出下列SQL语句(1) 建立数据库:数据库名enterprice,要求对应数据库文件为d:enterpricedbenterprice.mdb。(2) 建立数据表:products其字

21、段依次为编号id(主键),产品名称name,产品价格price,产品平均使用年限lifespan,根据列含义,确定其数据类型。(3) 插入行:用insert语句插入行(“BX001”,“TV30”,4300,10)(4) 更新行:把所有产品名称中含“TV”的产品平均使用年限增加5。(5) 删除行:删除id中含“DC”,且产品平均使用年限小于5的所有行。1) CREATE DATABASE enterpricee ON PRIMARY (NAME=enterprice,FILENAME= d:enterpricedbenterprice.mdb)2) CREATE TABLE products(

22、 ID CHAR(10) PRIMARY KEY, NAME VARCHAR(20), PRICE DECIMAL(10,2), LIFESPAN INT)3) INSERT INTO products (ID,NAME,PRICE,LIFESPAN)VALUES(BX001,TV30,4300,10)4) UPDATE products SET LIFESPAN=LIFESPAN+5 WHERE NAME LIKE TV%5) DELETE FROM products WHERE ID LIKE %DC% AND LIFESPAN59一个小区有若干幢大楼,一个大楼有若干层,每一层有若干成套居

23、室,一个家庭包含若干居民成员,其中有一个为户主,一个家庭可能拥有若干居室,整个小区有一个业主委员会负责人,一个成套居室可以有若干产权人(也是居民),一个居民可以同时为多套居室的产权人。完成下列各题:a) 画出E-R图,对每一个实体,至少写出3个或3个以上属性,其中必须包含码。(居民、户主、产权人和业主委员会负责人均为居民实体)。b) 根据E-R图,写出符合第三范式的所有关系。c) 指出每一个关系中的码和外码。d) 指出每一个关系中的完全函数依赖关系。a)家庭nn包含居民成员mn业主委员会负责人成员包含大楼层包含产权人nn居室b)各实体对应一个关系,多对多关系对应一个关系10设有关系模式R(U,

24、F),其中U=A,B,C,D,E,I,F=AD,ABE,BIE,CDI,EC,计算=AEDCI11对学生-课程数据库有如下查询:SELECT CName FROM Student,Course,SCWHERE Student.SNo=SC.SNo AND SC.Cno=Course.CNo AND Student.SDept=IS画出关系代数表示的语法树,并用关系代数表达式优化算法进行优化,画出优化后的标准语法树。结果Project(Cname)Select(student.sdept=IS)Join(SC.Sno=Studnt.SNo)Join(SC.Cno=Course.Cno)Stude

25、ntCourseSC原始的语法树结果Cnamestudent.sdept=ISSC.Sno=Studnt.SNoSC.Cno=Course.CnoStudentCourseSCXX关系代数表示的语法树结果Cnamestudent.sdept=ISSC.Sno=Studnt.SNoSC.Cno=Course.CnoStudentCourseSCXX优化后的语法树以上与教材配套的习题解答中的答案,更确切的答案为:结果Cnamestudent.sdept=ISStudentCourseSC12设T1,T2,T3是如下3个事务:T1:A:A+2T2:A:A*2T3:A:A*A设A的初值为01)若3个事

26、务允许并行执行,则有多少可能的正确结果,请列出这些结果2)请给出一个可串行化的调度,并给出执行结果答:1) A可能的结果为2,4,8,16。T1,T2,T3串行执行的可能顺序为:T1T2T3,T1T3T2,T2T1T3,T2T3T1,T3T1T2,T3T2T1对应的执行结果为16,8,4,2,4,22) 假设对A的读取和写入通过中间变量Y实现,即A:A+2,实际为分两步实现:YA和AY2,在执行第一步时,必须对A加共享锁,避免其他事务修改A,读取后即解锁,在执行第二步时,必须对A加排他锁,避免其他事务访问A,写入后即解锁。所以单个事务的执行程序如下:Slock AY=A=0Unlock AXlock A计算Y+2结果写入A(=2)Unlock A在遵循锁的规则前提下,把T1,T2,T3的程序进行交叉运行(某时刻只有一个语句执行),只要A的最终结果为2,4,8,16中的一个,就是一个可串行化的调度,下面是一个可串行化的调度:T1T2T3Slock AY=A=0Unlock AXlock A计算Y+2结果写入A(=2)Unlock ASlock AWaitWaitWaitY=A=2Unlock AXlock A计算Y*2结果写入AUnlock ASlock AWaitWaitWaitY=A=4Unlock AXlock A计算Y*Y结果写入AUnlock A结果A16专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁