您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 华东理工大学数据库原理2013级复习
1举例说明数据库的参照完整性规则。P53和P308若属性(或属性集)F是关系r的外码,它与关系s的主码Ks相对应,则对于关系r中的每一个元组在属性F上的取值要么为空值null,要么等于关系s中某个元组的主码值。例如,对于课程关系Course的外码priorCourse,如果它取空值表示该课程没有先修课程或不知道其先修课程;如果它不为空值,则它的先修课程必须是该校已经存在的某门课程,即它的取值必须是课程关系Course中某元组的主码“课程编号”courseNo的值。违约处理的策略如下:拒绝(NOACTION)执行,是系统的默认策略:当在被参照关系中删除元组时,仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此操作。如要删除学生表Student中学号为“0700001”的记录,系统不允许,因为学号为“0700001”的同学在成绩表Score中选修了课程。参照关系中可以随意删除元组。级联(CASCADE)操作。当删除或修改被参照关系的某些元组造成了与参照关系的不一致时,则删除或修改参照表中所有不一致的元组。例如,删除学生表Student中学号为“0700001”的记录,则自动删除被参照关系成绩表Score中学号为“0700001”的所有选课记录。修改学生表Student中的学号,由“0700001”改为“0700006”,则自动修改被参照关系成绩表Score中学号为“0700001”的所有选课记录,将“0700001”全部改为“0700006”。级联(CASCADE)操作必须在定义外码时给出显示定义。设置为空值(SETNULL):对于参照完整性,除了定义外码,还应定义外码列是否允许空值。如果外码是主码的一部分,则外码不允许为空值。置空值删除(NULLIFIES):删除被参照关系的元组,并将参照关系中相应元组的外码值置空值.2检查点10.12P366系统崩溃时日志文件记录内容如下:T0,STARTT0,A,0,10T0,COMMITT1,STARTT1,B,0,10T2,STARTT2,C,0,10T2,C,10,20Checkpoint{T1,T2}T3,STARTT3,A,10,20T3,D,0,10T3,COMMIT试写出系统重启后恢复处理的步骤及恢复操作(指UNDO、REDO操作),并指明A,B,C,D恢复后的值分别是多少?3、可串行调度10.9(P366)假设3个事务T1,T2,T3的操作按调度S1执行。S1:R2(A)R1(B)W2(A)R3(A)W1(B)W3(A)R2(B)W2(B)(1)画出S1调度的优先图。(2)S1冲突可串行化吗?若是,给出它的等价串行调度。(3)将R2(B)移到R3(A)之前可得到新的调度S2。S2:R2(A)R1(B)W2(A)R2(B)R3(A)W1(B)W3(A)W2(B)S2冲突可串行化吗?若是,给出它的等价串行调度。4简述查询优化的一般步骤。(p280)(1)逻辑优化:产生逻辑上与给定关系代数表达式等价的表达式(2)代价估计:估计每个执行计划的代价(3)物理优化:对所产生的表达式以不同方式做注释,产生不同的查询执行计划1.将查询转换成某种内部表示,通常是语法树2.根据一定的等价变换规则把语法树转换成标准(优化)形式3.选择低层的操作算法对于语法树中的每一个操作:计算各种执行算法的执行代价;选择代价小的执行算法4.生成查询计划(查询执行方案)下面有一个销售管理数据库,它包含下面三张表:商场表Market(商场号Mno,商场名Mname,所在城市City)商品Item(商品号Ino,商品名Iname,商品类别Type,颜色Color,)销售表Sales(商场号Mno,商品号Ino,售价Price,数量Qty,销售日期Date)用关系代数表达式实现查询:1.查询商场“物贸商场”2008年1月1日以后销售的商品名称、售价和销售数量。2.查询没有销售过“家用电器”的商场名和所在城市。用SQL语句实现下述功能3.查询上海每个商场都销售的商品的商品号和商品名。4.创建一个视图,包括每个商场中商场号,商品的最低售价和最高售价。5.删除“物贸商场”的所有销售记录。某企业集团的数据库中包含了三个基本表:GOODS(Gno,Gname,Cost,Type,Fact,Wqty)商品表商品号,商品名,成本价,型号,制造商,库存数量SHOPS(Sno,Sname,Addr,Manager)商场表商场号,商场名,地址,经理SALES(Sno,Gno,Qty,Sdate,Price)销售表商场号,商品号,数量,日期,售价•创建一个带参(参数是商场名)存储过程SAL_Amount,统计某个商场的总销售额。•为表SHOPS创建一个删除触发器Tr_Del,当在表SHOPS中删除一个商场的信息时,把该商场的所有销售记录删除。设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:根据上述规定,(1)写出模式R的最小函数依赖集和候选码;(2)说明R不是2NF的理由,并把R分解成2NF模式集;(3)进而分解成3NF模式集。解:①R的最小函数依赖集F={职工编号,日期}→日营业额,职工编号→部门名,部门名→部门经理}R的候选码为(职工编号,日期)。②R中有函数依赖:职工编号→部门名可见存在非主属性“部门名”部分函数依赖于候选码,所以R不是2NF模式。R应分解成R1(职工编号,部门名,部门经理)F1={职工编号→部门名,部门名→部门经理}主码:职工编号,无外码。R2(职工编号,日期,日营业额)F2=={职工编号,日期}→日营业额},主码:(职工编号,日期),外码:职工编号此处,R1和R2都是2NF模式。③R2已是3NF模式。在R1中,存在两个函数依赖:职工编号→部门名,部门名→部门经理。其候选码为:职工编号这样“部门经理”对“职工编号”是一个传递依赖,R1不是3NF模式。R1应分解成R11(职工编号,部门名)F11={职工编号→部门名}主码:职工编号,外码:部门名R12(部门名,部门经理)F12={部门名→部门经理}主码:部门名,无外码这样,ρ={R11,R12,R2}是一个3NF模式集。下面是一个旅行社的业务描述:(1)每一个旅游线路有唯一的线路号,有一个起点和终点;(2)一个旅游线路可有多个旅游团,每个团只属于一个线路,出发日期,回程日期和单价;(3)一个游客有一个编号,并记录其姓名、电话和地址,一个旅游团可有多个游客,一个游客只能参加一个旅游团;根据上述业务描述得到关系模式R(线路号,起点,终点,团号,出发日期,回程日期,报价,游客编号,游客姓名,电话,地址)请完成:(1)写出R的基本函数依赖集和候选码。(2)判断R最高可达到第几范式,为什么?(3)它有插入异常吗,请举例说明(4)将R分解为一组满足3NF的模式。解:(1)基本函数依赖集是:{线路号→起点,线路号→终点,团号→线路号,团号→出发日期,团号→回程日期,团号→报价,游客编号→游客姓名,游客编号→电话,游客编号→地址,游客编号→团号}R的候选码是:游客编号(2)因为R中存在着非主属性如“回程日期”对候选码游客编号的传递函数依赖,所以R属于2NF,R不属于3NF。(3)存在插入异常,如要开设一个新的旅游线路,这时还没有游客。这时游客编号为空,又因为它是主属性,所以新开设的线路信息是无法存入到数据库中的。(4)将R分解成3NF:R1(线路号,起点,终点)F1={线路号→起点,线路号→终点}R2(团号,线路号,出发日期,回程日期,报价)F2={团号→线路号,团号→出发日期,团号→回程日期,团号→报价)R3(游客编号,游客姓名,电话,地址,团号)F3={游客编号→游客姓名,游客编号→电话,游客编号→地址,游客编号→团号}设有关系模式R(A,B,C,D,E),函数依赖集F={AB→C,C→D,D→E},试判断ρ={ABC,CD,DE}是否具有(1)无损连接性(2)函数依赖保持。解:(1)初始表如表1ABCDEABCa1a2a3b14b15CDb21b22a3a4b25DEb31b32b33a4a5根据AB→C不能改变表1根据C→D,可将表1修改为表2ABCDEABCa1a2a3a4b15CDb21b22a3a4b25DEb31b32b33a4a5根据D→E,可将表2修改为表3ABCDEABCa1a2a3a4a5CDb21b22a3a4a5DEb31b32b33a4a5在表3中可以看出第一行为全a,即表示分解ρ具有无损连接。(2)考察分解的依赖保持性F在ABC上的投影为AB→CF在CD上的投影为C→DF在DE上的投影为D→E三个投影的并正好为F,所以分解ρ函数依赖保持。设有关系模式R=ABCDE,F={A→D,E→D,D→B,BC→D,DC→A},现有如下分解:ρ={AB,AE,CE,BCD,AC}。请给出求解过程。判断上述分解ρ是否无损连接。给出函数依赖集F在ρ的各个模式上的投影。判断分解ρ是否保持函数依赖。ABCDEABa1a2b13b14→a4b15AEa1b22→a2b23b24→b14a5CEb31→a1b32→a2a3b34→b14→a4a5BCDb41→a1a2a3a4b45ACa1b52→a2a3b54→b14→a4b55A→D:b24→b14,b54→b14E→D:b34→b14D→B:b22→a2,b32→a2,b52→a2BC→D:b14→a4,b34→b14→a4,b54→b14→a4DC→A:b31→a1,b41→a1由函数依赖A→D,可将b24和b54都改为b14,由函数依赖E→D,可将b34改为b14,由函数依赖D→B,可将b22、b32和b52改为a2,由函数依赖BC→D,可将所有的b14改为a4,由函数依赖DC→A,可将b31和b41改为a1,这时第3行成为全a行,所以该分解ρ具有无损连接性。函数依赖集F在各关系模式上的投影如下:在AB上的投影:F1={A→B}在AE上的投影:F2=在CE上的投影:F3=在BCD上的投影:F4={BC→D,D→B}在AC上的投影:F5=因F1F2F3F4F5={A→B,BC→D,D→B}与F不等价,所以该分解不具有函数依赖保持。1某体育运动有来自多个体育代表团参加比赛项目。其中:代表团包含的属性:团编号,地区,住所;运动员包含的属性:编号,姓名,年龄,性别;比赛类别包含的属性:类别编号,类别名,负责人;比赛项目包含的属性:项目编号,项目名,级别;并规定:(1)一个代表团可有多个运动员,一个运动员只能属于一个代表团;(2)一个比赛类别可有多个比赛项目,一个比赛项目只能属于一个比赛类别;(3)一名运动员可参加多个比赛项目,一个比赛项目可有名运动员参加,并且要记录比赛时间和成绩。(1)设计该计算机管理系统的E-R图(2)将该E-R图转换为关系模型结构,并指出每个关系的主码及外码。运动员(编号,姓名,年龄,性别,团编号)外码:团编号代表团(团编号,地区,住所)比赛类别(类别编号,类别名,负责人)比赛项目(项目编号,项目名,级别,类别编号)外码:类别编号参加(编号,项目编号,比赛时间,成绩)2个外码:编号、项目编号2下面是一个货运公司的车队管理系统,有车队、司机、车辆和维修公司等数据,具体描述如下:(1)一个车队有多名司机,一个司机只能在一个车队工作,要记录聘用日期;(2)一个车队拥有多个车辆,一个车辆只能属于一个车队;(3)一个维修公司可以维修多个车辆,一个车辆可以在多个维修公司维修。要记录维修日期和费用。描述车队的属性有:车队号、名称、地址;描述司机的属性有:司机号、姓名、执照号、电话;描述车辆的属性有:车牌号、车型、颜色、载重;描述维修公司的属性有:维修公司号、名称、地址。请完成:(1)设计该计算机管理系统的E
本文标题:华东理工大学数据库原理2013级复习
链接地址:https://www.777doc.com/doc-4430027 .html