9.设实体A与实体B之间是一对多联系。下列进行的逻辑结构设计方法中,最合理的是 A.实体A和实体B分别对应一个关系模式,且外码放在实体B的关系模式中 B. 实体A和实体B分别对应一个关系模式,且外码放在实体A的关系模式中 C.为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性
A
D.分别为实体A、实体B和它们之间的联系设计一个关系模式,外码在联系对应的关系模式中
10. 设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个出版数量。该关系模式的主码是 A.书号
C.(书号,印刷数量)
B
B.(书号,出版日期)
D.(书号,出版日期,印刷数量)
11. 设有描述学生借书情况的关系模式:借书(书号,读者号,借书日期,还书日期),设一个读者可在不同日期多次借阅同一本书,但不能在同一天对同一本书借阅多次。该关系模式的主码是 C A.书号
C.(书号,读者号,借书日期) 12. 设有如下两个关系模式
职工(职工号,姓名,所在部门编号)
部门(部门编号,部门名称,联系电话,办公地点)
为表达职工与部门之间的关联关系,需定义外码。下列关于这两个关系模式中外码的说法,正确的是 A.“职工”关系模式中的“所在部门编号”是引用“部门”的外码 B.部门关系模式中的“部门编号”是引用“职工”的外码 C.不能定义外码,因为两个关系模式中没有同名属性
D.将“职工”关系模式中的“所在部门编号”定义为外码,或者将“部门”关系模式中的“部门编号”定义为外
码均可
13. 在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作 B A.需求分析阶段 C.逻辑结构设计阶段
14.下述不属于数据库物理结构设计内容的是 A.确定数据的存储结构 C.确定数据的存储分配
B.概念结构设计阶段 D.物理结构设计阶段 C
B.确定数据存储位置 D.确定数据库表结构
A
B.(书号,读者号)
D.(书号,读者号,借书日期,还书日期)
15.数据库物理结构设计完成后就进入到数据库实施阶段。下列不属于数据库实施阶段工作的 D A.调试应用程序 C.加载数据 二. 填空题
1. 一般将数据库设计分为______、______、______、______、______几个阶段。
需求分析 结构设计 行为设计 数据库实施 数据库运行和维护 2. 数据库结构设计包括______、______和______三个过程。
概念结构设计 逻辑结构设计 物理结构设计
3. 将局部E-R图合并为全局E-R图时,可能遇到的冲突有______、______和______。
属性冲突 命名冲突 结构冲突
4. 在数据库实施阶段除了创建数据库、关系表等之外,还包括两项重要的工作,一项是______,另一项是______。 加
载数据 调试和运行应用程序
5. ______设计是将需求分析得到的用户需求进行概括和抽象,得到概念层数据模型。
概念(结构)
B.试运行应用程序 D.扩充系统功能
6. 将E-R图转换为某个数据库管理系统支持的组织层数据模型是______设计阶段完成的工作。
逻辑(结构)
7. 数据流图表达了数据库应用系统中______和______的关系。 数据 处理
8. 在数据库设计中,在需求分析阶段用文档来描述数据需求,包括对数据项、数据结构、数据流、数据存储和数据
处理过程的描述,通常将这个文档称为______。 数据字典
9. 采用E-R方法的概念结构设计通常包括______、______和______三个步骤。
设计局部E-R图,设计全局E-R图 优化全局E-R图
10. 根据应用要求确定在哪些表的哪个或哪些属性上建立索引的工作是在数据库设计的______阶段完成的。 物
理设计 三. 简答题
1.数据库设计分为哪几个阶段?每个阶段的主要工作是什么。 2.需求分析阶段的任务是什么?其中发现事实的方法有哪些? 3.概念结构应该具有哪些特点? 4.概念结构设计的策略有哪些?
5.什么是数据库的逻辑结构设计?简述其设计步骤。 6.把E-R模型转换为关系模式的转换规则有哪些? 7.数据模型的优化包含哪些方法?
8.简述数据库物理结构设计阶段的主要工作。 9. 简述数据库实施阶段的主要工作。 10.简述数据库行为设计包含的内容。 四. 设计题
1. 将给定的E-R图转换为符合3NF的关系模式,并指出每个关系模式的主码和外码。 (1)图7-25所示为描述图书、读者以及读者借阅图书的E-R图。
图7-25 图书借阅E-R图
答:下列各关系模式中用下划线标识主码。
图书(书号,书名,出版日期,作者名) 读者(读者号,读者名,联系电话,所在单位)
借阅(书号,读者号,借书日期,还书日期),书号为引用图书关系模式的外码,读者号为引用读者关系模式的外码。
(2)图7-26所示为描述商店从生产厂家订购商品的E-R图。 答:下列各关系模式中用下划线标识主码。
商店(商店编号,商店名,联系电话)∈3NF
商品(商品编号,商品名称,库存量,商品分类)∈3NF 厂家(厂家编号,联系地址,联系电话)∈3NF
订购(商店编号,厂家编号,商品编号,订购日期,订购数量),商店编号为引用商店关系模式的外码,厂家编号为引用厂家关系模式的外码,商品编号为引用商品关系模式的外码。∈3NF
图7-26 商品订购E-R图
(3)图7-27为描述学生参加学校社团的E-R图。
图7-27 学生参加社团E-R图
答:下列各关系模式中用下划线标识主码。
社团(社团号,社团名,电话,性质)∈3NF
学生(学号,姓名,性别,专业,社团号,参加日期),社团号为引用社团的外码。∈3NF
2. 设某工厂生产若干产品,每种产品由若干零件组成,同一种零件可用在不同的产品上。零件由不同的原材料制成,
不同的零件所用的原材料可以相同。零件按所属产品的不同被分别存放在不同的仓库中,一个仓库可以存放多种不同的零件。原材料按类别存放在若干仓库中,一个仓库也可以存放不同类别的材料。画出该工厂的E-R图(注:只画出实体和联系即可,不用标识属性)。
答:① 确定实体。本系统共有四个实体:产品、零件、材料、仓库。 因为只描述的是一个工厂的情况,因此不需要将工厂设为实体。
② 确定实体间的联系。 ? ? ? ?
产品与零件:多对多联系,可将联系命名为“组成”。 零件与材料:多对多联系,可将联系命名为“制成”。 零件与仓库:多对多联系,可将联系命名为“存放”。 材料与仓库:多对多联系,可将联系命名为“存放”。
③ 绘制E-R图
顾客可到多个商店购物,顾客每次购物有一个购物金额和购物日期。规定每个顾客每天在每个商店最多有一次购物,每次购物可购买多种商品。需要描述的“商店”信息包括:商店编号、商店名、地址、联系电话;需要描述的顾客信息包括:顾客号、姓名、住址、身份证号、性别。
请画出描述该应用系统的E-R图,并注明各实体的属性、标识属性以及联系的种类。
3. 设要建立描述顾客在商店的购物情况的数据库应用系统,该系统有如下要求:一个商店可有多名顾客购物,一个
答:
4. 图7-28(a)~(d)所示为某企业信息管理系统中的局部E-R图,请将这些局部E-R图合并为一个全局E-R图,
并指明各实体以及联系的属性,标明联系的种类(注:为使图形简洁明了,在全局E-R图中可只画出实体和联系,属性单独用文字描述)。将合并后的E-R图转换为符合3NF要求的关系模式,并说明主码和外码。
(a)
(c) (d)
图7-28 各局部E-R图
答:分析:
(b)
① 工人实体可以与职工实体合并,将工人的属性合并到职工实体中,并在职工实体中增加“身份”属性,来标
识是工人还是其他职工。
② 设备处可合并到部门实体中,因设备处也是一个部门。可在实现时增加约束:只有设备处才能管理设备。 ③ 合并后的设备实体属性是图(c)和(d)中设备属性的并集。
合并后的结果:
关系模式(主码用下划线标识)
部门(部门号,部门名,联系电话,办公地点)
职工(职工编号,姓名,身份,职务,性别,年龄,所属部门号),所属部门号为引用部门的外码 设备(设备号,设备名,规格,价格,被管部门号),被管部门号为引用部门的外码 零件(零件号,零件名,规格,价格) 厂商(厂商号,厂商名,地址,电话)
装配(设备号,零件号,零件数量),设备号为引用设备的外码,零件号为引用零件的外码 生产(厂商号,零件号,生产日期)或 生产(厂商号,零件号,生产日期) 第8章 事务与并发控制 一. 选择题
1. 如果事务T获得了数据项A上的排他锁,则其他事务对A D
A.只能读不能写
B.只能写不能读
C.可以写也可以读
D.不能读也不能写
2. 设事务T1和T2执行如图8-15所示的并发操作,这种并发操作存在的问题是 B
时间 事务T1 读A=100,B=10 事务T2 读A=100 A=A*2=200 写回A=200 计算A+B 读A=100,B=10 验证A+B 图8-15 并发操作
A.丢失修改 C.读脏数据
B.不能重复读 D.产生幽灵数据
C
3. 下列关于数据库死锁的说法,正确的是
A.死锁是数据库中不可判断的一种现象
B.在数据库中防止死锁的方法是禁止多个用户同时操作数据库 C.只有允许并发操作时,才有可能出现死锁 D.当两个或多个用户竞争相同资源时就会产生死锁 4. 下列不属于事务特征的是
A.完整性 C.隔离性
A B.一致性 D.原子性
A
5. 若事务T对数据项D已加了S锁,则其他事务对数据项D
A.可以加S锁,但不能加X锁 B.可以加X锁,但不能加S锁 C.可以加S锁,也可以加X锁 D.不能加任何锁
6. 在数据库管理系统的三级封锁协议中,二级封锁协议的加锁要求是 C
A.对读数据不加锁,对写数据在事务开始时加X锁,事务完成后释放X锁 B.读数据时加S锁,读完即释放S锁;写数据时加X锁,写完即释放X锁
C.读数据时加S锁,读完即释放S锁;对写数据是在事务开始时加X锁,事务完成后释放X锁 D.在事务开始时即对要读、写的数据加锁,等事务结束后再释放全部锁