《华东理工大学数据库原理2012级期中考试试卷(含答案).doc》由会员分享,可在线阅读,更多相关《华东理工大学数据库原理2012级期中考试试卷(含答案).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流华东理工大学数据库原理2012级期中考试试卷(含答案)【精品文档】第 6 页一、单项选择题(共20分,每空2分)题号小计选择DCACCBBDDB1、在表或视图上执行 语句不能激活触发器。 A) Insert B) Delete C) Update D) Create 2、自然连接是查询多个表的有效方法。一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的 。A) 记录 B) 行 C) 属性 D) 元组3、关系数据库中的投影操作是指从关系中 。A) 抽出指定的属性 B) 抽出指定的记录C) 建立相应的影像 D) 抽出指定的元组4、视图
2、创建完成后,数据字典中存放的是 。A) 查询语句 B) 查询结果 C) 视图的定义 D) 所引用的基本表的定义5、在关系数据库设计中,设计关系模式是 的任务。A) 需求分析阶段 B) 概念设计阶段 C) 逻辑设计阶段 D) 物理设计阶段6、从E-R模型向关系模型转换时,一个m:n联系转换为关系模式时,该关系模式的码是 。A) m端实体的码 B) m端实体的码与n端实体的码的组合C) n端实体的码 D) 重新选取其它属性7、使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用 关键字。A) UNIQUE B) DISTINCT C) EXCEPT D) ALL
3、8、设属性A是关系R的主码,则属性A不能取空值,这是 。A)参照完整性规则 B)域完整性规则C)用户自定义的完整性 D)实体完整性规则9、当关系R和S自然连接时,把R和S中不满足连接条件而该舍弃的元组放到结果关系中的操作是 。A)内连接 B)外部并 C)不等值连接 D)外连接10、现有关系模式:职工(职工号,姓名,工资,参加工作年份)部门(部门号,部门名,办公室,部门领导职工号)在以下视图中,不可能更新的视图为 。 A)1980年以前参加工作的职工视图 B)部门号和各部门的平均工资组成的视图 C)职工姓名和工资组成的视图 D)工资在4000元以上职工信息视图二、填空题(共20分,每空2分)题号
4、小计解答模式患者编号primary keydrop用户自定义题号解答group bygrant 数据字典is not null 交1、在关系数据库的三级模式(外模式、模式和内模式)结构中, 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公用数据库结构。2、现有关系: 患者(患者编号,患者姓名,性别,出生日期,所在单位), 医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗关系中的外码是 。3、用SQL的数据定义语句的 子句定义关系的实体完整性。4、用 _ 命令可删除基本表。5、在某大学的数据库中规定学生成绩有6门以上不及格将不能授予学士学位,这属于 完整性约束。6、在
5、SELECT语句中,HAVING子句必须跟在 子句后面。7、权限授予的命令是 。8、在数据库设计中,把数据需求,包括数据项、数据结构、数据流等写成文档。这通常称为 。9、在SQL语言中,用于测试属性值非空的语句是 。10、在关系代数中,从两个关系中找出相同元组的运算称为 运算。三、简答题(共15分,每小5分) 1、举例说明关系参照完整性的含义。 假设有如下所示的两个关系表,在职工表中,工号是主码,部门号是外码;在部门表中,部门号是主码。根据关系参照完整性的规则,职工表中部门号的值要么为空(表示该职工未分配部门),或者等于部门表中的某个部门号中的值(表示该职工属于这个部门)。也就是说一个职工不可
6、以属于一个不存在的部门。 职工 部门工号 姓名 性别 部门号 部门号 部门名 办公室 101 刘军 男 K5 K5 销售部 302102 王丽 女 null K8 技术部 407 103 章华 男 K9 K9 工程部 509 2、下面是一个公司的用户权限定义表,请你用SQL语句为这些用户授权。被授权用户名数据库对象名允许的操作类型能否转授权LiMing关系BooksSELECT能Public关系BorrowINSERT, DELETE不能Linder关系Readers的属性列RnoUPDATE不能GRANT SELECTON TABLE BooksTO Liming WITH GRANT OP
7、TIONGRANT INSERT, DELETE ON TABLE BorrowTO PublicGRANT UPDATE(Rno) ON TABLE ReadersTO Linder 3、在银行贷款业务中,如果规定一个客户可以向多个银行贷款,一个银行可以向多个客户发放贷款,并且记录贷款日期和贷款金额。客户的主码是客户编号,银行的主码是银行编号,请给出贷款的关系模式及其主码。如果我们允许一个客户可向同一个银行申请多笔贷款,原来的主码还能唯一标识一个贷款吗?如果不能,你给出一个解决方法。 答:根据题目规定,可以看出贷款是一个多对多的联系,其属性应该包括客户编号、银行编号、贷款日期和贷款金额。其关
8、系模式为贷款(客户编号,银行编号,贷款日期,贷款金额),主码为(客户编号,银行编号)。如果允许一个可和向同一个银行申请多笔贷款,那么(客户编号,银行编号)就不能唯一标识一个贷款了,可以加一个贷款编号作为主码。四、应用题(共30分,每小题3分) (1) 商品表(商品编号,商品名称,单位,成本价,商品类别,库存数量) Item ( code, Iname, unit, cost, type, amount)(2) 商品销售主表(销售单号,销售日期,客户编号) SaleHead (saleOrder,saleDate, CustomerId)(3) 商品销售明细表(销售单号,商品编码,单价,销售数量
9、) SaleDetail (saleOrder, code, price, qty )(4) 客户表(客户编号,客户名称,电话,客户地址) Customer(CustomerId,Cname,TeleNo,Address)用关系代数完成如下查询:(1) 查询销售给“瑞嘉家具”的所有数量在100以上的商品的销售日期和销售数量。saleDate, qty(Cname=瑞嘉家具qty=100(Customer SaleHead SaleDetail)(2) 查询从没有销售过的商品编号,商品名称和库存数量。code, Iname, amount(Item (code(Item)-code(SaleDe
10、tail )(3) 查询亏本(成本价大于单价)销售商品的商品名称、单价和客户名称。Iname, pricr, Cname(costprice (ItemSaleHead SaleDetai Customer)(4) 查询各类“冰箱”成本价在2000元以上的商品编号、商品名称和库存量。code,Iname,amount(type=冰箱cost=2000(Item)用SQL语句完成如下操作(5) 创建一个视图SaleQty,其内容为一次销售数量在1000以上的商品编号、商品名称和销售数量。CREATE VIEW SaleQty (code, Iname, num)AS SELECT Item.co
11、de, Iname, qtyFROM Item, SaleDetailWHERE Item.code=SaleDetail.code AND qty1000(6) 按客户编号分组统计销售单数50以上的客户编号和销售单数。 SELECT CustomerId, COUNT(saleOrder) FROM SaleHead GROUP BY CustomerId HAVING COUNT(saleOrder)=50(7) 将成本价在50元以上的的商品的单价提高5%,50元及以下的提高3%。UPDATE SaleDetailSET price=case when code IN(SELECT cod
12、e FROM ItemWHERE cost50) then price+price*0.5 else price+price*0.3Update saledetail set price=price*1.05 where code in (select code from item where cost50)Update saledetail set price=price*1.03 where code in (select code from item where cost=50)(8) 按商品编号分组统计各商品的库存数量。 SELECT code, SUM(amount) FROM It
13、em GROUP BY code(9) 查询没有销售给“林峰科技”的商品的商品编号、商品名称和库存数量。SELECT code, Iname, amountFROM Item WHERE NOT EXISTS (SELECT *FROM SaleHead, SaleDetail,customerWHERE SaleHead.saleOrder=SaleDetail.saleOrder And customer.customerid=salehead.customeridAND cname=林峰科技Item.code= SaleDetail.code)(10) 删除2013年10月2日到2013
14、年11月2日销售的所有订单。(这些订单中的商品订购信息也要删除) DELETE FROM SaleDetail WHERE saleOrder IN (SELECT saleOrder FROM WHERE saleDate between 2013.10.02 and 2013.11.02) DELETE FROM SaleHead WHERE WHERE saleDate between 2013.10.02 and 2013.11.02)六、应用设计题(15分)设一个海军基地要建立一个舰队管理信息系统,它包括如下两个方面的信息:1舰队方面舰队:舰队名称、基地地点、舰艇数量舰艇:编号、舰艇
15、名称、舰队名称2舰艇方面舰艇:舰艇编号、舰艇名、武器名称武器:武器名称、生产日期、舰艇编号官兵:官兵证号、姓名、舰艇编号其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一种武器可安装于多艘舰艇上;一艘舰艇有多个官兵,一个官兵只属于一艘舰艇。请完成如下设计:(1) 请画出上述信息系统的E-R图(8分)(2) 合并时是否存在命名冲突?如何处理?(2分)(3) 将全局E-R图转换为关系模式,标出主码和外码。(5分)舰队舰艇拥有舰队名称基地地点编号舰艇名称1n舰艇数量(1) 舰队的局部E-R图:舰艇的局部E-R图:舰艇武器安装舰艇编号舰艇名武器名称生产日期mn官兵属于1n官兵证
16、号姓名全局E-R图如下:1n舰艇武器安装舰艇编号舰艇名称武器名称生产日期mn官兵属于官兵证号姓名舰队舰队名称基地地点拥有1m舰艇数量(2) 合并时存在如下命名冲突: “舰艇编号”和“编号”存在异名同义,合并统一为“舰艇编号” “舰艇名”“舰艇名称”存在异名同义,合并统一为“舰艇名称”(3) 转换的关系模式如下: 舰队(舰队名称,基地地点,舰艇数量);主码:舰队名称,无外码舰艇(舰艇编号,舰艇名称,舰队名称);主码:舰队编号,外码:舰队名称武器(武器名称,生产日期);主码:武器名称;无外码官兵(官兵证号,姓名,舰艇编号);主码:官兵证号,外码:舰艇编号安装(舰艇编号,武器名称);主码:(舰艇编号,武器名称),外码:舰艇编号,武器名称