[0072]数据库技术大作业答案
发布时间:2023-10-04 10:10:01浏览次数:8西南大学培训与继续教育学院课程考试试题卷课程名称【编号】:数据库技术【0072】 A 卷考试类别:大作业 满分:100 分一、 大作业题目1.关系数据模型的优点和缺点有哪些?。 答:优点:关系模型和格式化模型不同,它是简历在严格的数学概念的基础上的。关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据库的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。缺点:由于存取路径岛屿用户是隐蔽的,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须到用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。不过用户不必考虑这些系统内度的优化技术细节。2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。 (1)丢失修改(lost update ) 两个事务 Tl 和 T2 读入同一数据并修改,T2 提交的结果破坏了(覆盖了) Tl 提交的结果,导致 Tl 的修改被丢失。(2)不可重复读( Non-Repeatable Read ) 不可重复读是指事务 Tl 读取数据后,事务几执行更新操作,使 Tl 无法再现前一次读取结果。(3)读“脏”数据(Dirty Read) 读“脏”数据是指事务 Tl 修改某一数据,并将其写回磁盘,事务 Tl 读取同一数据后, Tl 由于某种原因被撤销,这时 Tl 已修改过的数据恢复原值,Tl 读到的数据就与数据库中的数据不一致,则 Tl 读到的数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。3.已知供应商—零件—工程项目数据库包含如下三个关系: 供 应 商 S ( SNO , SNAME , CITY ) , 零 件P ( PNO , PNAME , COLOR , WEIGHT , CITY ) , 工 程J(JNO,JNAME,CITY),供应 SPJ(SNO,PNO,JNO,QTY)。其中各属性名的含义是:SNO—供应商号码,SNAME—供应商名称,CITY—所在城市PNO—零件号码,PNAME—零件名称,COLOR—零件颜色,WEIGHT—零件重量,JNO—工程项目号码,JNAME—工程项目名称,QTY—供应数量。 ① 用关系代数表达式描述查询: 找出向工程项目‘J1’提供零件的供应商号码。答:Pi SNO(Delta SNO=‘J1’(S))其中 Pi 表示投影,Delta 表示选择SELECT DISTINCT SNO FROM SPJ WHERE JNO=' J1' ② 用 SQL 查询块描述查询:- 1 -
找出提供蓝色零件的供应商号码。SELECT SNOFROM S,P,SPJWHERE S.SNO = SPJ.SNO AND SPJ.PNO = P.PNO AND P.COLOR=’ 蓝色’ ③ 用 SQL 查询块描述查询:统计各供应商供应的种零件的数量SELECT DISTINCT SNO,PNO, QTY FROM SPJ④ 将下列数据插入供应商编号 s3,供应商名称为 A1,所在城市为上海INSERT INTO S (SNO, SNAME, CITY ) VALUES (’s3’, ’A1’, ’上海’)4.现有一局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请读者自己设计适当的属性,画出 E-R 图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。答:关系模型为:作者(作者号,姓名,年龄,性别,电话,地址)出版社(出版社号,名称,地址,联系电话)出版(作者号,出版社号,书的数量)出版关系的主码作者号,出版社号分别参照作者关系的主码作者号和出版社关系的主码出版社号。5.已知工程关系 R(工程号,材料号,数量,开工日期,完工日期,价格)。业务规则如下:每个工程有一个开工日期和一个完工日期;每个工程可用多种材料,每种材料可用于多个工程,每个工程使用的每种材料有一定的数量;每种材料仅有一个价格。求出 R 的函数依赖及候选码;判断 R 属于第几范式,如果不是 3 范式则分解到三范式。答:(1) (工程号,材料号)(2)为 1NF。R1(工程号,开工日期,完工日期)- 2 -
R2(材料号,价格)R3(工程号,材料号,数量)二、大作业要求第 1-2 题选作一题,满分 30 分第 3 题必做,满分 30 分第 4-5 题选作一题,满分 40 分- 3 -