1、 WHERE B NOT IN(SELECT BFROM SWHERE C=C56); 等价的关系代数表达式是 C C AA,B(C(RS) BA,B(R S)CRA,B(C= (RS) DRA,B(C(RS)6嵌入式SQL的预处理方式,是指 B A识别出SQL语句,加上前缀标识和结束标志B把嵌入的SQL语句处理成函数调用形式C对源程序进行格式化处理 D把嵌入的SQL语句编译成目标程序7设关系模式R(A,B,C,D),F是R上成立的FD集,F= BD,ADC ,那么= ABC,BCD 相对于F B A是无损联接分解,也是保持FD的分解B是无损联接分解,但不保持FD的分解C不是无损联接分解,但保
2、持FD的分解D既不是无损联接分解,也不保持FD的分解8设有关系模式R(A,B,C,D),F是R上成立的FD集,F=AB,CD,则F+中左部为(BC)的函数依赖有 C A2个 B4个 C8个 D16个9有12个实体类型,并且它们之间存在着15个不同的二元联系,其中4个是1:1联系类型,5个是1:N联系类型,6个M:N联系类型,那么根据转换规则,这个ER结构转换成的关系模式有 B A17个 B18个 C23个 D27个10DBMS的并发控制子系统,保证了事务_的实现 B A原子性 B一致性 C隔离性 D持久性二填空题16关系模型和层次、网状模型最大差别是用_关键码_而不是用_指针_导航数据。17D
3、BS的全局结构体现了DBS的_模块功能_结构。18在关系代数中,交操作可由_差_操作组合而成。19SQL的SELECT语句中使用分组子句以后,SELECT子句的语义就不是投影的意思了,而是_对每一分组执行聚合操作_。20设关系模式R(A,B,C),F是R上成立的函数依赖集,F= AB,BC,CA ,那么F在模式AB上投影AB(F)=_ AB,BA _。21数据库中,悬挂元组是指_破坏泛关系存在的元组_。22DBD中,子模式设计是在_逻辑设计_阶段进行的23封锁能避免错误的发生,但会引起 活锁、饿死和死锁 问题。三简答题26“数据独立性”在文件系统阶段、数据库阶段和分布式数据库阶段中各表现为什么
4、形式?答:“数据独立性”在文件系统中表现为“设备独立性”;在数据库阶段表现为“物理独立性”和“逻辑独立性”;在分布式数据库中表现为“分布透明性”。27设有关系R和S: R A B C S A B D 1 2 3 1 3 6 1 3 5 3 6 8 2 4 6 1 3 5 3 6 9 3 4 522 试写出RS、 RS的值 RS A B C D RS R.A R.B C S.A S.B D 1 3 5 6 2 4 6 1 3 61 3 5 5 2 4 6 1 3 53 6 9 8 3 6 9 1 3 6 3 6 9 1 3 5 3 6 9 3 4 528设有关系R(A,B,C)和S(D,E,F)
5、,设有关系代数表达式。 A,B(R)A,B(A=D E=E8(RS) 试写出与上述关系代数表达式等价的元组表达式,关系逻辑规则和SQL语句。元组表达式为: t|(u)(v)(R(u)S(v)(ul=v1 v2)t1=u1 t2=u2) 关系逻辑规则为:W(x,y) R(x,y,a)(x,c) SQL语句为: SELECT A,B FROM R WHERE A NOT IN (SELECT D FROM S WHERE E=29嵌入式SQL的预处理方式是如何实现的?这种方式有什么重要意义?预处理方式是先用预处理程序对源程序进行扫描,识别出SQL语句,并处理成宿主语言的函数调用形式;然后再用宿主语
6、言的编译程序把源程序编译成目标程序。 这种方法的重要意义在于不必改动宿主语言的编译程序,这样,SQL的编译程序和宿主语言的编译程序之间就可独立,互不影响。30设关系模式R(A,B,C,D,E),F是R上成立的FD集,F= ABC,BCA, ACB,DE ,试写出R的候选键,并说明理由。模式R有三个候选键:ABD、BCD、ACD三个。推导过程如下: 从ABC和DE,可推出ABDABCDE。 从BCA和DE,可推出BCDABCDE。 从ACB和DE,可推出ACDABCDE。31逻辑设计阶段的输入和输出是什么?逻辑设计阶段的输入信息有四种: 概念设计阶段的概念模式; 应用的处理需求; 完整性、安全性
7、约束条件; DBMS特性。 逻辑设计阶段的输出信息主要有四种: DBMS可处理的模式; 子模式; 应用程序设计指南; 物理设计指南。32什么是“脏数据”?如何避免读取“脏数据”?在数据库运行时,把未提交随后又被撤消的数据称为“脏数据”。 为避免读取“脏数据”,事务可以对数据实行加S锁的方法,以防止其他事务对该数据进行修改。33什么是“死锁”?在系统发生死锁时,系统如何处理?在对并发事务采用封锁机制时,有可能若干事务都处于等待状态,等待对方释放封锁,造成事务都不能继续运行下去,这种现象称系统进入死锁状态。 发生死锁时,系统将抽取某个事务作牺牲品,把它撤销,释放封锁,使其它事务有可能继续运行下去。
8、四设计题(本大题共5小题,每小题4分,共20分)设某商业集团关于商店销售商品的数据库中有三个基本表: 商店 SHOP(S#,SNAME,AREA,MGR_NAME) 其属性是商店编号,商店名称,区域名,经理姓名。 销售 SALE(S#,G#, QUANTITY)其属性是商店编号,商品编号,销售数量。 商品 GOODS(G#,GNAME,PRICE) 其属性是商品编号,商品名称,单价。36试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则:检索销售“冰箱”的商店的编号和商店名称。解:关系代数表达式:S#,SNAME(GNAME=冰箱(SHOPSALEGOODS) 元组表达式: t | (u
9、) (v) (w) (SHOP (u)SALE (v)GOODS (w)u1=v1v2=w1w2= t1=u1t2=u2)关系逻辑规则:W(u1,u2)SHOP(u1,u2,u3,u4)SALE(u1,v2,v3)GOODS(v2, ,w3)37试写出上面第36题的SELECT语句表达形式。并写出该查询的图示形式。解:SELECT语句如下: SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND GNAME=; 该查询语句的图示形式如下:SHOPS#SNAMEAREAMGR_NAMEP_XP.S
10、ALEG#QUANTITYGOODSGNAMEPRICE_X_Y冰箱38试写出下列操作的SQL语句:从SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME=开开商店 AND G# IN(SELECT G#FROM GOODS WHERE PRICE1000);40试写出下列操作的SQL语句:统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、
11、商品名称、销售数量、销售价值。40解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,PRICE*SUM(QUANTITY)AS SUM_VALUE WHERE A.S#=B.S# AND B.G#=C.G# AND AREA=EAST GROUP BY C.G#,GNAME;(注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)五综合题(本大题共2小题,每小题5分,共10分)41某汽车运输公司数据库中有一个记录司机运输里程的关系模式: R(司机编号,汽车牌照,行驶公里,车队编号,车队主管)此处每个汽车牌照对应一辆汽车。“行驶公里”为某司机驾驶某辆汽车行驶的总公里数。如果规定每个司机属于一个车队,每个车队只有一个主管。(1)试写出关系模式R的基本FD和关键码。(2)说明R不是2NF模式的理由,并指出数据冗余之所在。试把R分解成2NF模式集。(3)进而把R分解成3NF模式集,并说明理由。(1)根据已知条件,可写出基本的FD有三个: 司机编号 车队编号 车队编号 车队主管(司机编号,汽车牌照) 行驶公里从上述三个FD,可知R的关键码为(司机编号,汽车牌照)。(2)从上述三个FD,可推出下列FD成立:(司机编号,汽车牌照)(车队编号,车
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1