数据库原理A卷加答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共12页中国民航大学2007-2008学年第二学期《数据库原理与应用》期末考试试卷课程编号:03401005试卷类型:A考试形式:闭卷笔试考试日期:2008-7-11题号一二三四五六总分得分注意事项:1.答案写在试卷上;2.不准携带任何书籍、资料、纸张等。一、简答题(共20分,每题5分)1.简述事务的ACID特性2.简述数据库系统的三级模式结构及其对数据独立性的支持。3.简述关系模型的参照完整性约束4.简述如何保证多个事务的并发执行是正确的班级:姓名:准考证号:任课教师考场教室――――――――――――――――――――――――――装订线――――――――――――――――――――――――――――――-姓名第2页共12页二、设数据库中有三个关系:(共10分,每题2分)职工表EMP(E#,ENAME,AGE,SEX,ECITY)其属性分别表示职工工号、姓名、年龄、性别和籍贯。工作表WORKS(E#,C#,SALARY)其属性分别表示职工工号、工作的公司编号和工资。公司表COMP(C#,CNAME,CITY)其属性分别表示公司编号、公司名称和公司所在城市。试用关系代数表达式写出下列操作:1)检索超过30岁的男职工的工号和姓名。2)假设每个职工只能在一个公司工作,检索工资超过2000元的男性职工工号和姓名。3)假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号。4)检索在“LIANHUA”公司工作、工资超过2000元的男性职工的工号和姓名。5)检索‘A’城市的所有公司编号和公司名称三、设有四个关系模式(共30分)仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)供应商(供应商号,供应商名,地址)订购单(职工号,供应商号,订购单号,订购日期)第3页共12页用SQL完成以下操作:1.检索所有职工的仓库号及工资。(2分)2.检索在上海的仓库的面积。(2分)3.插入一条供应商号=‘S7’,地址在北京的供应商信息。(2分)4.将订购单号为D2的订购日期修正为当前日期。(2分)5.删除职工号为空的订购单信息。(2分)6.检索和职工号为E1或E4有联系的供应商的名称。(2分)7.检索出向供应商号S3发过订购单的职工的职工号和仓库号。(2分)8.检索出目前与S3供应商没有联系的职工信息。(3分)9.检索出与工资在1220元以下的职工没有联系的供应商的名称。(3分)10检索出目前和华通电子公司有业务联系的每个职工的工资。(2分)11检索出向S4供应商发出订购单的仓库所在的城市。(2分)第4页共12页12检索出有最大面积的仓库信息。(2分)13检索出向S4供应商发出订购单的仓库的平均面积。(2分)14检索出每个仓库中工资多于1220元的职工个数。(2分)四、有基于图书馆数据库的3张表,完成以下操作。(共15分,每题5分)图书(书号,书名,作者,出版社,单价,图书类别)读者(学号,姓名,性别,年龄,所在系)借阅(学号,书号,借出日期,归还日期)1、视图创建视图V1,查询学生的借阅历史清单(图书已经归还),包括以下内容:学号,姓名,书名,出版社,借出日期,归还日期2、存储过程创建存储过程P1,按出版社和书名关键字查询图书信息,输入参数为出版社和书名(书名支持模糊查询),输出内容包括:书号,书名,作者,出版社,单价。第5页共12页3、触发器编写触发器T1,在学生归还图书时(更新归还日期字段),检查图书是否已经超期(假设允许借阅期限为30天),如果已经超期,则打印“图书已经超期”,并rollback还书操作。五、设有如图所示的关系R(共10分)职工号职工名年龄性别单位号单位名E1ZHAO20FD3CCCE2QIAN25MD1AAAE3SEN38MD3CCCE4SEN25FD3CCC(1)请指出关系R中存在的函数依赖和R的候选码(4分)(2)R属于3NF吗?为什么?若不是,它属于第几范式?并如何规范化为3NF?(6分)六、已知新华书店销售订单的格式如下所示。(共15分)订单编号:1379465客户编号:NC200574日期:2005-09-08客户名称:光华学校客户电话:65798641地址:光华路17号图书编号书名定价数量金额3249786英语23.001002300.002578964哲学25.001002500.00总价4800.00备注书店的业务描述如下:第6页共12页每一个订单有唯一的订单编号;一个订单可以订购多种图书,且每一种图书可以在多个订单中出现;一个订单对应一个客户,且一个客户可以有多个订单;每一个客户有惟一的客户编号;每一种图书有惟一的图书编号。(1)据上述语义设计E-R模型,要求标注联系类型,可省略属性。(5分)(2)将E-R模型转换成关系数据模型,并指出每一个关系的主码和外码(如果存在)。(10分)第7页共12页中国民航大学2007-2008学年第二学期《数据库原理与应用》期末考试A卷答案一、简答题(共20分,每题5分)1.简述事务的ACID特性答案要点:原子性(Atomicity):指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。一致性(Consistency):指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性(Isolation):指数据库中一个事务的执行不能被其它事务干扰。持久性(Durability):也称为永久性指事务一旦提交,则其对数据库中数据的改变就是永久的。2.简述数据库系统的三级模式结构及其对数据独立性的支持。答案要点:三级模式结构:内模式、模式和外模式。两级映像:外模式/模式映像,模式/内模式映像。两级独立性:三级模式结构和两级映像支持应用程序与数据之间的物理独立性和逻辑独立性。3.简述关系模型的参照完整性约束回答要点:外码的概念参照完整性规则就是定义外码与主码之间的引用规则。对于外码,一般应符合如下要求:或者值为空;或者等于其所应用的关系中的某个元组的主码值。4.简述如何保证多个事务的并发执行是正确的回答要点:并发事务正确性的准则:可串行性可串行性的保证:两阶段锁协议两段锁协议:将每个事务分成两个时期:申请封锁期和释放封锁期,申请期申请要进行的封锁,释放期释放所占有的封锁。第8页共12页在申请期不允许释放任何锁,在释放期不允许申请任何锁。二、设数据库中有三个关系:(共10分,每题2分)职工表EMP(E#,ENAME,AGE,SEX,ECITY)其属性分别表示职工工号、姓名、年龄、性别和籍贯。工作表WORKS(E#,C#,SALARY)其属性分别表示职工工号、工作的公司编号和工资。公司表COMP(C#,CNAME,CITY)其属性分别表示公司编号、公司名称和公司所在城市。试用关系代数表达式写出下列操作:6)检索超过30岁的男职工的工号和姓名。∏E#,ENAME(σAGE30andSEX=’M’(EMP))7)假设每个职工只能在一个公司工作,检索工资超过2000元的男性职工工号和姓名。∏E#,ENAME(σSALARY2000andSEX=’M’(EMPWORKS))8)假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号。∏E#,C#(WORKS)÷∏C#(σC#=’C4’orC#=’C8’(COMP))9)检索在“LIANHUA”公司工作、工资超过2000元的男性职工的工号和姓名。∏E#,ENAME(∏C#(σCNAME=LIANHUA(COMP))σSALARY2000(WORKS)σSEX=’M’(EMP))10)检索‘A’城市的所有公司编号和公司名称∏C#,CNAME(σCITY=’A’(COMP))三、设有四个关系模式(共30分)仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)供应商(供应商号,供应商名,地址)订购单(职工号,供应商号,订购单号,订购日期)用SQL完成以下操作:3.检索所有职工的仓库号及工资。(2分)Select仓库号,工资from职工4.检索在上海的仓库的面积。(2分)select面积from仓库where城市=’上海’3.插入一条供应商号=‘S7’,地址在北京的供应商信息。(2分)第9页共12页Insertinto供应商values(‘S7’,NULL,‘北京’)4.将订购单号为D2的订购日期修正为当前日期。(2分)Update订购单set订购日期=getdate()where订购单号=’D2’5.删除职工号为空的订购单信息。(2分)Deletefrom订购单where职工号isnull6.检索和职工号为E1或E4有联系的供应商的名称。(2分)select供应商名from供应商,订购单where供应商.供应商号=订购单.供应商号and(职工号=’E1’or职工号=’E4’)7.检索出向供应商号S3发过订购单的职工的职工号和仓库号。(2分)select职工号,仓库号from职工,订购单where职工.职工号=订购单.职工号and供应商号=’s3’8.检索出目前与S3供应商没有联系的职工信息。(3分)select*from职工where职工号notin(select职工号from订购单where供应商号=’S3’)9.检索出与工资在1220元以下的职工没有联系的供应商的名称。(3分)select供应商名from供应商where供应商号notin(select供应商号from订购单,职工where订购单.职工号=职工.职工号and工资1220)10检索出目前和华通电子公司有业务联系的每个职工的工资。(2分)select工资from职工where职工号in(select职工号from订购单join供应商on订购单.供应商号=供应商.供应商号where供应商名=‘华通电子公司’)11检索出向S4供应商发出订购单的仓库所在的城市。(2分)select城市from仓库,职工,订购单where仓库.仓库号=职工.仓库号and职工.职工号=订购单.职工号and供应商号=’S4’12检索出有最大面积的仓库信息。(2分)select仓库号,城市,面积from仓库where面积=(selectmax(面积)from仓库)13检索出向S4供应商发出订购单的仓库的平均面积。(2分)selectavg(面积)from仓库,职工,订购单where仓库.仓库号=职工.仓库号and职工.职工号=订购单.职工号and供应商号=’S4’14检索出每个仓库中工资多于1220元的职工个数。(2分)select仓库号,count(*)from仓库,职工where仓库.仓库号=职工.仓库号and工资1220groupby仓库号四、有基于图书馆数据库的3张表,完成以下操作。(共15分,每题5分)图书(书号,书名,作者,出版社,单价,图书类别)第10页共12页读者(学号,姓名,性别,年龄,所在系)借阅(学号,书号,借出日期,归还日期)4、视图创建视图V1,查询学生的借阅历史清单(图书已经归还),包括以下内容:学号,姓名,书名,出版社,借出日期,归还日期CreateviewV1asSelect读者.学号,书名,出版社,借出日期,归还日期From读者join借阅on读者.学号=借阅.学号Join图书on图书.书号=借阅.书号Where归还日期isnotnull5、存储过程创建存储过程P1,按出版社和书名关键字查询图书信息,输入参数为出版社和书名(书名支持模糊查询),输出内容包括:书号,书名,作者,出版社,单价。Createviewp1@出版社varchar(20),@书名varchar(20)asSelect书号,书名,作者,出版社,单价From图书where出版社=@出版社and书名like‘%‘+@书名+’%’6、触发器编写触发器T1,在学生归还图书时(更新归还日期字段),检查图书是否已经超期(假设允许借阅期限为30天),如果已经超期,则打印“图书已经超期”,并rollback还书操作。CreatetriggerT1on借阅forupdateAsIfupdate(归还日期)Ifexists(selec

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功