表中T4的数据源是T3表明T4中的数据是根据T3的数据汇总计算而来的,并假定各个表的数据都得到了及时计算。现需对系统进行优化,以提高与视图V1有关的查询效率。设有如下优化方案:6 w$ p- L( s- g3 m `
I. 为视图V1建立索引
7 ~* ~% f [5 j: ZII. 为T2建立主索引
& g: V5 h4 a( d5 |; X& c/ }III. 为T3建立主索引
6 D' g1 j/ Y. G# @) \3 EIV. 重写视图V1,将其数据源调整为T4,并为T4建立主索引 ( V/ B4 X1 O$ [- Y7 c
V. 重写视图V1,将数据源调整为T2,并为T2建立主索引
, |. Q R) f! E/ |2 a 请针对每一个优化方案,说明该优化方案对实现目标是否有效,并简要说明原因。(10分)
9 |) M; N8 y2 V1 J ( O h4 O) i5 u9 F3 Q/ e- m
(2)下图为关系表Students(专业,姓名,学号,年龄)在对应的数据文件中的物理存储结构示意图。
; X/ C+ b& r I' r! p 专业 姓名 学号 年龄
{5 P1 d. h! F; H# S* w电子
3 W0 ]- _, \5 y+ v: E: O; c张家力& b5 \: o) O% Q1 G+ M+ _# t* B# A
D-002
m1 H0 {( o0 r+ X19
3 q N. u9 @6 Y- W1 o: Q
0 n, Q8 b6 G7 L. L# ^" T% S1 D9 X计算机# F4 b/ Q9 q& X) K. s8 K y
苏永军$ n. a2 [& V) K) O
J-100: h' j9 Q+ d+ O8 X
187 t% v- _( g5 `# P* h& J
7 j+ L: _2 H2 y5 \6 t5 q2 X/ I4 W
自动化' X% ]6 }9 \, l
邓秀娟
& ~" @4 M1 ~ X) rZ-058
' y& C3 G. S( h& B23
, N5 ?% l7 c# t5 _" j 9 ~6 B6 r$ t! L0 l3 p
计算机
# y0 U3 K' p. V% y* o叶浩伟. r" x; q7 |0 i7 T: T0 Q* V
J-206
2 T( w% X+ \( ~7 g21
* U. E% @ y: O2 Q) H: g6 U
+ j- h3 F0 H% z- V& H" f6 @9 P2 q① 写出在“专业”属性上建立聚集索引的SQL语句,索引值按升序排序(索引名为ZY_ind)。(4分)
0 \ N, L6 E! Z; ~② 假设索引按稠密索引方式组织数据,画出在“专业”属性上建立聚集索引后该表对应的索引文件和数据文件的物理存储结构示意图(以“专业”为查找码,按查找码的汉语拼音字母升序排序)。(6分)7 U: Q8 K s8 e0 g4 [
三、设计与应用题(共40分)5 R4 |( ^% j' G% r8 ~, F
请使用蓝、黑色钢笔或圆珠笔将答案写在答题纸的相应位置上,否则无效。9 k/ i' x( u9 n& \; w
(1)有商品表(商品号,商品名,分类,单价),请编写一个实现更改商品单价的存储过程(存储过程名为pUpdate),更改规则如下:“电脑”类商品降价10%,“电视”类商品降价6%,“冰箱”类商品降价3%,其他类商品不降价。以商品的分类作为输入参数,假设“分类”为字符串类型,长度最多为6个汉字。如果商品表中没有用户指定的分类,则用输出参数返回字符串“指定的分类不存在”;如果用户指定的分类存在,则用输出参数返回字符串“修改已成功”。(10分)
( ]! ^. y0 I$ v
7 C0 l3 H# O2 W" k$ R(2)现有某图书销售数据库,其关系表结构如下:
/ `0 o9 `$ b& x9 ?/ t3 z! M图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)7 ^. \; s1 t8 C" o( ~( P( `
图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话): R1 n/ E% Q! z9 W( _) K" h# {
书店表(书店编号,联系电话,所在城市编号,城市名称)
: F0 C, T/ _) J( V该系统所涉及的数据存在如下约束:
3 E, L5 m: p4 BI. 一个出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统中记录的图书出版信息包括出版时间、版次及出版数量信息;
$ m# s" s" R1 tII. 一个书店可以出售多本图书给多个读者,每位读者可以从多个书店购买多本图书,一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息;
/ [7 y! y9 M$ _6 y7 QIII. 每个书店只能位于一个城市,一个城市可以有多个书店。
8 y/ G! q0 t8 X* ~! D9 z① 请根据以上信息画出合理的图书销售数据库的概念模型(用ER图表示)。(8分)( a; K4 X0 ?2 h' W* X
② 以图书销售表为例说明原数据库设计的不合理之处。(4分)$ f! p- B. d* u9 B# h7 U- X8 ], i
③ 给出该数据库符合3NF要求的全部关系模式,并指出关系模式中的全部主码和外码。(8分)
2 `# L0 D, ~1 w , F9 V; L' b6 Q6 s7 H
(3)事务T1、T2和T3按如下调度方式并发地对数据项A、B、C进行访问,假设A、B、C的初值分别为A=20,B=30,C=40。
' z9 {2 |5 f' d' i9 T① 在事务T2刚完成提交后,数据库中A、B、C的值各是多少?(3分)5 Q# M/ Q! L" I2 |( h4 B% G
② 当事务T3结束后,给出该并发调度对应的日志文件,并说明此时A、B、C的值各是多少?(7分)3 L( X! ^; Q/ U& o M- d
4 E! J2 p5 e7 d7 P4 u; z& r
7 Y. X% o* d# ]! V4 N9 S& ^5 O
: Q2 V+ D& f0 X0 T, ]
7 @, o: b% N' ` z% G! {
T1 T2 T3# a; ~5 D3 @+ l/ N4 I. G
begin-trans(T1)4 `# T8 L; _5 j% w, z
read(A)
# O |/ Z# F" N" }# `& v j0 W$ QA := A +10+ t( v' w9 G! h
begin-trans(T2)0 u! v( j5 c! ^% Y" Q! u' ]
read(B)
( T. k& Z( X5 n+ P: c$ Y% |. Z7 mwrite(A)
. F; i6 P+ ^ v8 i ?commit
" w3 s$ N D" P5 K( T6 G$ Y' cbegin-trans(T3)
) q2 k {( T8 h+ i/ L* h9 J2 A3 @read(C)9 w, H4 F6 q2 `* E) {
B:= B -10, J2 W# w+ j+ }5 c1 e9 H) m( f! A
write(B)
8 T5 c, J! a" G1 b C := C*27 [- a6 q8 k) w7 B$ ~' Q
commit1 e0 M0 v% W: W8 e; e4 C
write(C)
6 q7 J- Y, ]; ~. ^% Frollback |