2015年12月2日东华大学2008?009学年第二学期数据库系统原理期末考试A卷答案学年第二学期期终试题答案踏实学习,弘扬正气;诚信做人,诚实考试;作弊可耻,后果自负。课程名称数据库系统原理使用专业07级一、选择题(2分*10=20分)1.D2.D3.C4.D5.B6.D7.B8.C9.B10.C二、简答题(3分*5=15分)1.1)原子性事务的原子性是指一个事务的所有操作要么全做,要么全不做,保证原子性是数据库系统本身的职责,由DBMS的事务管理子系统来实现。2)一致性事务的一致性是指每个事务的执行保证数据库从一致的正确的状态变成一致的正确的状态,确保单个事务的一致性是编写事务的应用程序员的职责,系统运行时,由DBMS的完整性子系统执行测试任务。3)隔离性在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,此时称事务达到了隔离性的要求。隔离性是由DBMS的并发控制子系统实现的。4)持久性一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中,不会丢失,即使以后系统发生故障,也是如此。由DBMS的恢复管理子系统实现。2.1)无损分解2)保持函数依赖3.1)外模式/逻辑模式映像存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性。这个映像一般放在外模式中描述的。用于保证当数据库的逻辑模式发生变化时,外模式可以不变。2)逻辑模式/内模式映像存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性,这个映像一般放在内模式中描述的。用于保证当数据库的内模式发生变化时,模式可以不变。4.1)数据冗余。2)操作异常。包括修改异常、插入异常、删除异常。5.1)实体完整性规则2)参照完整性规则3)域完整性规则4)用户定于的完整性规则三、关系代数和查询优化题(共20分)1.(1)或者(2)2015年12月2日东华大学2008?009学年第二学期数据库系统原理期末考试A卷答案(1)(2)(3)四、SQL题1.CREATETABLE图书销售主表(销售单号CHAR(6)PRIMARYKEY,2015年12月2日东华大学2008?009学年第二学期数据库系统原理期末考试A卷答案会员编号CHAR(8)NOTNULL,销售额NUMBER(3),订购日期DATE,出货日期DATE,FOREIGNKEY(会员编号)REFERENCES会员(会员编号),CHECK(订购日期=出货日期));2.CREATEUNIQUEINDEXBNAME_IDXON图书(图书名称)3.SELECT会员.会员名,会员.销售额FROM图书销售主表,会员WHERE图书销售主表.会员编号=会员.会员编号AND销售单号=?st1:chmetcnvw:st=onUnitName=?SourceValue=20090619001HasSpace=FalseNegative=FalseNumberType=1TCSC=020090619001?/st1:chmetcnv4.SELECT会员.会员名FROM图书销售主表,会员,图书,图书销售明细表WHERE图书销售主表.会员编号=会员.会员编号AND图书销售主表.图书编号=图书.图书编号AND图书名称=?/SPAN数据库系统教程?/SPAN5.SELECTSUM(销售数量)FROM图书销售主表,图书销售明细表,图书WHERE图书销售主表.销售单号=图书销售明细表.销售单号AND图书销售明细表.图书编号=图书.图书编号GROUPBY图书分类6.CREATEVIEWV.BookStoreASSELECT销售单号,销售数量FROM图书直销明细表.图书WHERE图书直销明细表.图书编号=图书.图书编号AND图书名称LIKE?/SPAN%数据库%?/SPAN;五、(1)(2)2015年12月2日东华大学2008?009学年第二学期数据库系统原理期末考试A卷答案销售部(部门号,部门名,地区,电话号码)产品(产品编号,产品名,单价)职工(职工号,姓名,性别,年龄,工资,开始工作时间,部门号)销售(部门号,产品号,时间,销量)六、关系理论题1)说明:关于现实意义有多种假设,其中之一:(1)商品编号在所有商店是一致的;(2)各个商店对部门有自己的编号;(3)不同商店对同一商品可能分配到不同部门。根据以上假设得到的函数依赖有:(1)(商店编号,商品编号)?/SPAN(部门编号,库存量)(2)(商店编号,部门编号)?/SPAN部门负责人(3)商品编号?/SPAN商品名称(4)部门编号?/SPAN部门名称根据其它假设可能有不同的函数依赖。2)关系模式R的候选键为(商店编号,商品编号)。3)在R,存在非主属性如商品名称对候选键的部分函数依赖,所以不是2范式(2NF)。但是每个属性都是原子项,不可再分。综上所述,R是1范式(1NF)。4)在1)中的函数依赖,已经是极小化后并合并相同左部。R无损连接并保函数依赖的分解为:R1(商店编号,商品编号,部门编号,库存量),F1={(商店编号,商品编号)?/SPAN(部门编号,库存量)};R2(商店编号,部门编号,部门负责人),F2={(商店编号,部门编号)?/SPAN部门负责人};R3(商品编号,商品名称),F3={商品编号?/SPAN商品名称};R4(部门编号,部门名称),F4={部门编号?/SPAN部门名称}。