完美WORD格式
? 材料与仓库:多对多联系,可将联系命名为“存放”。 ③ 绘制E-R图
材料m存放n仓库nm制成nm存放零件m组成n产品
3. 设要建立描述顾客在商店的购物情况的数据库应用系统,该系统有如下要求:一个商店可有多
名顾客购物,一个顾客可到多个商店购物,顾客每次购物有一个购物金额和购物日期。规定每个顾客每天在每个商店最多有一次购物,每次购物可购买多种商品。需要描述的“商店”信息包括:商店编号、商店名、地址、联系电话;需要描述的顾客信息包括:顾客号、姓名、住址、身份证号、性别。
请画出描述该应用系统的E-R图,并注明各实体的属性、标识属性以及联系的种类。 答:
顾客号性别姓名m购物日期n商店编号商店名商店地址顾客住址身份证号购物购物金额联系电话 4. 图7-28(a)~(d)所示为某企业信息管理系统中的局部E-R图,请将这些局部E-R图合并为一
个全局E-R图,并指明各实体以及联系的属性,标明联系的种类(注:为使图形简洁明了,在全局E-R图中可只画出实体和联系,属性单独用文字描述)。将合并后的E-R图转换为符合3NF要求的关系模式,并说明主码和外码。
职务职工性别m属于联系电话办公地点1部门部门名价格职工编号姓名电话厂商地址m生产厂商号厂商名生产日期零件号零件名部门号规格n零件 (b) (a) 专业整理分享
完美WORD格式
单位号电话办公地点设备处1拥有性别年龄m工人姓名(c)
1管理m设备设备号名称规格工人编号 规格设备价格m装配规格价格(d)
图7-28 各局部E-R图
设备号设备名零件数量零件号零件名n零件 答:分析:
① 工人实体可以与职工实体合并,将工人的属性合并到职工实体中,并在职工实体中增加“身
份”属性,来标识是工人还是其他职工。
② 设备处可合并到部门实体中,因设备处也是一个部门。可在实现时增加约束:只有设备处才
能管理设备。
③ 合并后的设备实体属性是图(c)和(d)中设备属性的并集。
合并后的结果:
专业整理分享
完美WORD格式
职务性别年龄职工m属于联系电话办公地点1部门1管理设备号设备名规格价格m设备m职工编号姓名身份地址部门号部门名电话厂商号厂商m生产n装配n零件厂商名生产日期零件号零件名规格零件数量价格
关系模式(主码用下划线标识)
部门(部门号,部门名,联系电话,办公地点)
职工(职工编号,姓名,身份,职务,性别,年龄,所属部门号),所属部门号为引用部门的外码 设备(设备号,设备名,规格,价格,被管部门号),被管部门号为引用部门的外码 零件(零件号,零件名,规格,价格) 厂商(厂商号,厂商名,地址,电话) 装配(设备号,零件号,零件数量),设备号为引用设备的外码,零件号为引用零件的外码 生产(厂商号,零件号,生产日期)或 生产(厂商号,零件号,生产日期)
专业整理分享
完美WORD格式
第8章 事务与并发控制
一. 选择题
1. 如果事务T获得了数据项A上的排他锁,则其他事务对A D
A.只能读不能写 B.只能写不能读 C.可以写也可以读 D.不能读也不能写
2. 设事务T1和T2执行如图8-15所示的并发操作,这种并发操作存在的问题是 B
时间 ① ② 事务T1 读A=100,B=10 读A=100 A=A*2=200 写回A=200 ③ ④ 计算A+B 读A=100,B=10 验证A+B 图8-15 并发操作
事务T2 A.丢失修改 C.读脏数据 B.不能重复读 D.产生幽灵数据
3. 下列关于数据库死锁的说法,正确的是 C
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.在事务开始时即对要读、写的数据加锁,等事务结束后再释放全部锁 7. 在数据库管理系统的三级封锁协议中,一级封锁协议能够解决的问题是
A.丢失修改 B.不可重复读 C.读脏数据 D.死锁
专业整理分享
A
完美WORD格式
8. 若系统中存在4个等待事务T0、T1、T2和T3,其中T0正等待被T1锁住的数据项A1,T1正等
待被T2锁住的数据项A2,T2正等待被T3锁住的数据项A3, T3正等待被T0锁住的数据项A0。则此时系统所处的状态是 B
A.活锁 B.死锁 C.封锁 D.正常 9. 事务一旦提交,其对数据库中数据的修改就是永久的,以后的操作或故障不会对事务的操作结
果产生任何影响。这个特性是事务的 D
A.原子性 B.一致性 C. 隔离性 D.持久性 10. 在多个事务并发执行时,如果事务T1对数据项A的修改覆盖了事务T2对数据项A的修改,
这种现象称为 A
A.丢失修改 B.读脏数据 C.不可重复读 D.数据不一致 11. 在多个事务并发执行时,如果并发控制措施不好,则可能会造成事务T1读了事务T2的“脏”
数据。这里的“脏”数据是指 D
A.T1回滚前的数据 B.T1回滚后的数据 C.T2回滚前的数据 D.T2回滚后的数据 12. 在判断死锁的事务等待图中,如果等待图中出现了环路,则说明系统 B
A.存在活锁 B.存在死锁 C.事务执行成功 D.事务执行失败
二. 填空题
1.为防止并发操作的事务产生相互干情况,数据库管理系统采用加锁机制来避免这种情况。锁的类型包括______和______。 共享锁(或S锁) 排他锁(或X锁)
2.一个事务可通过执行______语句来取消其已完成的数据修改操作。 ROLLBACK 3.事务应对要读取的数据加______锁,对要修改的数据加______锁。
共享(或S) 排他(或X)
4.要求事务在读数据项之前必须先对数据项加S锁,直到事务结束才释放该锁的封锁协议是______级封锁协议。 三
5.假设有两个事务T1和T2,它们要读入同一数据并进行修改,如果T2提交的结果覆盖了T1提交的结果,导致T1修改的结果无效。这种现象称为______。 丢失修改 6.在数据库环境下,进行并发控制的主要方式是_____。 加锁
7.如果总是将事务为两个阶段,一个是加锁期,一个是解锁期,在加锁期不允许解锁,在解锁期不允许加锁,则将该规定称为_____。 两段锁协议
8.如果并发执行的所有事务都遵守两段锁协议,则这些事务的任何并发调度一定是_____。 可串行化的
9.一个事务只要执行了_____语句,其对数据库的操作就是永久的。 COMMIT
10.在单CPU系统中,如果存在多个事务,则这些事务只能交叉地使用CPU,将这种并发方式称为_____。 交叉并发
三. 简答题
5.设有如下三个事务:
专业整理分享