第二章 关系数据库 RDB 2.1 、关系模型 RM 2.2 、关系代数 2.3 、检索优化
工号姓名年龄性别工资 4021 ZHAN G 50 男 LI40 女 LIU35 男 WANG25 男 1000 ABCDE a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 d2 d3 d4 e1 e2 e3 e4 字段, 数据项 属性 记录 元组 字段值 属性值
关系就是元组的集合。 关系 = 规范化 的二维表 关系的定义和性质 属性值不可再分 元组唯一性,无序性 属性唯一性,无序性
关系代数 集合的基本操作 并 ∪ 差 — 积 × 投影 Π 选择 σ 集合的组合操作 交 ∩ 条件联接 ∞ [ 自然 ] 联接 ∞ 除法 ÷ F
例 1 A B C A B C a b c b g a d a f d a f c b d R S A B C a b c d a f c d b b g a R -S : A B C a b c c b d ①属性的个数 —— 元数 ②元组个数 —— 基数 A B C d a f R ∪ S : R ∩S :
例题: A B C A B C a b c b g a d a f d a f c b d R S R×S: R.A R.B R.C S.A S.B S.C a b c b g a a b c d a f d a f b g a d a f d a f c b d b g a c b d d a f 元组 “ 联接 ”—— 基数相 “ ×”
A B C A B C a b c b g a d a f d a f c b d R S A C a c d f c d Π 1,3(R) C A c a f d d c A B C a b c c b d σ2=’b’ (R) Π A,C (R) : ΠC,A(R) : σB=’b’ (R) :
练 习 R S A B C 求: R ∪ S , R∩S , R -S, S-R R×S, Π 3,2(S), σ B<’5’ (R) ∪, ∩ , -: R , S 模式应相同 R ∪ S A B C R∩S A B C R -S A B C
R S A B C R×S R.A R.B R.C S.A S.B S.C
R S A B C S-R A B C Π3,2(S) C B σ B<’5’ (R) A B C 思考: σ 2<3 (R) 和 σ 2< ‘ 3 ’ (R)?
学习所有课程的 学生学号是: {97001,97004}
R S A B C D C D a b c d c d a b e f e f a b d e b c e f e d c d 求 R S e d e f 除法结果为 : A B a b e d
例 R S A B C D E R×S: A B C D E σ2<4( R×S) A B C D E R ∞ S 即 R ∞ S 2<1 B<D or R.B<S.D A B C D E 条件联接 求: σ2<4( R×S)
R S A B C D E R ∞ S A B C D E R , S 模式有别 2<1 ∧ 1 2 A B C D E <1 ∧ 1 2 R ∞ S
关系代数练习 R S A B C D 求 E1= Π A ( σ B=C ∧ D=‘3’ (R × S) ) XYZ X= R × S A B C D Y= σ B=C ∧ D=‘3’ (X) A B C D Z= Π A (Y) A 1 D=‘3’ 仅 涉及 S
E2= Π A ( σ B=C ( R × σ D=‘3’ (S) ) ) E1= Π A ( σ B=C ∧ D=‘3’ (R × S) ) C D 2 3 A B C D A 1 R S A B C D
E2= Π A ( σ B=C ( R × σ D=‘3’ (S) ) ) E1= Π A ( σ B=C ∧ D=‘3’ (R × S) ) E3= Π A ( R ∞ σ D=‘3’ (S) ) B=C C D 2 3 A B C D A 检索的优化 R S A B C D
R S A B C B C D a b c b c d d b c b c e b b f a d b c a d 例 4 Π A,R.B,R.C,D ( R ∞ S ) 2=1 ∧ 3=2 A B C D a b c d a b c e d b c d d b c e c a d b Π ( ∞ ) 记为 R ∞ S 自然联接 R , S 具有相同的属性,不同于条件联接 R , S 模式相同时, R ∞ S 结果同于 R∩S
R×SR ∞ S 2<1 R∞S σ 2<4 2=1 Π1,2,4 总结:已学的各运算中,操作要点?
S∞ SC 1=1 Π 1,2,3,4,6,7 (S∞SC) Sh Sn Age Sex s1 wang 20 m s2 liu 21 f s3 chen 22 m s8 dong 18 f Ch Grade c1 80 c2 70 c1 90 c2 85 c4 70 s1 wang 20 m s2 liu 21 f s3 chen 22 m
Sh Sn Age Sex s1 wang 20 m s3 chen 22 m s8 dong 18 f Ch Gr Cn Te c1 80 c2 70 c1 90 c2 85 c4 70 s1 wang 20 m s3 chen 22 m S∞ SC ∞Cc DB LI CS SHI DB LI PH MA
检索学习课程号为 C2 的学生学号和成绩 检索选修 C2 或 C4 的学生学号 练习: P53 ( 1 )( 2 )
检索学习课程号为 C2 的学生学号,姓名 (优化) 检索选修 MATHS 的学生学号,姓名(优化) 练习: P53 ( 3 )( 4 )
检索不学 C2 的学生学号 练习: P53 ( 5 )
S_a : SH S1 S3 S_b : SH S1 S2 S_a ∞ S_b ? 检索学习 C2 和 C4 的学生学号
3. 算法 条件联接
sh ch ch s1 c1 c1 s1 c1 c2 s3 c1 c1 s3 c1 c2 s3 c1 c3 s1 c2 c1 s1 c2 c2 s3 c2 c1 s3 c2 c2 s3 c2 c3 s4 c4 c4 s8 c3 c3 练习: P53 ( 6 )
(1) (2) (3) 优化 : (4) 优化 : P52 习题 2.13
(5) 优化 : (6) or (7) (8)
9. 综合题 检索女同学选修的 cn,Te: (1) (2) P53 习题 2.15