98
HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ liệu quan hệ (60 tiết) Bộ môn: CHTTT Giáo viên: 1) PGS.TS Nguễn Bá Tường 2) ThS Đỗ Mai Hường Bài 1. CÁC KHÁI NIỆM LIÊN QUAN ĐẾN QUAN HỆ 1.1 TËp hîp -Hợp X Y; Giao X Y; HiÖu X \ Y; PhÇn bï -X. -X Y hoÆc Y X biÓu thÞ X lµ tËp con thùc sù cña Y. -X Y hoÆc Y X biÓu thÞ X lµ tËp con ( cã thÓ b»ng Y ) cña Y. 1.2 TÝch DECAC B × C = {(a,b) : a B vµ b C}. ThÝ dô B = {1, 2, 3}. C = {x, y} khi ®ã B × C = {(1,x), (2,x), (3,x), (1,y), (2,y), (3,y)} C × C = {(x,x), (x,y), (y,y), (y,x)} B × B = {(1,1), (2,2), (3,3), (1,2),(1,3), (2,1),(3,1), (2,3), (3,2)} 1.3 Ph©n ho¹ch vµ phñ cña kh«ng gian U §Þnh nghÜa 1.1.a §Þnh nghÜa ph©n ho¹ch cña U Hä c¸c tËp con E = {E 1 , E 2 , ..., E k }, k 1 cña U ®îc gäi lµ mét ph©n ho¹ch cña U nÕu: (1) E i ; víi i =1,...,k (2) E i E J = ; víi i j (3) k i 1 = E i = U Mçi E i ta thêng gäi lµ mét nhãm cña ph©n ho¹ch E. §Þnh nghÜa 1.1.b §Þnh nghÜa phñ cña U

HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

HỌC VIỆN KỸ THẬT QUÂN SỰKHOA CÔNG NGHỆ THÔNG TIN

BÀI GIẢNG

HỌC PHẦN: Nhập môn cơ sở dữ liệu quan hệ (60 tiết)Bộ môn: CHTTTGiáo viên: 1) PGS.TS Nguễn Bá Tường

2) ThS Đỗ Mai Hường

Bài 1. CÁC KHÁI NIỆM LIÊN QUAN ĐẾN QUAN HỆ

1.1 TËp hîp

- Hợp X ∪ Y; Giao X ∩ Y; HiÖu X \ Y; PhÇn bï -X.

- X ⊂ Y hoÆc Y ⊃ X biÓu thÞ X lµ tËp con thùc sù cña Y.

- X ⊆ Y hoÆc Y ⊇ X biÓu thÞ X lµ tËp con ( cã thÓ b»ng Y ) cña Y.

1.2 TÝch DECAC

B× C = {(a,b) : a∈B vµ b∈C}. ThÝ dô B = {1, 2, 3}. C = {x, y} khi ®ã

B× C = {(1,x), (2,x), (3,x), (1,y), (2,y), (3,y)}

C× C = {(x,x), (x,y), (y,y), (y,x)}

B× B = {(1,1), (2,2), (3,3), (1,2),(1,3), (2,1),(3,1), (2,3), (3,2)}

1.3 Ph©n ho¹ch vµ phñ cña kh«ng gian U§Þnh nghÜa 1.1.a §Þnh nghÜa ph©n ho¹ch cña U

Hä c¸c tËp con E = {E1, E2, ..., Ek }, k ≥ 1 cña U ®­îc gäi lµ mét ph©n ho¹ch cña U nÕu:(1) Ei ≠ ; víi i =1,...,k

(2) Ei ∩ EJ = ; víi i ≠ j

(3) k

i 1=

Ei = U

Mçi Ei ta th­êng gäi lµ mét nhãm cña ph©n ho¹ch E.

§Þnh nghÜa 1.1.b §Þnh nghÜa phñ cña U

Page 2: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Hä c¸c tËp con E = {E1, E2, ..., Ek }, k ≥ 1 cña U ®­îc gäi lµ mét phñ cña U nÕu:

(1) Ei ≠ ; víi i =1,...,k

(2) k

i 1=

Ei = U

Mçi Ei ta th­êng gäi lµ mét nhãm cña phñ E.

1.4 Quan hÖ vµ quan hÖ t­¬ng ®­¬ng

Cho A1, A2, ..., An ; n ≥ 2 lµ c¸c tËp bÊt kú.

§Þnh nghÜa 1.2 §Þnh nghÜa quan hÖ n-ng«i

TËp R ⊆ A1 × A2 × ... × An ®­îc gäi lµ quan hÖ n- ng«i trªn A1, A2, ..., An.

§Þnh nghÜa 1.3 Quan hÖ t­¬ng ®­¬ng

Quan hÖ 2-ng«i R ⊆ B × B ®­îc gäi lµ quan hÖ t­¬ng ®­¬ng trªn B nÕu R tho¶ m·n 3

®iÒu kiÖn:

(1) Ph¶n x¹: ∀ a∈B aRa

(2) §èi xøng: ∀ a, b ∈B aRb khi vµ chØ khi bRa

(3) B¾c cÇu: ∀ a, b, c ∈B aRb & bRc th× aRc

B/R = { [a]R : a ∈B } víi [a]R lµ nhãm c¸c phÇn tö b mµ aRb lµ ph©n ho¹ch t­¬ng®­¬ng

Bæ ®Ò 1.1

a. Mäi quan hÖ t­¬ng ®­¬ng R trªn B th× B/R = { [a]R: a ∈ B } lµ mét ph©n häach cña B.

b. Mäi ph©n ho¹ch E = { E1, E2, ..., Ek} cña B cã mét quan hÖ t­¬ng ®­¬ng R trªn B ®Ó B/R = E.

Bæ ®Ò 1.2

Gäi R vµ S lµ c¸c quan hÖ t­¬ng ®­¬ng trªn U. Khi ®ã ta cã U/R << U/S khi vµ chØ khi R⊆ S.

1.5 Logic mÖnh ®ÒLogic mÖnh ®Ò ®­îc x©y dùng trªn c¸c mÖnh ®Ò cã gi¸ trÞ logic ®óng hoÆc sai.

Page 3: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Mét biÓu thøc logic th­êng bao gåm c¸c biÕn mÖnh ®Ò, c¸c h»ng logic, c¸c dÊu ®ãng, mëngoÆc vµ c¸c phÐp to¸n logic.

Ta th­êng dïng c¸c biÕn mÖnh ®Ò lµ p, q, p1, q1,... vµ c¸c phÐp to¸n logic :

∧ , ∨ , ⇒ , ⇔ , ¬ víi

BiÓu thøc p ∧ q ký hiÖu p vµ q ( héi cña p vµ q)

BiÓu thøc p ∨ q ký hiÖu p hoÆc q ( tuyÓn cña p vµ q)

BiÓu thøc p ⇒ q ký hiÖu p kÐo theo q ( p suy ra q)

BiÓu thøc p ⇔ q ký hiÖu p t­¬ng ®­¬ng q ( p kÐo theo q vµ ng­îc l¹i)

BiÓu thøc ¬p ký hiÖu phñ ®Þnh cña p ( kh«ng p)

Gi¶ sö , lµ c¸c biÓu thøc logic khi ®ã ta cã c¸c tÝnh chÊt :

(1) ∧ =

(2) ∨ =

(3) ∧ ( ∨ ) =

(4) ∨ ( ∧ ) =

(5) ( ∨ ) ∧ ( ∨ ) = ( ∧ ) ∨ ( ∧ ) ∨ ( ∧ ) ∨ ( ∧ )

(6) ( ∧ ) ∨ ( ∧ ) = ( ∨ ) ∧ ( ∨ ) ∧ ( ∨ ) ∧ ( ∨ )

Bài 2. QUAN HỆ TRÊN TẬP THUỘC TÍNH

2.1 Më ®Çu

Ta hiÓu mét c¬ së d÷ liÖu lµ tËp c¸c d÷ liÖu liªn quan ®Õn mét bµi to¸n qu¶n lý. Mét c¬ sëd÷ liÖu quan hÖ lµ tËp c¸c d÷ liÖu d¹ng b¶ng liªn quan ®Õn mét bµi to¸n qu¶n lý.

ThÝ dô 2.1:

XÐt bµi to¸n qu¶n lý b¸n hµng ta cÇn (vÝ dô) 5 b¶ng sau:

1. B¶ng nh©n viªn NV(TT, Manv, Tenv, Que, GT, L¦¥NG)

Page 4: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

NV

TT Manv Tenv NS Que GT L¦¥NG

1 01 Huy 1945 Hµnéi Nam 300

(TT, Manv, Tenv, NS, Que, GT, L¦¥NG lµ c¸c thuéc tÝnh cña nh©n viªn gåm sè thø tù,m· sè nh©n viªn, tªn nh©n viªn, quª, giíi tÝnh, l­¬ng t­¬ng øng).

2. B¶ng kh¸ch hµng KH(Makh, Tenkh, Tk). Gåm c¸c thuéc tÝnh cña kh¸ch hµng lµM· kh¸ch hµng, tªn kh¸ch hµng, tµi kho¶n cña kh¸ch hµng.

KH

Makh Tekh TK

3. B¶ng s¶n phÈm SP(Masp, Tensp, DVT, NSX, gia)

SP

Masp Tensp DVT NSX Gia

4. B¶ng hãa ®¬n HD( SoHD, Makh, Manv, NHD, TienHD)

HD

SoHD Makh Manv NHD TienHD

5. B¶ng chi tiÕt hãa ®¬n CTHD( SoHD, Masp, SL)

CTHD

SoHD Masp SL

Page 5: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô 2.2:

XÐt sæ theo dâi kh¸ch cña mét kh¸ch s¹n: cã MK lµ m· kh¸ch, NR lµ sè phßng, Sèng­êilµ sè ng­êi, TiÒn lµ sè tiÒn kh¸ch hµng ph¶i tr¶.

MK NR Sèng­êi TiÒn

101 301 2 400

102 302 1 200

103 303 3 600

104 304 2 400

105 304 3 600

Trong thÝ dô 2.1 c¸c thuéc tÝnh lµ: {TT, Manv, Tenv, NS, Que, GT,…}.

Trong thÝ dô 2.2 c¸c thuéc tÝnh lµ: {MK, NR, Sèng­êi, TiÒn}.

VÒ sau c¸c b¶ng d÷ liÖu ®­îc m« t¶ d­íi d¹ng b¶ng nh­ trªn sÏ ®­îc gäi lµ c¸c quan hÖ.

2.2 §Þnh nghÜa quan hÖ

Cho tËp h÷u h¹n kh¸c rçng c¸c phÇn tö A = {A1, A2, ... An} ®­îc gäi lµ tËp c¸c thuéc tÝnh.

Mçi Ai cña tËp A cã miÒn gi ̧trÞ ( miÒn trÞ) D(Ai).

§Þnh nghÜa 2.1 Quan hÖ trªn tËp thuéc tÝnh A

R lµ quan hÖ trªn tËp thuéc tÝnh A nÕu:

R ⊆ D(A1) × D(A2) ×... × D(An)..

Ta thÊy tÝch Decac D(A1) × D(A2)... × D(An) cã rÊt nhiÒu tËp con nªn trªn A cã nhiÒuquan hÖ kh¸c nhau.

Page 6: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô 2.3:

Gi¶ sö A = {E, B, C }, D(E) = {0,1}, D(B) = {a, b, c}, D(C) ={x,y}.

D(E) × D(B) × D(C) = {(0,a,x), (0,a,y), (0,b,x), (0,b,y), (0,c,x), (0,c,y), (1,a,x), (1,a,y),(1,b,x), (1,b,y), (1,c,x), (1,c,y)}.

D(E) × D(B) × D(C) cã 12 phÇn tö nªn trªn A = {E,B,C} ta cã 212 quan hÖ R kh¸c nhau.

L­u ý

1. Mçi phÇn tö t ∈ R t = ( a1, a2, …, an) trong ®ã ai ∈ Ai

2. Quan hÖ R lµ mét tËp hîp, nªn trong R kh«ng cã hai phÇn tö gièng nhau.

VÝ dô R sau kh«ng ph¶i lµ quan hÖ

Hä tªn N¨m sinh Quª

TuÊn Anh 1982 Hµ néi

TuÊn Anh 1982 Hµ Néi

3. Mäi quan hÖ R ®Òu cã thÓ biÓu diÔn d­íi d¹ng b¶ng

R

A1 A2 ... Aj ... An

a11 A12 ... a1j a1n

... ... ... ... ...

ai1 ai2 ... aij ain

Page 7: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

... ... ... ... ... ...

am1 am2 ... amj ... amn

HoÆc R

R A1 A2 ... Aj ... An

t1 a11 ai2 ... a1j a1n

... ... ... ... ... ...

ti ai1 ai2 ... aij ain

... ... ... ... ... ... ...

tm am1 am2 ... amj ... amn

b¶ng quan hÖ R

Khi ®ã R = { t1, t2, ..., tm}, ti = ( ai1, ai2, ai3, ...,ain), i = 1, 2, ..., n

4. Ta viÕt: R(A1, A2, . . . An) ®Ó chØ quan hÖ R trªn A = {A1, A2,... An}. VÝ dô

sv( MASV, HOTEN, NGAYSINH, QUE, GIOITINH).

5. Khi cho tËp thuéc tÝnh A = {A1, A2,... An} lµ ®· cho l­îc ®å cña quan hÖ,

R

A1 A2 . . . An

Nªn A= {A1, A2,... An} cßn ®­îc gäi lµ l­îc ®å quan hÖ

6. L­îc ®å quan hÖ ®­îc hiÓu nh­ mét Class trong lËp tr×nh h­íng ®èi t­îng

7. Trong thùc tÕ qu¶n lý nÕu gÆp c¸c tr­êng hîp trïng nhau ta thªm thuéc tÝnh m· choc¸c ®èi t­îng cÇn qu¶n lý.

ThÝ dô 2.4:

XÐt danh s¸ch sinh viªn

Page 8: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Cho A = {MASV, HOTEN, QUE, NS, KHOA} vµ quan hÖ R nh­ sau:

R

MASV HOTEN NS QUE KHOA

01 LAN ANH 1980 Hn CNTT

02 LAN ANH 1980 Hn CNTT

03 LAN ANH 1980 Hn CNTT

2.3 ThiÕt kÕ mét c¬ së d÷ liÖu (Thùc hiÖn trong ACCESS).

C¸c b­íc thiÕt kÕ:

B­íc 1. §Æt tªn file

B­¬c 2. T¹o khung c¸c b¶ng

B­íc 3. T¹o liªn kÕt khãa chÝnh khãa ngo¹i

B­íc 4. NhËp d÷ liÖu, l­u ý trong b­íc nhËp d÷ liÖu ph¶i theo ®óng t×nh tù sau : C¸c

b¶ng cã khãa ngo¹i ph¶i nhËp sau b¶ng cã khãa chÝnh. VÝ dô xÐt CSDL qu¶n lý®å ¸n tèt nghiÖp c¸c b¶ng nh­ sau

GV(MaGV, TenGV, MaKHOA, HH, HV)

DT( MaDT, TenDT, MaGV,NBD, NKT)

SV(MaSV, TenSV, MaDT, DIEM)

KH( MaKHOA, TenKH, DC)

Trong 4 b¶ng trªn b¶ng khoa KH kh«ng cã khãa ngo¹i chØ cã khãa chÝnh nhËp tr­íc, sau®Õn b¶ng gi¸o viªn GV, tiÕp theo b¶ng ®Ò tµi DT vµ cuèi cïng nhËp b¶ng sinh viªn SV.

Bµi 3. §ẠI SỐ QUAN HỆ

Nh­ ta ®· biÕt quan hÖ lµ mét tËp hîp nªn trªn c¸c quan hÖ ta cã thÓ thùc hiÖn c¸c phÐpto¸n tËp hîp nh­ hîp, giao, hiÖu, ... c¸c phÐp to¸n ®ã ng­êi ta th­êng gäi lµ ®¹i sè quanhÖ(§SQH).

Page 9: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§Þnh nghÜa 3.1 C¸c quan hÖ t­¬ng thÝch

R1 vµ R2 lµ t­¬ng thÝch nÕu chóng cïng x¸c ®Þnh trªn tËp thuéc tÝnh A.

3.1.1 PhÐp hîp

§Þnh nghÜa 3.2

Hîp R1 ∪ R2 lµ mét quan hÖ trªn A

R1 ∪ R2 = {t: t ∈ R1 hoÆc t ∈ R2}.

ThÝ dô 3.1:

Cho hai quan hÖ S vµ R nh­ sau:

H×nh 3.1. Quan hÖ S vµ R

Khi ®ã ta cã quan hÖ R ∪ S:

R ∪ S

Masv Hoten NS

sv1 An 02/01/1986

sv2 Khang 03/01/1986

sv3 Thinh 02/02/1988

Page 10: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

sv4 Vuong 02/02/1984

sv5 Phu 02/02/1986

L­u ý

∀ R1, R2 th× R1 ∪ R2 = R2 ∪ R1

∀ R th× R ∪ R = R

3.1.2 PhÐp giao

Cho A = {A1, A2,... , An}, R1 vµ R2 lµ 2 quan hÖ trªn A.

§inh nghÜa 3.3

Giao R1 ∩ R2 lµ mét quan hÖ trªn A

R1 ∩ R2 = {t: t ∈ R1 vµ t ∈ R2}.

ThÝ dô 3.2:

Cho hai quan hÖ R vµ S nh­ trong h×nh 2.3:

Khi ®ã R ∩ S = R giao S

Page 11: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 3.2 Giao cña hai quan hÖ S vµ R

3.1.3 PhÐp trõ (hiÖu)

Cho R1 vµ R2 trªn A.

§Þnh nghÜa 3.4

HiÖu R1 \ R2 lµ mét quan hÖ trªn A.

R1 \ R2 {t: t ∈ R1 vµ t ∉ R2}.

ThÝ dô:

R1 R2

A1 B C D A1 B C D

a1 b1 c1 d1 x y z v

a3 b3 c3 d3 a3 b3 c3 d3

Khi ®ã

Page 12: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

R2 \ R1

A1 B C D

x y z v

3.1.4 PhÐp chiÕu

Cho R(A) = R(A1, A2, ... An), X ⊂ A.

§Þnh nghÜa 3.5

ChiÕu r.X hoÆc r[X], lµ mét quan hÖ trªn X.

R.X = {t.X: t ∈ r}, t.X lµ chiÕu cña phÇn tö t lªn tËp thuéc tÝnh X.

ThÝ dô 3.5:

Cho quan hÖ r nh­ sau:

R

A1 B C D E F G

a1 b1 c1 d1 e1 f1 g1

a2 b2 c2 d2 e2 f2 g2

a3 b3 c3 d3 e3 f3 g3

a4 b4 c4 d4 e4 f4 g4

X = { B, C}, Y = {F, G}.

ChiÕu cña R lªn X vµ Y t­¬ng øng:

Page 13: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

R.X R.Y

B C F G

b1 c1 f1 g1

b2 c2 f2 g2

b3 c3 f3 g3

b4 c4 f4 g4

3.1.5 PhÐp tÝch Decac (Descartes)

TÝch Decac cña R, S.

Cho R(A) = R(A1, A2,... An)

Cho S( A’) = S(B1, B2,... Bm)

Víi A ∩ A’ = ∅.

§Þnh nghÜa 3.6

TÝch Decac cña R vµ S: R × S lµ quan hÖ trªn A ∪ A’ = {A1, A2,... An, B1, B2,... Bm}

R × S = {( t1, t2): t1 ∈ R, t2 ∈ S}.

ThÝ dô 3.5:

Cho R vµ S nh­ sau:

R S

B C D E F G

b1 c1 d1 e1 f1 g1

Page 14: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

b2 c2 d2 e2 f2 g2

Nh­ vËy r1cã hai phÇn tö, r2 cã ba phÇn tö, tÝch Decac r1 × r2 sÏ cã s¸u phÇn tö.

R × S

B C D E F G

b1 c1 d1 e1 f1 g1

b1 c1 d1 e2 f2 g2

b2 c2 d2 e1 f1 g1

b2 c2 d2 e2 f2 g2

3.1.6 PhÐp nèi tù nhiªn

Cho R(A) vµ S(A’).

§Þnh nghÜa 3.7

PhÐp nèi tù nhiªn cña R vµ S , ký hiÖu R |><| S lµ quan hÖ trªn A ∪ A’.

R |><| S = {t : t.A ∈ R vµ t.A’ ∈ S}

ThÝ dô 3.6:

Cho R vµ S lµ hai quan hÖ sau:

R S

B C D C D E F

Page 15: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

b1 c1 d1 c1 d1 e1 f1

b2 c2 d2 c2 d2 e2 f2

b3 c3 d3 x y z v

Nèi tù nhiªn cña R vµ S:

R |><| S

B C D E F

b1 c1 d1 e1 f1

b2 c2 d2 e2 f2

ThÝ dô 3.7:

XÐt hai quan hÖ cïng tËp thuéc tÝnh:

r1 r2

B C D E B C D E

b1 c1 d1 e1 y1 z1 w1 v1

b2 c2 d2 e2 b1 c1 d1 e1

b3 c3 d3 e3 y2 z2 w2 v2

r1 |><| r2

B C D E

b1 c1 d1 e1

b2 c2 d2 e2

b3 c3 d3 e3

Page 16: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

b4 c4 d4 e4

b5 c5 d5 e5

b6 c6 d6 e6

VËy trong tr­êng hîp hai tËp thuéc tÝnh nh­ nhau th× r1 |><| r2 = r1 ∩ r2

Sau ®©y ta xÐt thÝ dô mµ c¸c tËp thuéc tÝnh rêi nhau.

Cho hai quan hÖ r1 vµ r2 nh­ sau:

r1 r2

B C D E F G H

b1 c1 d1 e1 f1 g1 h1

b2 c2 d2 e2 f2 g2 h2

Trong tr­êng hîp nµy ta cã r1|><| r2 nh­ sau:

r1 |><| r2

B C D E F G H

b1 c1 d1 e1 f1 g1 h1

b1 c1 d1 e1 f2 g2 h2

b2 c2 d2 e2 f1 g1 h1

b2 c2 d2 e2 f2 g2 h2

VËy trong tr­êng hîp A ∩ A’ = ∅ th× r1 |><| r2 = r1 × r2.

3.1.7 PhÐp chia

Page 17: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Cho R(A), S(A’) vµ A’ ⊂ A.

§Þnh nghÜa 3.8

PhÐp chia R/S lµ quan hÖ trªn A \ A’

R / S = {t[A\ A’]: t ∈ R vµ t[A’] ∈ S}.

ThÝ dô 3.8:

Cho r lµ quan hÖ trªn A = {H, B, C, D, E, G}, s lµ quan hÖ trªn A’ = {H, E, G} nh­ sau:

R S

H B C D E G H E G

a1 b1 c1 d1 e1 g1 a1 e1 g1

a2 b2 c2 d2 e2 g2 x y z

a3 b3 c3 d3 e3 g3 a3 e3 g3

a4 b4 c4 d4 e4 g4

Khi ®ã

R / S

B C D

b1 c1 d1

b3 c3 d3

Page 18: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

3.1.8 PhÐp chän

§Þnh nghÜa 3.9

Cho R(A) vµ E lµ biÓu thøc ®iÒu kiÖn trªn A.

PhÐp chän σE(R) lµ quan hÖ trªn A

σE(R) = { t(E): t ∈ R }.

ThÝ dô 3.9:

R

TT HOTEN NS §IEM_CSDL §IEM_C

1 TuÊn Anh 1974 7 5

2 Huy C«ng 1974 8 3

3 Th. H­¬ng 1975 8 9

4 B×nh Minh 1976 2 3

E lµ Ýt nhÊt mét ®iÓm kÐm.

VËy

σE(R)

TT HOTEN NS §IEMCDL §IEMFOX

2 Huy C«ng 1974 8 3

4 B×nh Minh 1976 2 3

3.1.9 PhÐp kÕt nèi theo

Page 19: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Cho θ ∈{ = , < , > , ≤ , ≥ , ≠ } ; R(A), S(A’) víi

A ∩ A’ = ∅ vµ A = {A1, ...Ai, ..., An}, A’ = { B1, ...Bj, ..., Bm}

§Þnh nghÜa 3.10

PhÐp nèi theo R |><| i θjS lµ quan hÖ trªn A ∪ A’.

R |><| iθjS = {t ∈ R × S: t tháa Ai θ Bj hay t (Ai θ Bj)}.

ThÝ dô 3.10:

R S

H B C D E

1 2 3 3 1

4 5 6 6 2

7 8 9

Khi ®ã ta cã:

R |><| 2< 1S

H B C D E

1 2 3 3 1

1 2 3 6 2

4 5 6 6 2

3.1.10 PhÐp nèi nöa

Cho R(A) vµ S(A’) .

Page 20: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§Þnh nghÜa 2.12

Nèi nöa R|>< S lµ quan hÖ trªn A.

R |>< S = { t: t ∈ (R |><| S).A } = {t.A : t ∈ R |><| S }.

Tøc r |>< s = (r |><| s).A

ThÝ dô 3.11:

R S

H B C B C D

a b c b c d

d b c b c e

b b f a d b

R |>< S

H B C

a b c

d b c

Bài 4. TRUY VẤN BẰNG ĐSQH

Chóng ta cã thÓ dïng c¸c phÐp to¸n §SQH ®Ó truy vÊn th«ng tin tõ mét CSDL

ThÝ dô 4 .1:

Cho CSDL b¸n hµng gåm 5 quan hÖ sau:

kh( Makh , Tenkh, Tk).

Page 21: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§©y lµ quan hÖ kh¸ch hµng gåm c¸c thuéc tÝnh: m· kh¸ch hµng Makh, tªn kh¸ch hµng(Tenkh), tµi kho¶n(Tk).

nv( Manv , tenv...).

§©y lµ quan hÖ nh©n viªn gåm c¸c thuéc tÝnh m· nh©n viªn (Manv), tªn nh©n viªn(Tenv), v.v.

sp( Masp, Tensp, DVT, NSX, GIA).

§©y lµ quan hÖ s¶n phÈm gåm c¸c thuéc tÝnh: m· s¶n phÈm (Masp), tªn s¶n phÈm(Tensp), ®¬n vÞ tÝnh (DVT), n¬i s¶n xuÊt (NSX), gi¸ (GIA).

hd( SOHD, NHD, Makh, Manv, Trigia).

§©y lµ quan hÖ hãa ®¬n gåm c¸c thuéc tÝnh: sè ho¸ ®¬n (SOHD), ngµy lËp ho¸ ®¬n(NHD), m· kh¸ch hµng , m· nh©n viªn lËp ho¸ ®¬n, trÞ gi¸ ho¸ ®¬n (Trigia).

cthd( SOHD, Masp, SL).

§©y lµ quan hÖ chi tiÕt hãa ®¬n gåm c¸c thuéc tÝnh: sè ho¸ ®¬n, m· s¶n phÈm, sè l­îng(SL)

C¸c thuéc tÝnh khãa ®­îc g¹ch ngang d­íi, vÝ dô Masp

B»ng c¸c phÐp to¸n ®¹i sè quan hÖ(§SQH), thùc hiÖn c¸c yªu cÇu sau :

1. LËp b¶ng Masp, Tensp do kh¸ch hµng cã tªn lµ A mua.

2. LËp b¶ng SOHD, TRIGA do nh©n viªn cã tªn lµ Hoa lËp trong ngµy 1/1/2009.

3. T×m c¸c SOHD ®· mua cïng lóc hai mÆt hµng cã m· 1 vµ 2.

4. LËp danh s¸ch Masp, Tensp kh«ng b¸n ®­îc.

5. LËp danh s¸ch Makh, Tenkh ®· mua hÕt tiÒn ( tæng c¸c TRIGIA = Tk).

6. Läc m· nh©n viªn, tªn nh©n viªn ®· lËp hãa ®¬n cho okhachs hµng A trong quÝ 1 n¨m2011

Page 22: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 4.1 Minh häa c¬ së d÷ liÖu b¸n hµng

Thùc hiÖn c¸c yªu cÇu trªn:

1. Nèi – chän – chiÕu

R1 = kh |><| hd |><| cthd |><| sp

§Æt E lµ ®iÒu kiÖn : Tenkh = A

Chän trong R1 nh÷ng bé tho¶ m·n ®iÒu kiÖn E cho vµo R2

R2 = E (R1) vµ chiÕu R2 lªn Masp, Tensp

R = R2[Masp, Tensp]

Hay

R = ( E ( kh |><| hd |><| cthd |><| sp))[Masp, Tensp].

Kªt qu¶ cã trong b¶ng A_MUA h×nh 2.11

Page 23: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 4.2 Minh häa kÕt qu¶ phÐp läc

2.

- Nèi

R1 = hd |><| nv

- Chän

Gäi E lµ diÒu kiÖn: (Tenv = Hoa) and ( NHD = 1/1/2007)

R2 = E (R1) vµ kÕt qu¶ cã trong R sau

- ChiÕu

R = R2[SOHD, Trigia].

Hay

R = ( E ( hd |><| nv))[SOHD, Trigia]

E lµ ®iÒu kiÖn: (Tenv = Hoa) and ( NHD = 01/01/2007)

3. Ta t×m lÇn l­ît c¸c sè ho¸ ®¬n ®· mua 1 vµ c¸c sè ho¸ ®¬n ®· mua 2, giao cña hai tËp®ã lµ nh÷ng sè ho¸ ®¬n ®· mua c¶ hai mÆt hµng 1 vµ 2.

Page 24: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

R1 = ( MASP = 1 (cthd))[SOHD]

R2 = ( MASP = 2 (cthd))[SOHD]

R = R2 ∩ R4 .

Hay

R = ( MASP = 1 (cthd))[SOHD] ∩ ( MASP = 2 (cthd))[SOHD]

4. M· s¶n phÈm kh«ng b¸n ®­îc lµ nh÷ng m· s¶n phÈm cã trong b¶ng sp nh­ng kh«ngxuÊt hiÖn ( dï 1 lÇn) trong c¸c cthd.

R1 = sp[Masp] \ cthd[Masp]

R2 = sp |><| R1

R = R2[Masp, Tensp]

Hay

R = (sp |><| (sp[Masp] – cthd[Masp]))[Masp, Tensp]

5. Muèn tÝnh tæng trÞ gi¸ chóng ta ph¶i cã mét phÐp to¸n sè häc, phÐp tÝnh tæng nh­ngtrong §SQH kh«ng cã phÐp to¸n nµy. VËy yªu cÇu ®Æt ra kh«ng gi¶i ®­îc.

L­u ý

Trong §SQH n¨m phÐp to¸n: hîp, hiÖu, tÝch Decac, chän, chiÕu lµ n¨m phÐp to¸n c¬b¶n.

N¨m phÐp to¸n: Nèi tù nhiªn, nèi theo , nèi nöa, giao, chia lµ c¸c phÐp to¸n kh«ng c¬b¶n.

§Þnh lý 4.1

C¸c phÐp to¸n c¬ b¶n ®éc lËp lÉn nhau.

Page 25: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

C¸c phÐp to¸n kh«ng c¬ b¶n ®­îc biÓu thÞ qua n¨m phÐp c¬ b¶n.

ThÝ dô 4.2:

XÐt CSDL QL ®iÓm gåm c¸c quan hÖ sau:

SV(MaSV, HoTEN, NS, QUE, GT, MaLOP)

KH( MaKH, TeNKH, DC)

LOP(MaLOP, TenLOP, SL, MaKH)

MH(MaMH, TenMH, ST)

KQ(MaSV, MaMH, DIEM)

B»ng §SQH läc

a. Sinh viªn cã ®iÓm CSDL trªn 8

b. Sinh viªn ch­a thi m«n CSDL

c. M· m«n häc, tªn m«n häc cã sè tr×nh (ST) trªn 3.

d. M· líp tªn líp cã sè l­îng ( SL) sinh viªn trªn 100.

ThÝ dô 4.3:

XÐt CSDL qu¶n lý då ¸n tèt nghiÖp gåm c¸c quan hÖ sau

KH(MaKH, TenKH, DC)

GV(MaGV, TenGV, MaKH,HH, HV)

DT(MaDT, TenDT, MaGV, NBD, NKT)

SV(MaSV, TenSV, NS, GT, MaDT, Diem)

B»ng §SQH thùc hiÖn c¸c yªu cÇu sau:

a. Läc MaSV, TenSV do c¸c GS h­íng dÉn

b. Läc MaSv, TenSV do c¸c Ths h­íng dÉn

c. Läc MaSV, TenSV do PGS ‘NguyÔn V¨n’ h­íng dÉn

d. Läc gi¸o viªn kh«ng h­íng dÉn sinh viªn n¨m 2010

e. Läc gi¸o viªn cã h­íng dÉn ®å ¸n hai n¨m 2010 va 2011

Page 26: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Bµi 5: KH¸I NIÖM Phô THUéC HµM (PTH)

5.1 §Þnh nghÜa phô thuéc hµm trªn l­îc ®å A

Cho A = {A1, A2,... , An} ; X, Y ⊂ A.

§Þnh nghÜa 5.1 Phô thuéc hµm trªn l­îc ®å A

Ta nãi Y phô thuéc hµm vµo X (hoÆc X x¸c ®Þnh phô thuéc hµm Y) trªn l­îc ®å quan hÖ

A, ký hiÖu X → Y nÕu t. X = t’. X t.Y = t’.Y, víi t, t’ R vµ R lµ quan hÖ trªn A.

X lµ tËp thuéc tÝnh x¸c ®Þnh (determinant), Y lµ tËp thuéc tÝnh phô thuéc (dependent).

ThÝ dô 5.1:

Cho l­îc ®å A = {Manv, Hoten, NS, Que, HS, Luong} víi thuéc tÝnh m· nh©n viªn Manv,Hä tªn, n¨m sinh , quª, HÖ sè vµ L­¬ng t­¬ng øng.

Manv → { Manv, Hoten, NS, Que, HS, Luong}, HS → Luong, Luong → HS.

Ta cã tËp phô thuéc hµm trªn A lµ

F = { Manv → { Manv, Hoten, NS, Que, Hs, Luong}, HS → Luong, Luong → HS}=

{Manv → A, HS → Luong, Luong → HS}...

5.2 §Þnh nghÜa phô thuéc hµm trong quan hÖ R

Cho R(A) = R(A1, A2,... , An) ; X, Y ⊂ A.

Page 27: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§Þnh nghÜa 5.2 Phô thuéc hµm trong mét quan hÖ R

Ta nãi X x¸c ®Þnh phô thuéc hµm Y, ký hiÖu X → Y, trong R nÕu ∀ t, t’ ∈ R mµ t. X

= t’.X th× t. Y = t’.Y.

ThÝ dô :

R

H B C D

0 0 0 0

1 1 1 1

0 1 0 1

Râ rµng trong R th× H → C ( v× c¸c bé b»ng nhau trong H còng b»ng nhau trong C), B →D,...

5.3 C¸c tÝnh chÊt cña phô thuéc hµm

A1. TÝnh ph¶n x¹: X →X, vµ nÕu Y ⊂ X th× X → Y

A2. TÝnh më réng hai vÕ: X → Y ⇒ XZ → YZ ( më réng hai vÕ tËp Z)

A3. TÝnh b¾c cÇu: X → Y vµ Y → Z ⇒ X → Z

4. TÝnh tùa b¾c cÇu: X → Y vµ Y Z → W ⇒ XZ → W

5. TÝnh më réng tr¸i vµ thu hÑp ph¶i: X → Y ⇒ XZ → Y - W

6. TÝnh céng ®Çy ®ñ: X → Y vµ Z → W ⇒ XZ → YW

7. TÝnh tÝch lòy: X → Y vµ Y → ZW ⇒ X → YZW

ThËt vËy:

Page 28: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

TÝnh ph¶n x¹ Ar1: §iÒu nµy hiÓn nhiªn v× t vµ t’ ®· b»ng nhau trong tËp

X th× chóng ph¶i b»ng nhau trong mäi tËp con cña X, nãi c¸ch kh¸c

t.X = t’.X ⇒ t.X = t’.X vµ t.Y = t’.Y víi mäi Y ⊂ X.

TÝnh b¾c cÇu Ar3: Gi¶ sö t.X = t’.X theo gi¶ thiÕt X → Y nªn ta cã t.Y = t’.Y mµ

t.Y = t’.Y theo gi¶ thiÕt Y → Z ta l¹i cã t.Z = t’.Z. VËy tõ t.X = t’.X ta suy ra ®­îc

t.Z = t’.Z, nªn X → Z.

TÝnh më réng hai vÕ Ar2: Gi¶ sö t.XZ = t’.XZ ta ph¶i chøng minh t.YZ = t’.YZ

Tõ t.XZ = t’.XZ ta cã t.X = t’.X vµ t.Z = t’.Z. Theo gi¶ thiÕt

t.X = t’.X th× t.Y = t’.Y. VËy tõ t.XZ = t’.XZ ta cã t.Y = t’.Y vµ

t.Z = t’.Z mµ t.Y = t’.Y vµ t.Z = t’.Z th× t.YZ = t’.YZ. VËy XZ → YZ.

Bµ× 6. PHEP SUY D¢N

6.1 HÖ tiªn ®Ò Armstrong vµ c¸c phÐp suy dÉn

HÖ {A1, A2, A3} ®­îc gäi lµ hÖ tiªn ®Ò Armstrong.

HÖ {A1, A2, A3} lµ hÖ tiªn ®Ò v× tõ ®©y chóng ta cã thÓ suy ra c¸c tÝnh chÊt kh¸c.

a. PhÐp suy dÉn theo hÖ tiªn ®Ò

§Þnh nghÜa 6.1 Phô thuéc hµm suy dÉn ®­îc tõ hÖ tiªn ®Ò

Ta nãi phô thuéc hµm f suy dÉn ®­îc theo hÖ tiªn ®Ò Armstrong tõ tËp F, ký hiÖu F |= f,nÕu f cã thÓ nhËn ®­îc tõ F sau mét sè h÷u h¹n lÇn ¸p dông hÖ tiªn ®Ò Armstrong vµo c¸cphô thuéc hµm trong F.

Page 29: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô6.1:

Cho A = {H, B, C, D} lµ l­îc ®å quan hÖ.

F = {H → B, H → C, H → D}, f lµ H → BCD

Ta thÊy ngay f cã thÓ nhËn ®­îc tõ phÐp céng ®Çy ®ñ tøc F |= H→BCD vµ

F |= H → HB (theo tÝnh ph¶n x¹ vµ céng ®Çy ®ñ) hoÆc F |= H → HBCD (theo tÝnh

céng ®Çy ®ñ),...

b. PhÐp suy dÉn theo quan hÖ

§Þnh nghÜa 6.2 Phô thuéc hµm suy dÉn ®­îc theo quan hÖ

Ta nãi r»ng f suy dÉn ®­îc tõ tËp F theo quan hÖ, ký hiÖu F |- f, nÕu víi mäi quan hÖ R

trªn l­îc ®å A mµ F tháa m·n quan hÖ R th× f còng tháa m·n R.

§Þnh lý 6.1

F |- f F |= f.

§Þnh lý 6.2

HÖ tiªn ®Ò Armstrong lµ ®óng ®¾n vµ ®Çy ®ñ.

Bµi 7. KHAI NI£M BAO §ONG

Page 30: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

7.1 Bao ®ãng F+ cña tËp phô thuéc hµm F

a. §Þnh nghÜa F+

Cho l­îc ®å A = {A1, A2,... An}; F lµ tËp phô thuéc hµm trªn A.

§Þnh nghÜa 7.1 Bao ®ãng cña tËp phô thuéc hµm F

Bao ®ãng cña tËp phô thuéc hµm F ký hiÖu F+ lµ tËp tÊt c¶ c¸c phô thuéc hµm f suy dÉn ®-­îc tõ tËp F.

VËy F+ = {f: F | = f}.

ThÝ dô 7.1:

Cho l­îc ®å A = { B, C, D, E}

F = {E → B, B → C, E → D, B → D}

Khi ®ã F + = {E → B, B → C, E → D, B → D, E → BD, E → BCD, E → C, E → CD, E

→ BC, B → CD,... }.

Ta thÊy F + lu«n chøa F.

b. C¸c tÝnh chÊt ®¬n gi¶n cña tËp F+

a. TÝnh ph¶n x¹: F ⊂ F+.

b. TÝnh ®¬n ®iÖu: nÕu F ⊆ G th× F+ ⊆ G+.

c. TÝnh lòy ®¼ng: F++ = F+.

Page 31: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

7.2 Bao ®ãng X+ cña tËp thuéc tÝnh X

a. §Þnh nghÜa bao ®ãng X+

Cho A = {A1, A2,... An}. F lµ tËp phô thuéc hµm trªn A; X ⊆ A.

§Þnh nghÜa 7.2

Bao ®ãng X+ : X+ = {B: B ∈ A vµ X → B ∈ F+}.

Ta cã thÓ nãi bao ®ãng X+ lµ tËp tÊt c¶ nh÷ng thuéc tÝnh B cña A mµ X kÐo theo.

ThÝ dô 7.2:

Gi¶ sö A = {H, B, C, D, E, G}.

F = {H → C, H → EG, B → D, G → E}.

X = {H, B}, Y = {C, G, D}.

Khi ®ã ta sÏ cã: X+ = {H, B, C, D, E, G}

Y+ = {C, G, D, E}.

b. C¸c tÝnh chÊt cña tËp bao ®ãng X+

NÕu X, Y lµ c¸c tËp con cña tËp thuéc tÝnh A th× ta cã c¸c tÝnh chÊt:

1.TÝnh ph¶n x¹: X ⊆ X+

2.TÝnh ®¬n ®iÖu: NÕu X ⊆ Y th× X+ ⊆ Y+

3.TÝnh lòy ®¼ng: X+ + = X+

4. (XY)+ ⊇ X+Y+ ( bao ®ãng cña hîp chøa hîp c¸c bao ®ãng)

Page 32: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

5. (X+Y)+ = (XY+)+ = (X+ Y+)+. = (XY)+

6. X → Y ⇔ Y ⊆ X+

7. X → Y ⇔ Y+ ⊆ X+

8. X → X+ vµ X+ → X

9. X+ = Y+ ⇔ X → Y vµ Y → X.

Chøng minh :

TÝnh chÊt 1: X ⊆ X+. ThËt vËy theo tÝnh ph¶n x¹ cña hÖ tiªn ®Ò Armstrong ta cã ngay víi

mäi thuéc tÝnh B cña X th× X → B, nªn theo ®Þnh nghÜa cña X+( X+ lµ tËp c¸c thuéc tÝnh B

mµ X → B) th× X ⊆ X+

TÝnh chÊt 2 (tÝnh ®¬n ®iÖu): Gi¶ sö X ⊆ Y ta ph¶i chøng minh X+ ⊆ Y+.

ThËt vËy lÊy B ∈ X+, theo ®Þnh nghÜa ta cã X → B mµ X ⊆ Y nªn ta cã Y → B. VËy B ∈Y+

TÝnh chÊt 8: Ta chøng minh tÝnh chÊt 8 tøc lµ tÝnh chÊt ∀ X th× X →X+ vµ

X+ → X.

Theo tÝnh ph¶n x¹ v× X ⊆ X+ nªn X+ → X.

B©y giê ta chøng minh X → X+.

Theo ®Þnh nghÜa cña tËp X+ ta cã X+ = {B: X → B ∈ F+ }.

VËy gi¶ sö X+ = {D, B, C,...} khi ®ã :

X → D

X → B

X → C

...

Page 33: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Theo tÝnh céng ®Çy ®ñ ta cã X → {D, B, C, ...} = X+.

TÝnh chÊt 3: X+ + = X+

Râ rµng theo tÝnh ph¶n x¹ ta cã ngay X+ ⊆ X+ +. B©y giê lÊy B ∈ X++ tøc lµ X+ → B mµ

theo tÝnh chÊt 8 võa chøng minh th× X → X+ nªn X → B hay B∈ X +.

VËy X + + = X+.

TÝnh chÊt 4: (XY)+ ⊇ X+Y+

LÊy B ∈ X+Y+ tøc B ∈ X+ hoÆc B ∈ Y+ tøc lµ X → B hoÆc Y → B ⇒ XY → B .

Hay B ∈ (XY)+.

TÝnh chÊt 9: X+ = Y+ ⇔ X → Y vµ Y → X

a - ChiÒu xu«i ⇒ : ta cã X+ = Y+. V× X → X+ vµ Y+ → Y nªn X → Y chøng minh t­¬ng

tù ta cã Y → X.

b - ChiÒu ng­îc ⇐ : LÊy B ∈ X+ tøc lµ X → B v× Y → X nªn Y → B hay B ∈ Y+. T­¬ng

tù lÊy B ∈ Y+ ta chøng minh ®­îc B ∈ X+. VËy X+ = Y+.

TÝnh chÊt 6 : §· ®­îc chøng minh trong bæ ®Ò 2.6.

TÝnh chÊt 7 : Gi¶ sö X → Y, theo tÝnh chÊt 6 ta cã Y ⊆ X+

lÊy bao ®ãng ta cã Y+ ⊆ X++ mµ X++ = X+ nªn Y+ ⊆ X+. Ng­îc l¹i gi¶ sö Y+ ⊆ X+ nªn

X+ → Y+. Theo tÝnh chÊt 8 ta cã X → X+ vµ Y+ → Y nªn X → Y.

TÝnh chÊt 5 : ¸nh x¹ tõ X lªn X + lµ ¸nh x¹ ®ãng nªn chóng ta cã thÓ sö dông kÕt qu¶ bæ®Ò 1.3 trong phÇn 1.4 cña ch­¬ng 1 ®Ó chøng minh tÝnh chÊt 5. HoÆc c¸c b¹n cã thÓ chøngminh trùc tiÕp.

Page 34: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

7.4 ThuËt to¸n t×m bao ®ãng X+, bµi to¸n thµnh viªn

a. Bµi to¸n thµnh viªn

Cho tËp F vµ mét phô thuéc hµm f, cã hay kh«ng mét kh¼ng ®Þnh f thuéc F+ ? ( hay f cãlµ thµnh viªn cña F+ kh«ng ? )

§Ó gi¶i bµi to¸n thµnh viªn chóng ta cã thÓ dïng tÝnh chÊt 6 cña tËp bao ®ãng X + hoÆc bæ

®Ò 2.1 ®ã lµ tÝnh chÊt: X → Y ∈ F + ⇔ Y ⊂ X +. Do vËy chØ cÇn tÝnh X + vµ so s¸nh víi

tËp Y ta cã ngay c©u tr¶ lêi lµ X → Y = f thuéc F + hay kh«ng.

b. ThuËt to¸n t×m bao ®ãng X +

ThuËt to¸n t×m X+ cña Beeri vµ Bernstein.

Input: A = {A1, A2,... , An}; F lµ tËp phô thuéc hµm trªn A; X ⊆ A.

Output : X +

Algorithm :

Ta sÏ x©y dùng d·y X0, X1,... , Xk... nh­ sau:

X0 = X

X(i +1) = XiZ i víi Z i = {B: B ∉ Xi vµ Xi → B∈F+}, trong ®ã i = 0, 1, 2,...

Tån t¹i sè nguyªn k (bÐ nhÊt) sao cho:

Xk = X(k+1) = X(k+2) = ... vµ Zk = Zk+1 = . . . =

TËp Xk ®ã chÝnh lµ tËp X+ = Xk

Page 35: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô 7.4:

Gi¶ sö A = {H, B, C, D, E, G} vµ tËp F nh­ sau:

F = {HB → C, C → H, BC → D, HCD → B, D → EG, BE → C, CG → BD, CE → HG},X = {B, D}, X + = ?

X + = {B, D}+ = {H, B, C, D, E, G} = A.

ThuËt to¸n 7.1 TÝnh X+

Input: L­îc ®å quan hÖ A, tËp phô thuéc hµm F trªn A, tËp thuéc tÝnh X ⊆ A

Output: TËp X +

ThuËt to¸n:

Begin

Y: = X;

repeat

Z: = ∅;

for each B in A do

if (B ∉ Y and Y → B ∈ F+) then Z: = Z ∪ B;

Y: = Y ∪ Z;

until Z = ∅;

X+ = Y

end;

Bµi 8. KhÁi nIỆM KHÓA

8.1. Khãa, khãa chÝnh, khãa ngo¹i

Cho l­îc ®å quan hÖ A = {A1, A2,... An}; F lµ tËp phô thuéc hµm trªn A.

Page 36: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§Þnh nghÜa 8.1 S¬ ®å quan hÖ

S¬ ®å quan hÖ lµ cÆp A , F ký hiÖu lµ W = < A, F >.

8.1 §Þnh nghÜa khãa cña s¬ ®å quan hÖ

Cho s¬ ®å quan hÖ W = < A, F >. Trong ®ã A = {A1, A2, ..., An} lµ tËp thuéc tÝnh, F lµ tËpphô thuéc hµm trªn A.

§Þnh nghÜa 8.2 Kho¸ (key) tèi thiÓu

TËp k ⊆ A ®­îc gäi lµ kho¸ tèi thiÓu cña W = < A, F > nÕu k tho¶ hai ®iÒu kiÖn:

(1) k+ = A ( hay k →A)

(2) k tèi thiÓu.

Bæ ®Ò 8.1

Mäi s¬ ®å quan hÖ W = < A, F > lu«n cã kho¸.

Chøng minh bæ ®Ò 8.1 b»ng c¸ch lÊy k = A råi bít dÇn c¸c thuéc tÝnh B mµ (k-B)+ = A ®Ócã k tèi thiÓu.

L­u ý

1. Ký hiÖu Fn lµ tËp c¸c thuéc tÝnh thø cÊp ( kh«ng khãa )cña W = < A, F >.2. Mét s¬ ®å quan hÖ cã thÓ cã nhiÒu khãa vµ tËp thø cÊp Fn cã thÓ rçng.

ThÝ dô 8.1:

Page 37: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Cho s¬ ®å quan hÖ W = < A, F > víi A = {H, B, C, D, E, G},

F = {HB → C, D → EG, C → H, BE → C, BC → D, CG → BD, HCD → B, CE → HG}.Ta sÏ thÊy c¸c tËp thuéc tÝnh:

k1 = {H, B}, k2 = {B, E}, k3 = {C, G}, k4 = {C, E}, k5 = {C, D}, k6 = {B, C} ®Òu lµ c¸c

khãa cña W vµ tËp c¸c thuéc tÝnh khãa b»ng A, vµ v× vËy Fn = ∅.

8.2 C¸c thuËt to¸n t×m khãa cña W = < A, F >

Cho s¬ ®å quan hÖ W = < A, F >. T×m mét khãa cña W.

ThuËt to¸n 8.1 T×m 1 khãa cña W = < A, F >

Input: W= < A, F >;

Output: k lµ khãa cña W;

Algorithm:

B­íc 1: §Æt k = A

B­íc 2: LÆp qu¸ tr×nh lo¹i khái k c¸c thuéc tÝnh thõa B mµ (k - B)+ = A

Begin

k: = A ;

for each B in k do

if (k - B)+ = A then k: = k - B

End

ThÝ dô 8.2.a:

Cho W = < A, F >, víi A = {H, B, C, D, E, G, J, I}

Page 38: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

F ={HC → B, BI → HCD, HBC → D , J → I, HCE → BCG, CG →HE}

T×m k = ?

B­íc 1: k = A = {H, B, C, D, E, G, J, I}

B­íc 2: LÇn l­ît lo¹i c¸c thuéc tÝnh thõa trong k:

k = {C, G, J} lµ mét khãa cña W.

ThuËt to¸n 8.2 ThuËt to¸n t×m c¸c khãa cña W = < A, F >

Input W = < A, F >

Output k1, k2, ..., kl lµ c¸c khãa cña W

Algorithm

B­íc1: X©y dùng P(A) = { X1, X2, ...} lµ hä tÊt c¶ c¸c tËp con cña A

B­íc 2: X¸c ®Þnh M = { Xi : Xi∈ P(A) & Xi+ = A}.

B­íc 3: X¸c ®Þnh K lµ hä c¸c tËp cùc tiÓu cña M ( k lµ cùc tiÓu cña M nÕu nã kh«ngchøa phÇn tö nµo cña M). Khi ®ã K lµ hä khãa cña W

ThÝ dô 8.2.b:

Cho W = < A, F >, víi A = {H, B, C, D}, F ={HC → B, HBC → D }

B­íc 1:

P(A) = {Φ, H, B, C, D, HB , HC, HD, BC, BD, CD, HBC, HBD, HCD, BCD, HBCD}

B­íc 2: M = { HC, HBC, HBCD}

B­íc 3: K = { HC}. VËy W cã 1 khãa k = HC.

ThÝ dô 8.3:

Page 39: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Cho W = < A, F >, víi A = {H, B, C, D}

F ={HC → B, HBC → D, D → HC }

B­íc 1:

P(A) = {Φ, H, B, C, D, HB , HC, HD, BC, BD, CD, HBC, HBD, HCD, BCD, HBCD}

B­íc 2: M = { HC, HBC, HBCD, D}

B­íc 3: K = { HC, D}. VËy W cã 2 khãa k1= HC, k2 = D.

8.3 C¸c tÝnh chÊt cña kho¸

Bæ ®Ò 8.2

1 - C¸c thuéc tÝnh kh«ng xuÊt hiÖn trong c¶ vÕ tr¸i vµ vÕ ph¶i cña tËp F ph¶i cã trong mäikhãa k cña W = < A, F >.

2 - C¸c thuéc tÝnh chØ xuÊt hiÖn bªn tr¸i cña c¸c phô thuéc hµm trong F cña

W = <A, F > còng ph¶i thuéc mäi khãa k.

3- Sè l­îng c¸c phÇn tö trong mçi kho¸ cã thÓ kh¸c nhau.

4- Hä tÊt c¶ c¸c kho¸ cña mét W lµ hÖ Sperner ( tøc kh«ng cã hai kho¸ bao nhau)

§Þnh nghÜa 8.3 Kho¸ (key) tèi thiÓu- ®Þnh nghÜa t­¬ng ®­¬ng víi ®Þnh nghÜa 2.22

TËp k ⊆ A lµ kho¸ cña W = < U, F > nÕu k tháa m·n hai ®iÒu kiÖn:

(1) ∀ t1, t2 ∈ R (R bÊt kú trªn A) mµ t1 ≠ t2 th× t1. k ≠ t2. k

(2) k lµ tèi thiÓu.

§Þnh lý 8.1

Page 40: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Hai ®Þnh nghÜa 2.22 vµ 2.23 t­¬ng ®­¬ng nhau ( nghÜa lµ tõ ®Þnh nghÜa nµy suy ®Þnh nghÜakia)

8.4 Kho¸ cña mét quan hÖ R

§Þnh nghÜa 8.4 Kho¸ cña quan hÖ R

TËp k ⊆ A ®­îc gäi lµ kho¸ cña R nÕu k tháa 2 ®iÒu kiÖn:

(1) t. k ≠ t’.k ∀ t, t’ ∈ R vµ t ≠ t’

( k ) k tèi thiÓu

Cho A= {A1, A2 ..., An} lµ l­îc ®å quan hÖ. R = {t1, t2, ..., tm} lµ quan hÖ trªn A

Ta x©y dùng hai ma trËn: ma trËn kh¸c nhau D vµ ma trËn gièng nhau E

§Þnh nghÜa 8.5 Ma trËn kh¸c nhau ( ma trËn ph©n biÖt) D cña quan hÖ R

D = ( dij )m × m

víi dij = {b ∈ A: ti. b ≠ tj. b} lµ ma trËn kh¸c nhau ( hay ma tr©n ph©n biÖt) .

Ta dÔ dµng thÊy r»ng D lµ ma trËn ®èi xøng qua ®­êng chÐo chÝnh.

§Þnh nghÜa 8.6 Ma trËn b»ng nhau E cña quan hÖ R

E = ( eij )m × m

víi eij = {b ∈ A: ti. b = tj. b} lµ ma trËn b»ng nhau cña R trªn A.

L­u ý

Page 41: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

1. E, D lµ c¸c ma trËn ®èi xøng qua ®­êng chÐo chÝnh.2. eij ∪ dij = A.3. eii = A4. dii = .

5. Khi cÇn tÝnh E hoÆc D ta chØ cÇn tÝnh nöa trªn

ThÝ dô 8.7:

Cho quan hÖ R gåm 3 phÇn tö trªn A = { I, B, C, G, L, H} nh­ sau:

R

I B C G L H

1 2 2 2 3 3

1 2 3 3 3 4

1 1 3 2 2 4

Khi ®ã ma trËn D vµ E cã c¸c d¹ng:

E =

−−−−−−−−−−−−−−−−−−−−−−−

AIHIG

IHAIBL

IGIBLA

D =

−−−−−−−−−−−−

BCGLBCLH

BCGLCGH

BCLHCGH

Trong ma trËn E, A = {I, B, C, G, L, H} lµ tËp tÊt c¶ c¸c thuéc tÝnh.

ThuËt to¸n 8.4 T×m 1 kho¸ cña R dùa vµo E

Input Quan hÖ R = {t1, t2, ..., tm } trªn A = { A1, A2, ..., An}

Output k lµ mét kho¸ cña R

Page 42: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Algorithm

B­íc 1. TÝnh nöa trªn cña ma trËn E, tøc tÝnh eij víi j > i

B­íc 2. Läc trong E ra c¸c phÇn tö cùc ®¹i cho vµo M ( phÇn tö cùc ®¹i cña E

lµ phÇn tö kh«ng bÞ chøa trong phÇn tö kh¸c cña E).

B­íc 3. §Æt k = A

B­íc 4. Cho i ch¹y tõ 1 ®Õn n nÕu (k - Ai) kh«ng lµ tËp con cña mäi m∈M th×

k = k- Ai

KÕt thóc vßng lÆp ë b­íc 4 ta cã k lµ mét kho¸ cña R.

§Þnh lý 8.2

k t×m ®­îc theo thuËt to¸n 2.3 lµ mét kho¸ cña R.

Chøng minh:

§Ó chøng minh k lµ kho¸ ta cÇn l­u ý r»ng k lµ tèi thiÓu v× trong qu¸ tr×nh tèi thiÓu hãa kë b­íc 4 ta ®· kiÓm tra cho mäi thuéc tÝnh cña A. B©y giê ta chØ cÇn chøng minh nÕu i ≠j th× ti.k ≠ tj.k. §iÒu nµy hiÓn nhiªn v× nÕu ti.k = tj.k th× k lµ tËp con cña mét tËp m trongM, ®iÒu nµy v« lý víi viÖc chän tËp k trong b­íc 4.

ThuËt to¸n 8.5 T×m tÊt c¶ c¸c kho¸ cña R dùa vµo D

Input Quan hÖ R = {t1, t2, ..., tm } trªn A = { A1, A2, ..., An}

Output K = {k1, k2, ...kq} lµ hä kho¸ cña R

Algorithm

B­íc 1. TÝnh nöa trªn cña ma trËn D, tøc tÝnh dij víi j > i

B­íc 2. Coi mçi thuéc tÝnh lµ mét biÕn logic. §Æt f = ∧ ( ∨ dij ) ; f lµ héi cña

Page 43: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

c¸c tuyÓn ( ∨ dij lµ tuyÓn cña c¸c thuéc tÝnh trong dij )

B­íc 3. Tèi gi¶n f vµ ®­a f vÒ d¹ng tuyÓn cña c¸c héi f = k1 ∨ k2 ∨ ... ∨ kq

víi mçi ki lµ mét héi cña c¸c thuéc tÝnh.

Khi ®ã mçi ki lµ mét kho¸ cña R

§Þnh lý 8.2

Hä c¸c ki t×m ®­îc trong thuËt to¸n 2.5 lµ hä kho¸ cña quan hÖ R.

Tr­íc khi chøng minh ®Þnh lý 2.7 ta xÐt thÝ dô

ThÝ dô 8.8:

Cho R = {t1, t2, t3, t4, t5, t6, t7 } lµ quan hÖ trªn A = {I, B, C, G, H} sau:

R

I B C G H

1 0 1 0 1

1 2 3 3 1

2 2 3 4 2

3 3 2 2 3

4 4 0 5 5

5 5 4 1 1

4 5 5 6 0

Khi ®ã nöa trªn ( c¶ ®­êng chÐo) cña ma trËn D sÏ lµ

Page 44: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

d11 d12 d13 d14 d15 d16 d17 BCG A A A IBCG A

d22 d23 d24 d25 d26 d27 IGH A A IBCG A

d33 d34 d35 d36 d37 A A A A

d44 d45 d46 d47 = A A A

d55 d56 d57 A BCGH

d66 d67 ICGH

d77

Sö dông c¸c tÝnh chÊt cña tuyÓn vµ héi:

α ∧ α = α (1)

α ∨ α = α (2)

α ∧ (α ∨ β) = α (3)

α ∨ (α ∧ β) = α (4)

( a ∧ b) ∨ (α ∧ β) = (a ∨ α) ∧( a ∨ β) ∧ ( b ∨ α) ∧ ( b∨β) (5)

( a ∨ b) ∧ (α ∨ β) = (a ∧ α) ∨ ( a ∧ β) ∨ ( b ∧ α) ∨ ( b∧β) (6)

Khi ®ã f = ∧(∨ di j) = ( B∨C ∨G ) ∧ (I ∨G ∨H) = (I∧B) ∨ (B∧H) ∨ G = IB ∨ BH ∨ G =

k1 ∨ k2 ∨ k3.

VËy R cã 3 kho¸ k1= IB, k2 = BH, k3 = G

Chóng ta thÊy biÓu thøc tèi gi¶n cña f = ∧(∨ dij) lµ tuyÓn cña c¸c héi sau khi ®· l­îc bác¸c sè h¹ng t­¬ng ®­¬ng.

L­u ý

Mét quan hÖ R cã thÓ cã nhiÒu khãa

Page 45: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§Þnh nghÜa 8.7 Khãa chÝnh, khãa ngo¹i

khãa chÝnh ( primary key-pk) cña quan hÖ R lµ mét khãa cña R ®­îc chän lµm khãachÝnh.

Khãa ngo¹i ( foreign key-fk) cña R lµ tr­êng d÷ liÖu ®ãng vai trß khãa chÝnh trong quanhÖ S kh¸c.

ThÝ dô 8.9:

XÐt CSDL trong thÝ dô 2.17

kh( Makh , Tenkh, DS...)

nv( Manv , Tnenv...)

sp( Masp, Tensp, DVT, NSX, GIA)

hd( SOHD, NHD, Makh, Manv, Trigia)

cthd( SOHD, Masp, SL)

Makh lµ khãa chÝnh trong quan hÖ kh vµ lµ khãa ngo¹i trong quan hÖ hd.

Manv lµ khãa chÝnh trong quan hÖ nv vµ lµ khãa ngo¹i trong quan hÖ hd.

SOHD lµ khãa chÝnh trong quan hÖ hd vµ lµ khãa ngo¹i trong quan hÖ cthd.

Masp lµ khãa chÝnh trong quan hÖ sp vµ lµ khãa ngo¹i trong quan hÖ cthd.

8.5 Ph¶n kho¸ cña s¬ ®å quan hÖ W = < A, F>

Cho W = < A, F> lµ s¬ ®å quan hÖ. Gi¶ sö K = {k1, k2, ..., kl} lµ hä khãa cña W.

§Þnh nghÜa 8.8 Ph¶n khãa cña s¬ ®å quan hÖ

Page 46: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

TËp thuéc tÝnh X ⊆ A ®­îc gäi lµ mét ph¶n khãa cña W nÕu X kh«ng chøa mét

khãa ki nµo nh­ng nÕu thªm vµo X mét thuéc tÝnh b th× Xb chøa mét khãa ki nµo ®ã.

Ký hiÖu K-1 lµ hä c¸c ph¶n khãa cña W.

ThÝ dô

W = < HBCD, {HB → C, C → H}> . Khi ®ã hä khãa cña W lµ K = {HBD, CBD} vµ K-1

= {BD}; W chØ cã mét ph¶n khãa.

Bài 9. CÁC DẠNG CHUẨN

Trong c«ng t¸c qu¶n lý vµ xö lý CSDL. Ta sÏ xÐt mét sè d¹ng ®Æc biÖt mµ trong CSDLgäi lµ c¸c d¹ng chuÈn NF (Normal Forms).

Sù ph©n lo¹i c¸c s¬ ®å quan hÖ W = < A, F > theo c¸c NF thùc chÊt lµ ph©n lo¹i c¸c s¬®å quan hÖ dùa vµo dÆc tr­ng cña tËp phô thuéc hµm F.

9.1 D¹ng chuÈn 1 : 1NF

D¹ng chuÈn 1 (1st Norm Form) ký hiÖu lµ 1NF.

Cho l­îc ®å quan hÖ A, F lµ tËp phô thuéc hµm trªn A.

Khi ®ã ta cã s¬ ®å quan hÖ W = < A, F >.

§Þnh nghÜa 9.1 D¹ng chuÈn 1

W = <A, F> ®­îc gäi lµ d¹ng chuÈn 1 (1NF) nÕu vµ chØ nÕu toµn bé c¸c miÒn gi¸ trÞ cãmÆt trong A ®Òu chØ chøa c¸c gi¸ trÞ nguyªn tè (gi¸ trÞ nguyªn tè lµ gi¸ trÞ kh«ng thÓ t¸chthµnh c¸c gi¸ trÞ kh¸c - gi¸ trÞ ®¬n).

Page 47: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Khi W = <A, F> lµ 1NF th× mäi quan hÖ R trªn A còng ®­îc gäi t­¬ng øng lµ quan hÖ1NF.

ThÝ dô 9.1:

§Æt A = {Masv, Hoten, Que, GT}, Masv (m· sinh viªn) lµ kho¸ chÝnh khi ®ã tËp phôthuéc hµm ( kh«ng tÝnh c¸c phô thuéc hµm tÇm th­êng):

F = {Masv → A} vµ W = < A, F > vµ v× mçi sinh viªn chØ cã mét m· duy nhÊt, mét hätªn, mét quª vµ mét giíi tÝnh nªn W lµ 1NF. TÊt nhiªn mäi quan hÖ r trªn A lµ 1NF.

LÊy A = {Magv, Tenmon, HT} víi Magv lµ m· gi¸o viªn, Tenmon lµ tªn m«n häc mµgi¸o viªn tham gia d¹y, HT lµ héi tr­êng lªn líp. Khi ®ã mçi gi¸o viªn cã thÓ d¹y nhiÒum«n vµ ë nhiÒu héi tr­êng kh¸c nhau vÝ dô ta xÐt b¶ng th«ng b¸o R trªn A sau:

R

Magv Tenmon HT

Gv1, Gv2 CSDL, Java E1, E2

Gv3, Gv4 C, C++, Web E3, E4

B¶ng R cã thÓ coi lµ mét quan hÖ R trªn A (theo nghÜa më réng -kh«ng ®¬n trÞ v× gi¸ trÞcña mçi thuéc tÝnh trªn mçi bé ®Òu kh«ng ®¬n trÞ).

§©y lµ mét quan hÖ kh«ng lµ 1NF v× c¸c thuéc tÝnh cã miÒn gi¸ trÞ kh«ng ®¬n trÞ mµ ®atrÞ. VËy quan hÖ trªn kh«ng lµ d¹ng chuÈn 1NF vµ tÊt nhiªn

W = < A, F > còng kh«ng lµ 1NF.

L­u ý:

1. Tuy nhiªn mäi quan hÖ R nh­ trªn ta lu«n ®­a vÒ ®­îc d¹ng ®¬n trÞ

R

Magv Tenmon HT

Gv1 CSDL E1

Gv2 Java E2

Page 48: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Gv3 C E3

Gv4 C++ E4

Gv3 Web E3

2. Mäi quan hÖ ®Òu cã thÓ ®­a vÒ d¹ng ®¬n trÞ nªn mäi S§QH W = < A, F> ®Òu cã thÓcoi lµ chuÈn 1NF.

3. Mäi s¬ ®å quan hÖ W = < A, F> lµ 1NF. Líp 1NF chøa tÊt c¶ c¸c s¬ ®å quan hÖ.

9.2 D¹ng chuÈn 2NF

§Þnh nghÜa 9.2 §Þnh nghÜa phô thuéc hoµn toµn

Ta nãi Y phô thuéc hoµn toµn vµo X, nÕu trong X kh«ng cã tËp con thùc sù X1 mµ X1 →Y. Nãi c¸ch kh¸c Y phô thuéc hoµn toµn vµo X nÕu:

X → Y vµ bít khái X dï mét thuéc tÝnh B th× tËp cßn l¹i X - B kh«ng kÐo theo Y.

Cho s¬ ®å quan hÖ W = < A, F >; k lµ mét khãa cña W.

§Þnh nghÜa 9.3 D¹ng chuÈn 2NF

Ta nãi W lµ 2NF, nÕu mäi thuéc tÝnh thø cÊp cña W phô thuéc hoµn toµn vµo khãa.

Nãi c¸ch kh¸c W lµ 2NF nÕu: trong W kh«ng cã phô thuéc hµm d¹ng:

X → b mµ b∈ Fn vµ X lµ tËp con thùc sù cña khãa.

Tõ ®Þnh nghÜa ta thÊy ngay lµ líp c¸c s¬ ®å quan hÖ 2NF lµ líp con thùc sù cña líp 1NF,v× cã nhiÒu s¬ ®å quan hÖ kh«ng lµ 2NF.

ThÝ dô 9.3:

Page 49: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Ta xÐt quan hÖ R sau:

R

TT HOTEN NS T§O QUE GT

01 TuÊn Anh 1960 §¹i häc HuÕ Nam

02 Lan Anh 1977 §¹i häc Hµ Néi N÷

03 §×nh §«ng 1945 TS VÜnh Phó Nam

05 §×nh §«ng 1943 TS Hµ Néi Nam

06 C«ng Nô 1960 TS VÜnh Phó Nam

07 Hoa HuÖ 1972 Tr. häc NghÖ An N÷

Ta thÊy ngay r»ng tËp cã mét thuéc tÝnh TT lµ khãa cña quan hÖ R v× theo ®Þnh nghÜa cña

PTH ta cã TT →{HOTEN, NS, T§¤, GT, QU£}. V× R lµ 1NF vµ tËp khãa chØ cã métphÇn tö nªn kh«ng thÓ cã phÇn tö kh«ng khãa phô thuéc hµm vµo tËp con thùc sù cñakhãa (tËp con thùc sù cña khãa b»ng rçng), vËy R lµ 2NF.

Bæ ®Ò 9.1

W lµ 2NF nÕu mçi khãa cña W chØ cã mét thuéc tÝnh.

ThÝ dô 9.3:

Quay l¹i thÝ dô 2. 23 , ta ®· thÊy khãa cña W lµ:

K1 = {H, B}, K2 = {B, E}, K3 = {C, G}, K4 = {C, E}, K5 = {C, D}, K6 = {B, C}.

Trong thÝ dô nµy tÊt c¶ c¸c phÇn tö cña tËp thuéc tÝnh A ®Òu lµ phÇn tö khãa, tøc lµ tËp c¸c

phÇn tö kh«ng khãa b»ng rçng nªn kh«ng cã PTH d¹ng B → b mµ b lµ phÇn tö thø cÊp.VËy W lµ 2NF.

Bæ ®Ò 9.2

W lµ 2NF nÕu tËp c¸c thuéc tÝnh kh«ng khãa Fn = .

Page 50: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô 9.4:

Sau ®©y ta xÐt mét thÝ dô W kh«ng lµ 2NF.

Cho W = < A, F >, víi A = {G, B, C, D, E, H};

F = {G → E, C → D, E → DH}.

DÔ dµng thÊy r»ng tËp k = {G, B, C} lµ khãa duy nhÊt cña W, D lµ thuéc tÝnh kh«ng

khãa vµ C → D, v× C lµ tËp con thùc sù cña khãa nªn W kh«ng lµ 2NF.

Hay xÐt tËp thuéc tÝnh A = { Mav, Tenv, Pho, Sonha} gåm c¸c thuéc tÝnh m· vïng, tªnvïng, phè, sè nhµ. DÔ dµng thÊy r»ng tõ m· vïng suy ra tªn vïng vµ tõ tªn vïng suy ra m· vïng

vµ khi ®ã tËp F = { Mav → Tenv, Tenv → Mav}, s¬ ®å quan hÖ W = < A, F > lµ 2NF v×

W cã hai kho¸ k1 = { Mav, Pho, Sonha}, k2 = { Tenv, Pho, Sonha} vµ tËp thø cÊp Fn = ∅.

L­u ý

VËy vi ph¹m cña 2NF lµ tËp con thùc sù cña kho¸ kÐo theo thuéc tÝnh thø cÊp.

9.3 D¹ng chuÈn 3NF

Cho s¬ ®å quan hÖ W = < A, F >.

§Þnh nghÜa 9.4 D¹ng chuÈn 3NF

W lµ 3NF nÕu trong W kh«ng tån t¹i phô thuéc hµm d¹ng X → b mµ

b∈Fn vµ X+ ≠ A.

ThÝ dô 9.4:

a. W kh«ng lµ 3NF: W= < {a, b, c, d}, {a →b, b →c}> kh«ng lµ 3NF.

b. W lµ 3NF: W’ = < {a, b, c, d}, {a →bcd}> lµ 3NF.

Page 51: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô 9.5:

Cho s¬ ®å quan hÖ W = < A, F >, víi U = {E, B, C, D}

F = {EB → C, D → B, C → EBD}

Ta thÊy r»ng, c¸c tËp k1 = {E, B}, k2 = {E, D}, k3 = {C} lµ c¸c khãa. VËy A kh«ng cãthuéc tÝnh thø cÊp, nªn W lµ 3NF.

Bæ ®Ò 9.3

Mäi s¬ ®å quan hÖ W = < A, F > kh«ng chøa thuéc tÝnh thø cÊp th× W lµ 3NF.

9.4 D¹ng chuÈn BCNF: Boyce - Codd Normal Form

D¹ng chuÈn Boyce - Codd Normal Form, ký hiÖu lµ BCNF.

Cho s¬ ®å quan hÖ W = < A, F >

§Þnh nghÜa 9.5 D¹ng chuÈn BCNF

W lµ BCNF nÕu trong W kh«ng tån t¹i phô thuéc hµm d¹ng X → b víi b ∉ X

vµ X+ ≠ A.

Bæ ®Ò 9.3

NÕu W lµ BCNF th× W lµ 3NF.

NÕu W lµ 3NF th× W lµ 2NF

ThÝ dô 9.6:

Cho W = < A, F >, víi U = {G, B, C, D}

Page 52: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

F = {GB → C, C → GBD}

DÔ dµng thÊy r»ng:

C¸c tËp cã bao ®ãng kh¸c A lµ X = {G} hoÆc X = {B} hoÆc X = {D} hoÆc X = {G, D}hoÆc X = {B, D} vµ trong c¸c tËp trªn kh«ng cã phô thuéc hµm d¹ng

X → b víi b ∉ X.

VËy W lµ BCNF.

ThÝ dô 9.7:

XÐt mét s¬ ®å quan hÖ W mµ W lµ 3NF nh­ng W kh«ng lµ BCNF.

Cho W = < {G,B,C,D}, {G → BCD, BC → DG, B → C}> . Râ rµng r»ng W lµ 3NF v× Wcã hai kho¸ lµ {G} vµ {B,C} nªn tËp kh«ng kho¸ lµ D vµ kh«ng cã tËp nµo cã bao ®ãngkh¸c A kÐo theo thuéc tÝnh thø cÊp D. Ng­îc l¹i W kh«ng lµ BCNF v× cã phô thuéc hµm

B → C mµ B+ kh¸c A.

L­u ý:

NÕu W= < A, F> lµ 1NF, 2NF, 3NF, BCNF,... th× mäi quan hÖ R trªn A còng lµ 1NF,2NF, 3NF, BCNF, . . . t­¬ng øng.

§Þnh lý 9.1

C¸c líp d¹ng chuÈn cña c¸c s¬ ®å quan hÖ cã quan hÖ lång nhau, líp sau n»m trong líp

tr­íc. NghÜa lµ ta cã: 1NF ⊃ 2NF ⊃ 3NF ⊃ BCNF . Lång nhau ë ®©y lµ thùc sù,nghÜa lµ líp sau n»m gän trong líp tr­íc.

Bµi 10 Phô thuéc ®a trÞ vµ D¹ng chuÈn 4- 4NF

Líp c¸c quan hÖ chóng ta ®· vµ ®ang xÐt rÊt lín, mét sè c¸c quan hÖ cã ng÷ nghÜa(semantic) phøc t¹p, trong tËp c¸c thuéc tÝnh kh«ng cã phô thuéc hµm hoÆc cã c¸c phô

Page 53: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

thuéc ®Æc biÖt. VËy ®Ó ®i s©u nghiªn cøu c¸c ®Æc thï, tÝnh chÊt cña líp c¸c quan hÖ,chóng ta sÏ tr×nh bµy tiÕp kh¸i niÖm phô thuéc ®a trÞ.

ThÝ dô 10.1:

Ta xÐt b¶ng r th«ng b¸o chñ vµ xe nh­ sau :

r

Chñ Xe BiÓn

A BMW 29F1

A BMW 29F2

A BMW 29F3

B Toyota 29H1

B Toyota 29H2

Trong quan hÖ nµy kh«ng cã phô thuéc hµm gi÷a Chñ vµ BiÓn, nh­ng gi÷a c¸c thuéc tÝnhChñ, BiÓn, cã mèi quan hÖ ®Æc biÖt. VÝ dô ta thÊy nÕu cïng mét Chñ th× tr¸o hai biÓn bÊtkú cho nhau ta vÉn ®­îc mét xe hîp lÖ cña chñ ®ã . KiÓu phô thuéc ®Æc biÖt nµy S. Jajdagäi lµ phô thuéc ®a trÞ.

VËy ta cã kh¸i niÖm phô thuéc ®a trÞ trong c¸c l­îc ®å quan hÖ nh­ sau.

10.1 §Þnh nghÜa phô thuéc ®a trÞ

Cho l­îc ®å quan hÖ A = {A1, A2,... An}, n ≥ 3. X vµ Y lµ c¸c tËp con cña A vµ

Z = A - (X ∪ Y). Mçi t ∈ r ta cã thÓ coi t ®­îc ghÐp tõ 3 phÇn chiÕu cña t tøc lµ

t = t.Xt.Yt.Z.

Page 54: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

§Þnh nghÜa 10.2 Phô thuéc ®a trÞ

Ta nãi trong l­îc ®å quan hÖ A x¸c ®Þnh phô thuéc ®a trÞ tõ X lªn Y (X x¸c ®Þnh ®a trÞ Y),

ký hiÖu lµ X Y, nÕu mäi cÆp phÇn tö t1, t2 cña r ( r lµ quan hÖ bÊt kú trªn A) b»ng

nhau trªn tËp X, tøc:

t1 = t1.Xt1.Yt1.Z ∈ r

t2 = t1.Xt2.Yt2.Z ∈ r (1)

vµ t1.X = t2.X th× khi ®æi ®u«i t1vµ t2 cho nhau (®æi t1.Z vµ t2.Z) chóng ta vÉn nhËn ®­îcc¸c phÇn tö thuéc r, tøc lµ:

t1’ = t1. Xt1.Yt2.Z vµ

t2’ = t1.Xt2.Yt1.Z (2)

còng thuéc r

Nãi c¸ch kh¸c X Y nÕu víi mäi t1,t2 nh­ trong (1) thuéc r vµ t1.X = t2.X th× ta còng

cã t1’ , t2’ trong (2) thuéc r.

ThÝ dô 10.2 a

XÐt quan hÖ Chñ - Xe r nh­ trªn ta cã ngay:

Chñ →→ Xe vµ Chñ →→ BiÓn

ThÝ dô 10.2.b:

Mét c¸ch tæng qu¸t cho l­îc ®å quan hÖ A vµ hai tËp thuéc tÝnh X, Y ⊆ A .

NÕu X → Y th× X →→ Y. ThËt vËy gi¶ sö t1 vµ t2 thuéc r vµ

t1.X = t2.X v× X → Y, nªn t1.Y = t2.Y. Khi ®ã t1’= t1.Xt1.Yt2.Z =

t2.Xt2.Yt2.Z = t2 thuéc r. T­¬ng tù ta cã t2’ = t1 thuéc r . Nªn X Y

Page 55: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

10.2 TÝnh chÊt cña phô thuéc ®a trÞ

TÝnh chÊt d1: TÝnh bï cña phô thuéc ®a trÞ:

NÕu X, Y, Z lµ ba tËp con rêi nhau cña l­îc ®å quan hÖ A vµ A = X ∪ Y ∪ Z víi

A = {A1, A2,... , An} th× X →→ Y khi vµ chØ khi X →→ Z.

TÝnh chÊt d2: TÝnh t¨ng tr­ëng:

NÕu X →→ Y vµ V ⊂ W th× XW →→ YV.

TÝnh chÊt d3: TÝnh b¾c cÇu:

NÕu X →→ Y vµ Y →→ V th× X →→ V\ Y.

TÝnh chÊt d4: TÝnh pha trén:

NÕu X → Y th× X →→ Y.

Phô thuéc hµm lµ tr­êng hîp riªng cña phô thuéc ®a trÞ.

TÝnh chÊt d5: NÕu X →→ Y vµ W → V víi V⊂ Y vµ W ∩ Y = ∅ th×

X → V.

Vµ mét sè tÝnh chÊt cã thÓ suy dÉn ®­îc:

TÝnh chÊt 6: (Hîp) X →→ Y vµ X →→ Z ⇒ X →→ YZ.

Page 56: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

TÝnh chÊt 7: (Tùa b¾c cÇu)

X →→ Y vµ YW →→ V ⇒ XW → V - YW.

TÝnh chÊt 8: (Tùa hîp)

X →→ Y vµ XY → W, th× X → W - Y.

TÝnh chÊt 9: TÝnh ph©n r·

NÕu X →→ Y vµ X →→ V th×

X →→ Y ∩ V ;

X →→ Y - V;

X →→ V - Y.

VÒ sau ta th­êng ký hiÖu phô thuéc ®a trÞ lµ MD (Multivalued Dependencies), thÝ dô cho

phô thuéc ®a trÞ ta viÕt cho MD X →→ Y.

§Þnh nghÜa 10.3 Phô thuéc c¬ së

Mét MD X→→ Y trªn l­îc ®å A ®­îc gäi lµ phô thuéc c¬ së nÕu

Y ≠ ∅ vµ X ∩ Y = ∅ vµ X ∪ Y ≠ A.

Sau ®©y ta sÏ chøng minh mét vµi tÝnh chÊt cña phô thuéc ®a trÞ:

TÝnh chÊt d1: Ta cã X →→ Y vµ Z = A - X - Y.

Gi¶ sö t1 vµ t2 lµ hai phÇn tö cña r mµ t1.X = t2.X vµ t1 = t1.Xt1.Yt1.Z,

t2 = t2.Xt2.Yt2.Z theo gi¶ thiÕt X →→ Y nªn t1’= t1.Xt1.Yt2.Z, vµ t2’= t2.Xt2.Yt1.Z còng

thuéc r, v× t1.X= t2.X nªn ®æi t1.X vµ t2.X cho nhau trong c¸c t1’vµ t2’ ta vÉn ®­îc c¸c phÇntö thuéc r, hay t1’ = t2.Xt1.Yt2.Z

Page 57: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

t2’= t1.Xt2.Yt1.Z còng thuéc r. Theo ®Þnh nghÜa ta cã X →→ Z.

VËy ta cã ®Þnh nghÜa t­¬ng ®­¬ng:

§Þnh nghÜa 10.6 Phô thuéc ®a trÞ

X →→ Y

nÕu t1 vµ t2 mµ t1.X = t2.X vµ t1= t1.Xt1.Yt1.Z vµ t2 = t2.Xt2.Yt2.Z thuéc R th× t1’ =t1.Xt2.Yt1.Z vµ t2’= t2.Xt1.Yt2.Z còng thuéc R.

10.3 HÖ tiªn ®Ò cña c¸c phô thuéc FD (PTH) vµ MD

Gäi FD lµ líp tÊt c¶ c¸c phô thuéc hµm khi ®ã ta ®· cã hÖ tiªn ®Ò Armstrong cho líp FD:

Ar1 TÝnh ph¶n x¹: X→ X vµ nÕu Y ⊂ X th× X → Y.

Ar2 TÝnh b¾c cÇu: X → Y vµ Y → V th× X → V.

Ar3 TÝnh më réng hai vÕ: X → Y th× XZ → YZ.

Trong líp MD, hÖ n¨m tÝnh chÊt d1, d2, d3, d4, d5 gäi lµ hÖ tiªn ®Ò cña líp MD.

Tæng qu¸t: HÖ t¸m tiªn ®Ò {Ar1, Ar2, Ar3, d1, d2, d3, d4, d5} gäi lµ hÖ tiªn ®Ò cña c¸c

rµng buéc d¹ng phô thuéc hµm vµ phô thuéc ®a trÞ FD MD.

§Þnh lý 10.1

HÖ tiªn ®Ò {Ar1, Ar2, Ar3, d1, d2, d3, d4, d5} ®óng ®¾n vµ ®Çy ®ñ trong líp c¸c rµng

buéc FD MD.

Page 58: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

10.4 D¹ng chuÈn 4 : 4NF

Cho s¬ ®å quan hÖ W= < A, § >.

§Þnh nghÜa 10.6 D¹ng chuÈn 4NF

Ta nãi W lµ 4NF nÕu mäi MD X →→ Y ∈ §+ lµ phô thuéc c¬ së th× X+ = A.

Nãi mét c¸ch kh¸c W lµ 4NF nÕu mäi phô thuéc ®a trÞ:

X Y§+ mµ Y ≠ ∅ vµ X ∩ Y = ∅ vµ X ∪ Y ≠ A th× X+ = A.

ThÝ dô 10.6:

W = < A, § >, víi A = {H, B, C, E, G}, § = {H → BCEG} th× W lµ 4NF v× mäi phô thuéc

®a trÞ X →→ Y ∈ §+®Òu tháa m·n ®Þnh nghÜa cña d¹ng chuÈn 4.

Tõ ®Þnh nghÜa ta cã ngay kÕt luËn sau ®©y:

Bæ ®Ò 10.1

NÕu W lµ 4NF th× W lµ BCNF.

ThËt vËy gi¶ sö W = < A, § > kh«ng lµ BCNF, cã nghÜa lµ trong W cã PTH d¹ng X → B

∉ X vµ X+ ≠ A, vËy trong § cã X →→ B ∈ §+ lµ phô thuéc c¬ së nh­ng X+ ≠ A, suy ra v«lý.

VËy W lµ BCNF.

Muèn xÐt xem s¬ ®å quan hÖ W = < A, § > cã lµ 4NF hay kh«ng ta chØ cÇn xÐt xem

trong §+ cã phô thuéc c¬ së X→→ B ∈ §+ vµ X+ ≠ A ?

Page 59: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

NÕu §+ = ∅ th× W lµ 4NF.

§Þnh lý 10.1

Trong c¸c líp cña c¸c d¹ng chuÈn ta cã mèi quan hÖ lång nhau thùc sù nh­ sau:

1NF ⊃ 2NF ⊃ 3NF ⊃ BCNF ⊃ 4NF ⊃ … (lång nhau thùc sù, nghÜa lµ líp tr­íc chøalíp sau thùc sù).

H×nh 2-12. S¬ ®å biÓu thÞ mèi liªn hÖ cña c¸c líp chuÈn

Bµi 11. Rµng Buéc toµn vÑn

11.1 §Þnh nghÜa Rµng Buéc Toµn VÑn ( RBTV)

§Þnh nghÜa 11.1 §Þnh nghÜa RBTV

RBTV cña mét CSDL lµ rµng buéc vÒ gi¸ trÞ cña c¸c thuéc tÝnh trong CSDL.

1NF

2NF

3NF

BCNF

4NF

Page 60: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô miÒn gi¸ trÞ cña thuéc tÝnh ngµy (Day) chØ cã thÓ tõ 1 ®Õn 31, hay thuéc tÝnh GT(giíi tÝnh) chØ cã gi¸ trÞ lµ ‘nam’ hoÆc ‘n÷’ .v.v

Khi thiÕt kÕ vµ thao t¸c trªn CSDL chóng ta ph¶i ®¶m b¶o vµ tu©n thñ c¸c rµng buéc ®ã.Trong c¸c ng«n ng÷ lËp tr×nh cã mét sè rµng buéc ph¶i m« t¶. VÝ dô HOTEN NOT Nullhay khi t¹o b¶ng GIAOVIEN trong SQL cã m· sè gi¸o viªn (MaGV) lµ kho¸ chÝnh, m·häc hµm (MaHH) lµ kho¸ ngo¹i, ta m« t¶ RBTV kho¸ chÝnh, kho¸ ngo¹i nh­ sau :

Create table GIAOVIEN

(

MaGV smallint Not null,

MaHH smallint Not null,

Constraint pk_GIAOVIEN primary key (MaGV),

Constraint fk_HOCHAM_GIAOVIEN foreign key (MAHH) referencesHOCHAM(MaHH)

)

11.2 C¸c lo¹i RBTV

Cã nhiÒu lo¹i RBTV vÒ gi¸ trÞ, tuy nhiªn ta chia chóng thµnh ba nhãm chÝnh:

(a) RBTV lo¹i 1: RBTV kiÓu kho¸ chÝnh, kho¸ ngo¹i :

§Þnh nghÜa RBTV lo¹i 1

RBTV lo¹i 1 lµ kiÓu rµng buéc kho¸ chÝnh, kho¸ ngo¹i: mçi gi¸ trÞ kho¸ ngo¹i ph¶i lµ métgi¸ trÞ kho¸ chÝnh.

Page 61: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Nãi c¸ch kh¸c tËp gi¸ trÞ trong kho¸ chÝnh chøa tËp gi¸ trÞ trong kho¸ ngo¹i. VÝ dô gi¸ trÞMasv trong b¶ng ®iÓm ph¶i lµ mét gi¸ trÞ cña Masv trong b¶ng sinh viªn. Hay nãi c¸ch

kh¸c SV[Masv] ⊇ Bang_Diem[Masv].

(b) RBTV lo¹i 2: RBTV kiÓu phô thuéc hµm :

§Þnh nghÜa RBTV läai 2

RBTV lo¹i 2 lµ kiÓu rµng buéc d¹ng phô thuéc hµm: rµng buéc vÒ gi¸ trÞ cña hai tËp thuéc

tÝnh X vµ Y, mµ X →Y.

ThÝ dô xÐt quan hÖ R cã hai thuéc tÝnh m· vïng vµ tªn vïng R (m· vïng, tªn vïng) khi ®ã

ta cã RBTV kiÓu phô thuéc hµm : m· vïng tªn vïng hay biÕt tªn vïng suy ra m·

vïng, tªn vïng m· vïng.

( c) RBTV lo¹i 3: RBTV lo¹i 3 lµ kiÓu rµng buéc kh«ng ph¶i khãa chÝnh, khãango¹i vµ kh«ng ph¶i kiÓu phô thuéc hµm:

§Þnh nghÜa RBTV lo¹i 3

RBTV lo¹i 3 lµ kiÓu rµng buéc kh«ng ph¶i lo¹i 1, kh«ng ph¶i lo¹i 2.

ThÝ dô gi¸ trÞ cña n¨m sinh NS ph¶i nhá thua gi¸ trÞ n¨m ®i lµm NDL cña nh©n viªn.

Sè tiÒn c¸c kh¸ch hµng ®· mua kh«ng ®­îc v­ît qóa sè tiÒn (doanh sè) mµ kh¸ch hµngcã...lµ nh÷ng RBTV lo¹i 3.

ThÝ dô 11.1

ThÝ dô 11.2

ThÝ dô 11.3

Page 62: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Bµi 12. PH¦¥NG PHÁ P TRÌNH BÀY MỘT RBTV

Khi thiÕt kÕ øng dông mét c¬ së d÷ liÖu, ng­êi thiÕt kÕ ph¶i n¾m ch¾c c¸c RBTV cãtrong CSDL. §Ó tr×nh bµy mét RBTV trong ng«n ng÷ lËp tr×nh ph¶i m« t¶ theo c¸ch viÕtcña ng«n ng÷ ®ã, trong ng«n ng÷ quan hÖ chóng ta ph¶i tr×nh bµy c¸c c«ng thøc, rµngbuéc gi¸ trÞ b»ng c¸c bé cña c¸c quan hÖ. Muèn tr×nh bµy ®­îc b»ng ng«n ng÷ quan hÖchóng ta ph¶i n¾m ch¾c cÊu tróc cña CSDL vµ c¸c b¶ng trong CSDL.

12.1 Ph­¬ng ph¸p tr×nh bµy mét RBTV b»ng ng«n ng÷ lËp tr×nh

Trong phÇn nµy ta sÏ minh häa mét ng«n ng÷ khai b¸o ®Ó ®Æc t¶ mét RBTV. Ng«n ng÷nµy gièng víi SAL ( ANSI, 1986) nh­ng tæng qu¸t h¬n. Ng«n ng÷ nµy cho phÐp chóng tam« t¶, ghi nhËn hoÆc th¸o bá mét RBTV. Nh÷ng RBTV nµy ®­îc ®Þnh nghÜa, m« t¶ vµolóc t¹o quan hÖ hoÆc vµo mét thêi ®iÓm nµo ®ã, ngay c¶ khi quan hÖ ®· chøa d÷ liÖu.

XÐt CSDL qu¶n lý b¸n hµng trong thÝ dô 2.17.

kh( Makh , Tenkh, DS...)

nv( Manv , Tenv, HS, Luong...)

sp( Masp, Tensp, DVT, NSX, GIA)

hd( SOHD, NHD, Makh, Manv, Trigia)

cthd( SOHD, Masp, SL)

C¸c thÝ dô sau minh häa mét sè m« t¶ RBTV

- RBTV lo¹i 1: Khãa duy nhÊt

CÆp ( SOHD, Masp) lµ khãa duy nhÊt cña cthd

( SOHD, Masp) UNIQUE IN cthd

Khãa ngo¹i

Masp trong cthd lµ khãa ngo¹i cña Masp trong sp

Page 63: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Masp in cthd REFERENCES Masp IN sp

- RBTV lo¹i 2: Phô thuéc hµm

Manv x¸c ®Þnh phô thuéc hµm Tenv

Manv IN nv DETERMINES Tenv

Phô thuéc hµm

HÖ sè l­¬ng cña nh©n viªn (HS) x¸c ®Þnh phô thuéc hµm Luong

HS IN nv DETERMINES Luong

- RBTV lo¹i 3: Thuéc tÝnh kh«ng nhËn gi¸ trÞ null

M· nh©n viªn trong quan hÖ nv kh«ng nhËn gi¸ trÞ null

Manv not null in nv

Thuéc tÝnh nhËn gi¸ trÞ trong kho¶ng

Doanh sè cña mçi kh¸ch hµng n»m trong kho¶ng 5000 ®Õn

10000

Check on kh ( DS >= 5000 and DS <= 10000)

Rµng buéc miÒn khi xãa

ChØ víi c¸c bé cña kh cã DS = 0 míi ®­îc xãa

Check on kh when delete (DS = 0)

Rµng buéc gi¸ trÞ c¸c thuéc tÝnh trong c¸c quan hÖ

Tæng tiÒn ( tæng Trigia ) cña c¸c hãa ®¬n < 100000

Check on hd ( sum(Trigia) < 100000)

Page 64: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

12.2 Ph­¬ng ph¸p tr×nh bµy mét RBTV b»ng ng«n ng÷ quan hÖ

Chóng ta th­êng tr×nh bµy RBTV trong ng«n ng÷ quan hÖ b»ng ba b­íc:

B­íc1: Néi dung cña RBTV.

Tõ mét c©u b»ng ng«n ng÷ tù nhiªn ta ph¶i chuyÓn sang ng«n ng÷ quan

hÖ.

B­íc 2: LiÖt kª c¸c quan hÖ tham gia vµo RBTV ®ang xÐt.

B­íc nµy chØ liÖt kª c¸c quan hÖ liªn ®íi ®Õn RBTV ®ang xÐt.

B­íc 3: LËp b¶ng c¶nh b¸o tÇm ¶nh h­ëng. §©y lµ b¶ng cã 4 cét. B¶ng nµy c¶nh b¸o,thèng kª c¸c ¶nh h­ëng cña c¸c thao t¸c: thªm, söa, xãa d÷ liÖu trong c¸c quan hÖ thamgia rµng buéc cã ¶nh h­ëng ®Õn RBTV:

B¶ng tÇm ¶nh h­ëng

C¸c quan hÖ Thªm söa Xãa

R -

S + +(C)

Trong ®ã

R, S lµ c¸c quan hÖ tham gia RBTV.

DÊu - biÓu thÞ thao t¸c kh«ng ¶nh h­ëng ®Õn RBTV.

DÊu + biÓu thÞ thao t¸c cã ¶nh h­ëng ®Õn RBTV.

DÊu +(C) biÓu thÞ thao t¸c ¶nh h­ëng ®Õn RBTV trªn thuéc tÝnh C

L­u ý:

B¶ng tÇm ¶nh h­ëng chØ xÐt víi rµng buéc cã trong néi dung ë b­íc 1. Mét CSDL cãnhiÒu RBTV.

Page 65: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

ThÝ dô 12.1:

XÐt CSDL qu¶n lý b¸n hµng trong thÝ dô 2.17.

kh( Makh , Tenkh, DS, NS, NGN) víi NS lµ n¨m sinh, NGN lµ ngµy gia nhËp

nv( Manv , Tenv, HS, LUONG) víi HS lµ hÖ sè l­¬ng, LUONG lµ l­¬ng

sp( Masp, Tensp, DVT, NSX, GIA)

hd( SOHD, NHD, Makh, Manv, Trigia)

cthd( SOHD, Masp, SL)

Thùc hiÖn (ba b­íc) c¸c RBTV sau:

RBTV lo¹i 1 :

Nªu c¸c RBTV kho¸ chÝnh kho¸ ngo¹i cña CSDL.

RBTV lo¹i 2:

C¸c nh©n viªn cã cïng hÖ sè l­¬ng HS th× cã cïng LUONG.

RBTV lo¹i 3 :

1. ‘DVT cña s¶n phÈm chØ cã thÓ lµ chai, lon, kÐt, thïng’.

2. ‘Ngµy gia nhËp (NGN) cña kh¸ch hµng ph¶i lín h¬n n¨m sinh (NS) cña kh¸ch hµng®ã’.

3. ‘Ngµy mua hµng cña kh¸ch hµng ph¶i lín h¬n NGN cña kh¸ch hµng ®ã’

4. ‘Mçi ho¸ ®¬n ph¶i cã Ýt nhÊt mét chi tiÕt ho¸ ®¬n’.

5. ‘Trigia cña mét ho¸ ®¬n ph¶i b»ng tæng tiÒn ( tæng c¸c SL * GIA) cña ho¸ ®¬n ®ã’.

6. ‘DS cña mét kh¸ch hµng ph¶i lín h¬n hoÆc b»ng tæng c¸c Trigia ho¸ ®¬n kh¸ch hµng®· mua’.

L­u ý:

Trong c¬ së d÷ liÖu nµy c¸c kho¸ chÝnh ®­îc g¹ch d­íi

Page 66: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

RBTV lo¹i 1

B­íc 1: Néi dung RBTV

∀ t ∈ hd ∃ t’∈ kh sao cho : t[Makh] = t’[Makh]

( hoÆc lµm c¸ch kh¸c hd[Makh] ⊆ kh[Makh])

B­íc 2: C¸c quan hÖ tham gia RBTV: hd, kh

B­íc 3: B¶ng tÇm ¶nh h­ëng cña RBTV

C¸c quan hÖ Thªm söa Xãa

kh +(Makh) +(Makh) +(Makh)

hd +(Makh) +(Makh) -

RBTV lo¹i 2

B­íc1: Néi dung RBTV

∀ t, t’ ∈nv nÕu (t[HS] = t’[HS]) th× (t[LUONG] = t’[LUONG]).

B­íc 2: C¸c quan hÖ tham gia RBTV: nv

B­íc 3: B¶ng tÇm ¶nh h­ëng

C¸c quan hÖ Thªm söa Xãa

nv +(HS, LUONG) +(HS, LUONG) -

RBTV lo¹i 3

Page 67: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

1. B­íc1: Néi dung RBTV

∀ t ∈sp th× (t[DVT] = ‘chai’) or (t[DVT] = ‘lon’) or (t[DVT] = ‘kÐt’) or

(t[DVT] = ‘thïng’).

B­íc 2: C¸c quan hÖ tham gia RBTV: sp

B­íc 3: B¶ng tÇm ¶nh h­ëng cña RBTV

C¸c quan hÖ Thªm söa Xãa

sp +(DVT) +(DVT) -

2. B­íc1: Néi dung RBTV

∀ t ∈kh th× (t[NS] ≤ t[NGN])

B­íc 2: C¸c quan hÖ tham gia RBTV: kh

B­íc 3: B¶ng tÇm ¶nh h­ëng cña RBTV

C¸c quan hÖ Thªm söa Xãa

kh +(NS,NGN) +(NS, NGN) -

3. B­íc 1: Néi dung RBTV

∀ t ∈ kh & t’ ∈ hd nÕu t’[Makh] = t[Makh] th× t[NGN] < t’[NHD]

B­íc 2: C¸c quan hÖ tham gia RBTV: Kh, hd

B­íc 3: B¶ng tÇm ¶nh h­ëng cña RBTV

Page 68: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

C¸c quan hÖ Thªm söa Xãa

kh - +(Makh, NGN) -

hd +(Makh, NHD) +(Makh, NHD) -

4. B­íc 1: Néi dung RBTV

∀ t ∈ hd ∃ t’ ∈ cthd sao cho t’[SOHD] = t[SOHD]

B­íc 2: C¸c quan hÖ tham gia RBTV: hd, cthd

B­íc 3: B¶ng tÇm ¶nh h­ëng RBTV

C¸c quan hÖ Thªm söa Xãa

hd - +(SOHD) +(SOHD)

cthd +(SOHD) +(SOHD) +(SOHD)

5. B­íc 1: Néi dung RBTV

∀ t ∈ hd ∃ t1, t2, ...,tm ∈ cthd vµ t1’, t2’, ...,tm’ ∈sp sao cho :

(t[SOHD] = ti[SOHD]) and (ti[[Masp] = ti’[Masp]) ; i= 1, 2, ...,m

vµ ]['][1

GIAtiSLtim

i

×∑=

≤ t[TRIGIA]

B­íc 2 : C¸c quan hÖ tham gia RBTV : hd, cthd

B­íc 3: B¶ng tÇm ¶nh h­ëng cña RBTV

C¸c quan hÖ Thªm söa Xãa

Page 69: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

hd - +(Trigia) -

cthd +(SL) +(SL) -

6. B­íc 1: Néi dung RBTV

∀ t ∈ kh ∃ t1, t2, ...,tm ∈ hd sao cho :

(t[Makh] = ti[Makh]) ; i= 1, 2, ...,m

vµ ∑=

m

i

TRIGIAti1

][ ≤ t[DS]

B­íc 2: C¸c quan hÖ tham gia RBTV : kh, hd

B­íc 3: B¶ng tÇm ¶nh h­ëng

C¸c quan hÖ Thªm söa Xãa

kh - +(DS, Makh) +(DS, Makh)

hd +(Makh, Trigia) +(Makh, Trigia) -

L­u ý:

B¶ng tÇm ¶nh h­ëng chØ xÐt xem c¸c thao t¸c thªm, söa, xo¸ cã ¶nh h­ëng ®Õn RBTVtrong néi dung ë b­íc 1 kh«ng?( vµ chØ RBTV ®ã).

Bµi 13 ng«n ng÷ VÊn tin sql

13. Ng«n ng÷ lµ g×?

Page 70: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Trong ho¹t ®«ng cña con ng­êi ta th­êng gÆp hai lo¹i ng«n ng÷:

Ng«n ng÷ tù nhiªn: s¶n sinh tõ lao ®éng vµ tån t¹i vÝ dô tiÕng viÖt

Ng«n ng÷ h×nh thøc: do con ng­êi t¹o ra vÝ dô ng«n ng÷ lËp tr×nh

Ng«n ng÷ cã c¸c thµnh phÇn:

Bé ký tù, bé tõ, ng÷ ph¸p.

13.2 SQL lµ g×?

SQL = Structured Query Language = Ng«n ng÷ truy vÊn cã c©u tróc.

VËy SQL lµ:

- Mét ng«n ng÷ nªn cã bé ký tù, bé tõ, có ph¸p

- Cã cÊu tróc nªn cã c¸c c©u lÖnh ®¬n gi¶n ®Õn phøc t¹p, lång nhau

- Ng«n ng÷ truy vÊn nªn dïng SQL ®Ó lÊy th«ng tin tõ CSDL quan hÖ

13.3 Truy vÊn ( query) lµ g×?

Mét truy vÊn( mét query) lµ mét c©u lÖnh SQL thùc hiÖn trªn CSDL quan hÖ ®Ócho ra mét quan hÖ míi.

ThÝ dô 13.1:

Cho c¬ së d÷ liÖu qu¶n lý b¸n hµng:

1. kh( Makh , Tenkh, DS)

2. nv( Manv , Ten)

3. sp( Masp, Tensp, DVT, NSX, GIA)

4. hd( SOHD, NHD, Makh, Manv, Trigia)

Page 71: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

5. cthd( SOHD, Masp, SL)

H·y lËp b¶ng Makh, Tenkh, DS cã doanh sè DS > 100.

C©u lÖnh

Select *

From kh

Where DS > 100;

Page 72: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

KÕt qu¶ c©u lÖnh cã trong h×nh sau:.

13.3 Mét sè c©u lÖnh c¬ b¶n SQL

Trong phÇn tr­íc, chóng ta ®· lµm quen víi c¸c phÐp to¸n ®¹i sè trªn c¸c quan hÖ. TrongphÇn nµy chóng ta sÏ tr×nh bµy tiÕp mét trong c¸c ng«n ng÷ thao t¸c (Data ManipulationLanguage - DML) trªn c¸c CSDL quan hÖ- SQL.

1. T¹o b¶ng (quan hÖ)

Gi¶ sö ta cÇn t¹o quan hÖ R(A1, A2, ..., An) víi c¸c thuéc tÝnh Ai cã kiÓu d÷ liÖu lµ Ki.Khi ®ã ta viÕt:

Create Table R( A1 k1, A2 k2, ..., An kn) ;

ThÝ dô 2.42 :

Ta cÇn t¹o quan hÖ S trªn A, víi A = {Masv, Hoten, NS, Que} ta viÕt

Create Table S( Masv Char, Hoten char, NS Date, Que char);

Page 73: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

2. Insert (nhËp) d÷ liÖu vµo quan hÖ R

NhËp bé d÷ liÖu t = ( v1, v2, ..., vn) vµo R

Insert into R

Values ( v1, v2, ..., vn);

ThÝ dô13. 2 :

NhËp sinh viªn cã m· sè 1000, hä tªn lµ NguyÔn ThÞ Hoa sinh n¨m 1986, quª Hµ néivµo b¶ng S trªn ta viÕt

Insert into S

Values ( 1000, ‘NguyÔn ThÞ Hoa’, 1986, ‘Hµ Néi’);

3. C©u lÖnh söa mét sè bé cña R

Gi¶ sö ta cÇn söa l¹i gi¸ trÞ c¸c thuéc tÝnh A1, A2, ..., Al cña c¸c bé tháa ®iÒu kiÖn Etrong quan hÖ r ta viÕt

Update R

Set A1 = v1, A2 = v2, ..., Al = vl

Where E;

ThÝ dô 13.4 :

Céng hai diÓm cho nh÷ng sinh viªn thuéc khu vùc 4

Update Bangdiem

Page 74: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Set DIEM = DIEM + 2

Where KV = 4;

4. C©u lÖnh xãa mét sè bé cña R tháa ®iÒu kiÖn E

Gi¶ sö chóng ta cÇn xãa c¸c bé trong r tháa m·n ®iÒu kiÖn E ta viÕt

Delete from r

Where E;

ThÝ dô 13.5 :

Xãa khái danh s¸ch líp c¸c sinh viªn cã ®iÓm b»ng kh«ng

Delete from DSLOP

Where DIEM = 0;

5. C©u lÖnh xãa mét quan hÖ r

Gi¶ sö chóng ta cÇn xãa quan hÖ r vµ xãa c¶ l­îc ®å quan hÖ ta viÕt

Drop table r;

ThÝ dô 13.6:

Ta cÇn xãa b¶ng ®iÓm kh«ng l­u l¹i dÊu vÕt

Drop table BANGDIEM;

Page 75: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

6. C©u lÖnh select

D¹ng th«ng dông nhÊt cña c©u vÊn tin trong ng«n ng÷ SQL lµ c©u lÖnh SELECT.

C¸c d¹ng th­êng gÆp cña Select

a. SELECT ng¾n ( hay SELECT d¬n gi¶n):

SELECT R.a,... , S.b

FROM R,... ,S

WHERE E ;

Trong ®ã: R,... , S lµ c¸c quan hÖ; E lµ ®iÒu kiÖn.

ý nghÜa c©u lÖnh lµ tõ c¸c quan hÖ R, ..., S läc ra quan hÖ gåm c¸c cét R.a, ..., S.b tháa

m·n ®iÒu kiÖn E

Khi gÆp c©u lÖnh nµy m¸y sÏ thôc hiÖn theo tuÇn tù nh­ biÓu thøc §SQH sau:

( E( R |><|… |><| S ))[a, ..., b]

ThÝ dô 13.7 :

XÐt c©u vÊn tin “liÖt kª Makh, tenkh nh÷ng kh¸ch hµng cã sè d­ ©m“ .

SELECT Makh, Tenkh

FROM kh

Page 76: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

WHERE DS < 0 ;

ThÝ dô 13.8 :

Cho c¬ së d÷ liÖu qu¶n lý b¸n hµng:

1. kh( Makh , Tenkh, DS)

2. nv( Manv , Ten)

3. sp( Masp, Tensp, DVT, NSX, GIA)

4. hd( SOHD, NHD, Makh, Manv, Trigia)

5. cthd( SOHD, Masp, SL)

Läc Makh, tenkh ®· mua hµng quÝ 1 n¨m 2012

C©u lÖnh:

SELECT Makh, Tenkh

FROM kh, hd

WHERE kh.Makh = hd.Makh and NHD between 1/1/2012 and 31/3/2012 ;

Läc Makh, tenkh ®· mua nh÷ng hãa ®¬n do nh©n viªn NguyÔn ThÞ Hoa lËp trong n¨m2011.

C©u lÖnh:

SELECT Makh, Tenkh

Page 77: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

FROM kh, hd, nv

WHERE kh.Makh = hd.Makh and hd.Manv = nv.Manv and NHD between 1/1/2011 and31/12/2011 and Ten = ‘NguyÔn ThÞ Hoa’ ;

Läc Masp, Tensp do kh¸ch hµng NguyÔn Huy Hoµng mua n¨ 2011

C©u lÖnh:

SELECT Masp, Tensp

FROM kh, hd, cthd

WHERE kh.Makh = hd.Makh and hd.SOHD = cthd.SOHD and NHD between 1/1/2011and 31/12/2011 and Tenkh = ‘NguyÔn Huy Hoµng’ ;

L­u ý

1. NÕu sau from chØ cã mét quan hÖ r vµ cÇn läc hÕt tÊt c¶ c¸c thuéc tÝnh

ta viÕt dÊu *.

ThÝ dô 13.9 :

SELECT *

FROM kh

WHERE DS < 100 ;

H·y lËp b¶ng s¶n phÈm cã ®¬n vÞ tÝnh lµ chai.

Page 78: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Select *

From sp

Where DVT = ‘chai’;

b. SELECT dµi

C¸c hµm gép: AVG(), SUM(), MIN(), MAX(), COUNT() th­êng ®i víi select

dµi. Ta dïng HAMGOP() ®Ó chØ mét hµm gép nµo ®ã.

SELECT R.a,... , S.b, HAMGOP()

FROM R,... ,S

WHERE E

GROUP BY NTT HAVING E’

ORDER BY TT DESC (ACED) ;

Trong ®ã E lµ ®iÒu kiÖn toµn côc, E’ lµ ®iÒu kiÖn theo nhãm, NTT lµ nhãm thuéctÝnh, TT lµ thuéc tÝnh. Khi sÊp theo TT cã thÓ gi¶m dÇn §EC hoÆc t¨ng dÇn ACED.

Thø tù thùc hiªn cña c©u lÖnh:

1. R1 = ( E( R |><|… |><| S ))

2. Gép HAMGOP() trong R1 theo nhèm thuéc tÝnh NTT

3. ChiÕu kÕt qu¶ lªn c¸c cét a, ..., b

Läc Makh, Tenkh ®· mua tæng tiÒn n¨m 2011 s¾p tæng tiÒn theo thø tù gi¶m dÇn:

Page 79: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

SELECT kh.Makh, Tenkh, SUM(Trigia) as TongTien

FROM kh, hd. cthd

WHERE kh.Makh = hd.Makh and hd.SOHD = cthd.SOHD and

NHD between 1/1/2011 and 31/12/2011

GROUP BY kh.Makh, Tenkh

ORDER BY TongTien DESC ;

HoÆc Läc Makh, Tenkh ®· mua tæng tiÒn n¨m 2011 trªn 300 vµ s¾p tæng

tiÒn theo thø tù gi¶m dÇn:

SELECT kh.Makh, Tenkh, SUM(Trigia) as TongTien

FROM kh, hd. cthd

WHERE kh.Makh = hd.Makh and hd.SOHD = cthd.SOHD and

NHD between 1/1/2011 and 31/12/2011

GROUP BY kh.Makh, Tenkh Having SUM(Trigia) >300

ORDER BY TongTien DESC ;

c. SELECT l«ng nhau

Select ngoµi select trong

SELECT ... FROM ... WHERE ... B ( SELECT ....)

Page 80: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Trong ®ã:

B lµ mét thuéc tÝnh; ∈ {=, <, >, ≤ , ≥ , ≠ } { IN, NOT IN, ANY, ALL}

- Khi Select trong läc ra 1 gi¸ trÞ th× ∈ {=, <, >, ≤ , ≥ , ≠ }

- Khi Select trong läc ra nhiÒu h¬n 1 gi¸ trÞ th× ∈ {IN, NOT IN, ANY, ALL}

Läc Makh, tenkh cã DS lín h¬n DS cña «ng Vâ V¨n KiÖt

SELECT Makh, Tenkh FROM kh WHERE DS > ( SELECT DS FROM kh WHERETenkh = ‘Vâ V¨n KiÖt’);

HoÆc läc Makh, tenkh cã DS b»ng DS cña «ng Vâ V¨n KiÖt hoÆc «n Mai H¾c §Õ

SELECT Makh, Tenkh FROM kh WHERE DS IN ( SELECT DS FROM kh WHERETenkh = ‘Vâ V¨n KiÖt’ OR Tenk = Mai H¾c §Õ );

d. BiÕn bé

§«i khi chóng ta cÇn liªn hÖ ®Õn hai bé hoÆc nhiÒu h¬n hai bé trong cïng mét quan hÖ.§Ó thùc hiÖn viÖc nµy ta cã thÓ dïng biÕn bé.

ThÝ dô 13.10:

XÐt c©u “in ra c¸c kh¸ch hµng cã DS lín h¬n DS cña Vâ Van KiÖt

SELECT c1 *

FROM kh c1, kh c2

WHERE c1. DS > c2.DS

Page 81: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

AND c2. Tenkh = ‘Vâ V¨n KiÖt’ ;

e. Më réng kh¶ n¨ng dïng where b»ng tõ kho¸ like ( lµ )

Nh»m më réng thªm kh¶ n¨ng dïng where E ta dïng tõ khãa like vµ hai ký hiÖu phô:%, _

- Tõ like ë ®©y dïng theo nghÜa “ lµ “ .

- DÊu % ®­îc dïng ®Ó ®¹i diÖn cho c¸c ký tù .

- DÊu _ dïng ®Ó ®¹i diÖn cho mét ký tù .

ThÝ dô 13.11:

XÐt c©u vÊn tin “in ra c¸c Masp do c¸c kh¸ch hµng cã hä tªn b¾t ®Çu b»ng ký tù

B ®· mua“ , khi ®ã ta cã c©u lÖnh:

SELECT cthd.Masp

FROM cthd, hd, kh

WHERE ( kh. Tenkh like ‘B%’) and (kh.Makh = hd.Makh) and

(hd.SOHD = cthd.SOHD) ;

ThÝ dô 13.2:

XÐt c©u vÊn tin “in ra nh÷ng sè hãa ®¬n n»m trong kho¶ng 1000 - 1999“ , khi ®ã ta cã c©ulÖnh:

SELECT *

FROM hd

WHERE SOHD like ‘1_ _ _ ‘ ;

Page 82: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

TÊt nhiªn ba dÊu _ _ _ ®¹i diÖn cho ba dÊu bÊt kú tõ 0 ®Õn 9.

Bµi 14. TÍNH ĐẦY ĐỦ CỦA

14.1 Tính đầy đủ của SQL

SQL thùc hiÖn ®­îc c¸c phÐp to¸n §SQH.

SQL thùc hiÖn 5 phÐp to¸n c¬ b¶n lµ {hîp, hiÖu, tÝch Decac, chän, chiÕu}.

• PhÐp hîp: Gi¶ sö ta cã hai quan hÖ r vµ s cã cïng l­îc ®å A = {A1,... , An}. Khi ®ã ®ÓtÝnh T = r + s ta viÕt:

INSERT INTO T

SELECT *

FROM r ;

TiÕp theo lµ

INSERT INTO T

SELECT *

FROM s ;

• PhÐp trõ: §Ó tÝnh T = r - s tr­íc tiªn chóng ta chÌn r vµo T nh­ trªn. Sau ®ã dïng c©ulÖnh xãa nh­ sau:

DELETE FROM T

WHERE (A1,... , An) IN

Page 83: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

(SELECT * FROM s) ;

• TÝch Decac: Cho r lµ quan hÖ trªn A, s lµ quan hÖ trªn A’. §iÒu kiÖn A ∩ A’ = vµ T = r × s,

ta cã c©u lÖnh:

INSERT INTO T

SELECT r. A1,... , r. An, s. B1,... , s. Bm

FROM r, s ;

Víi A = {A1, A2, ..., An} vµ A’ = {B1, B2, ..., Bm}.

• PhÐp chän: T = r(E).

INSERT INTO T

SELECT *

FROM r

WHERE E ;

• PhÐp chiÕu: Gi¶ sö X lµ tËp con cña R vµ X = {A1,... Ak}

T = r. X, ta cã c©u lÖnh :

INSERT INTO T

SELECT A1,... , Ak

FROM r ;

• C¸c phÐp to¸n cßn l¹i cña ®¹i sè quan hÖ ®Òu cã thÓ nhËn ®­îc tõ c¸c phÐp to¸n trªn.

• PhÐp giao: Ta chó ý r»ng T = r ∩ s = r - (r - s). C¸c c©u lÖnh cña phÐp trõ ta dïng nh­trªn.

Page 84: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

• PhÐp nèi tù nhiªn T = r |><| s cña r trªn A vµ s trªn A’. Ta l­u ý r»ng nÕu Avµ A’ rêi

nhau th× nèi tù nhiªn cña r vµ s lµ tÝch Decac cña r vµ s. NÕu A vµ A’ chung nhau tËpthuéc tÝnh X th× ta chØ nèi nh÷ng bé cña r vµ s cã gi¸ trÞ b»ng nhau trªn X. VËy c©u lÖnh®Ó tÝnh T sÏ lµ:

INSERT INTO T

SELECT r.A1, . . . . ,r.An , s.B1 , . . . s.Bm

FROM r, s

WHERE r.X = s.X

• PhÐp chia T = r ÷ s víi r trªn A vµ s trªn A’, A’ lµ tËp con cña A. Thùc chÊt kÕt qu¶ cña

phÐp chia r ÷ s lµ nh÷ng bé t.(A-A’) mµ t ∈ r vµ t.A’ ∈ s . VËy ta cã c©u lÖnh tÝnh T:

INSERT INTO T

SELECT r.(A-A’)

FROM r, s

WHERE E; ë ®©y E lµ ®iÒu kiÖn t.A’ ∈ s

• PhÐp nèi theo θ chän trong tÝch Decac r×s nh÷ng bé tho¶ θ

• PhÐp nèi nöa T = r |>< s. Thùc chÊt lµ chiÕu cña r |><| s lªn R. Tøc lµ:

r |>< s = (r |><| s). R

14.2 T¹o khung nh×n

Trong SQL cã mét nhãm lÖnh ®ãng vai trß nh­ ng«n ng÷ ®Þnh nghÜa d÷ liÖu DDL (DataDefinition Language), nghÜa lµ tõ mét quan hÖ, nhãm lÖnh nµy ®Þnh nghÜa cho ta métquan hÖ con, t¹o cho ta mét khung nh×n (view) cã tªn mµ kh«ng tèn thªm bé nhí. Cóph¸p cña c©u lÖnh t¹o khung nh×n:

CREATE VIEW V(A1,... , Ak) AS Q ;

Page 85: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Trong ®ã V lµ tªn cña khung nh×n, A1,... , Ak lµ c¸c thuéc tÝnh cña nã. Q lµ c©u vÊn tin®Þnh nghÜa khung nh×n.

ThÝ dô14.3:

Tõ quan hÖ c¸c nhµ cung cÊp ta cã thÓ t¹o ra mét khung nh×n: quan hÖ gåm c¸c mÆt hµngvµ gi¸ cña chóng do A cung cÊp:

CREATE VIEW V (ITEM, PRICE) AS

SELECT ITEM, PRICE

FROM supplies

WHERE NAME = ‘A’ ;

T­¬ng tù nh­ hñy b¶ng, muèn hñy khung nh×n ta dïng c©u lÖnh DROP. VÝ dô, DROP V.

Trªn ®©y lµ nh÷ng kh¸i niÖm c¬ b¶n cña ng«n ng÷ vÊn tin SQL ®ñ dïng cho c¸c minh ho¹trong cuèn s¸ch nµy. §Ó sö dông ®­îc SQL chóng ta cÇn tham kh¶o nh÷ng qui ®Þnh côthÓ vµ sù g¾n kÕt cña SQL víi c¸c ng«n ng÷ chñ kh¸c trong c¸c m«i tr­êng cô thÓ. C¸cb¹n cã thÓ t×m thÊy c¸c phiªn b¶n kh¸c cña SQL trong nhiÒu tµi liÖu kh¸c hiÖn ®ang ®­îcb¸n trªn thÞ tr­êng.

Bµi 15. Minh häa øng dông vµ thao t¸c trªn CSDL quan hÖ

C¸c b­íc thiÕt kÕ vµ t¹o CSDL

B­íc 1. ThiÕt kÕ c¸c b¶ng ( c¸c quan hÖ ) cã t¹o khãa chÝnh

B­íc 2. M« t¶ RBTV ( Relationship) khãa chÝnh-khãa ngo¹i

B­íc 3. NhËp d÷ liÖu. Chó ý khi nhËp d÷ liÖu ph¶i theo qui t¾c khãa chÝnh nhËp tr­íc,khãa ngo¹i nhËp sau.

B­íc 4. T¹o c¸c truy vÊn ®Ó phôc vô yªu cÇu bµi to¸n

B­íc 5. T¹o c¸c giao diÖn tiÖn Ých phï hîp yªu cÇu bµi to¸n v.v.

Page 86: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Sau ®©y chóng ta minh häa mét sè vÝ dô thùc hiÖn bèn b­íc1, 2, 3, 4 ®Ó thÕt kÕ métCSDL.

VÝ dô 1. ThiÕt kÕ CSDL qu¶n lý phßng thi gåm 4 b¶ng:

PT(Sopt, DC, Suchua) ®©y lµ b¶ng phßng thi cã 3 thuéc tÝnh lµ sè phßng thi, ®Þa chØ phßngthi vµ søc chøa cña phßng thi. Sopt lµ khãa chÝnh

TS(Sobd, Hoten, Sopt) ®©y lµ b¶ng thÝ sinh cã 3 thuéc tÝnh lµ sè b¸o danh, hä tªn, sèphßng thi. Sobd lµ khãa chÝnh

MT(Mamt, tenmt, B, N) ®©y lµ b¶ng m«n thi cã 4 thuéc tÝnh lµ m· m«n thi, tªn m«n thi,buæi thi, ngµy thi. Mamt lµ khãa chÝnh

KQ(Sobd, Mamt, Diem, Vangthi) ®©y lµ b¶ng kÕt qu¶ cã 4 thuéc tÝnh lµ sè b¸o danh, m·m«n thi, diÓm thi, v¾ng thi.

Chóng ta sÏ thiÕt kÕ trong Access - ng«n ng÷ quan hÖ ®¬n gi¶n

B­íc 1. ThiÕt kÕ c¸c quan hÖ: PT, TS, MT, KQ

ThiÕt kÕ b¶ng PT(Sopt, DC, sSuchua) cã:

Sopt khãa chÝnh, kiÓu text.

DC kiÓu text.

Suchua kiÓu number.

ThiÕt kÕ b¶ng TS(Sobd, Hoten, Sopt) cã:

Sobd lµ khãa chÝnh, kiÓu text

Hoten kiÓu text. Sopt khãa ngo¹i.

ThiÕt kÕ b¶ng MT(Mamt, tenmt, B, N) cã:

Mamt khãa chÝnh, kiÓu text

Tenmt vµ B kiÓu text; N kiÕu ngµy th¸ng.

ThiÕt kÕ b¶ng KQ(Sobd, Mamt, Diem, Vangthi) cã:

Diem kiÓu sè

Page 87: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Vangthi kiÓu text hoÆc logic

H×nh 15.1 B¶ng PT

ThiÕt kÕ b¶ng TS cã

Sobd khãa chÝnh, kiÓu text

Hoten kiÓu text

Sopt kiÓu text.

B¶ng TS cã trong h×nh 15.2

H×nh 15.2. B¶ng TS

ThiÕt kÕ b¶ng MT cã

Page 88: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Mamt khãa chÝnh, kiÓu text

Tenmt kiÓu text

B kiÓu text

N kiÓu ngµy th¸ng

H×nh 15.3. B¶ng m«n thi MT

ThiÕt kÕ b¶ng KQ cã c¸c thuéc tÝnh:

Sobd kiÓu text

Mamt kiÓu text

Diem kiÓu number . L­u ý b¶ng nµy cã thÓ t¹o khãa chÝnh hoÆc kh«ng. Trong vÝ dô nµyta kh«ng t¹o khãa chÝnh cho b¶ng nµy. Ta dïng hai thuéc tÝnh Sobd vµ Mamt lµ nh÷ngkhãa ngo¹i.

Page 89: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 15.4. B¶ng kÕt qu¶ KQ

B­íc 2: T¹o liªn kÕt (Relationship) khãa chÝnh khãa ngo¹i.

Sù liªn kÕt khãa chÝnh khãa ngo¹i ®­îc m« t¶ khi thiÕt kÕ c¬ së d÷ lÖu.

Sù liªn kÕt khãa chÝnh khãa ngo¹i lµ sù liªn kÕt 1-n ( mét nhiÒu). Mét gi¸ trÞ khãa chÝnhcã thÓ xuÊt hiÖn nhiÒu lÇn trong b¶ng mµ nã ®ãng vai trß khãa ngo¹i.

ThÝ dô sopt cã thÓ xuÊt hiÖn nhiÒu lÇn trong b¶ng TS v× cïng mét phßng thi cã thÓ cãnhiÒu thÝ sinh thi trong ®ã.

Page 90: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 15.5. Relationship - Liªn kÕt c¸c b¶ng

B­íc 3: NhËp d÷ liÖu

NhËp d÷ liÖu theo thø tù PT, MT, TS vµ cuèi cïng lµ b¶ng KQ

H×nh 15.6. B¶ng PT cã 10 phßng thi

Page 91: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 15.7. B¶ng MT cã 8 m«n thi

H×nh 15.8. B¶ng TS cã 100 thÝ sinh

Page 92: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 15.9. B¶ng KQ cã 800 kÕt qu¶

B­íc 4: C¸c truy vÊn

läc ra hä tªn, sè b¸o danh cã ®iÓm m«n M2 lín h¬n hoÆc b»ng 5.

H×nh 15.10. Minh häa truy vÊn trùc quan

Page 93: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

H×nh 15.11. Minh häa truy vÊn b»ng SQL

Vµ kÕt qu¶ cã trong b¶ng Diem_m2_tren_5

H×nh 15.12. B¶ng m«n m2 trªn 5

Page 94: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Läc ra sè b¸o danh vµ ®iÓm trung b×nh c¸c m«n thi

Mµn h×nh truy vÊn trùc quan

H×nh 15.13. Truy vÊn trùc quan

Mµn h×nh truy vÊn SQL

H×nh 15.14. C©u lÖnh SQL

Page 95: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

KÕt qu¶ cã trong mµn h×nh sau

3. Läc sè b¸o danh, hä tªn vµ ®iÓm trung b×nh c¸c m«n thi cña thÝ sinh

§Ó thùc hiÖn c©u nµy ta nèi TB_Diem víi TS råi chiÕu lªn Sobd, Hoten vµ DiemTB

H×nh 15.15. Mµn h×nh truy vÊn

Truy vÊn theo SQl

H×nh 15.16. Truy vÊn SQL

B©y giê chóng ta quan s¸t RBTV:

Page 96: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

“Víi mçi phßng thi sè thÝ sinh thi trong ®ã kh«ng ®­îc v­ît qu¸ søc chøa cña phßng thi®ã”

Ta cã 10 phßng thi vµ 100 thÝ sinh

H×nh 15.17. KÕt qu¶ truy vÊn

øng víi mçi phßng thi cã m sinh viªn thi trong ®ã vµ m ≤ søc chøa cña phßng thi ®ã

VÝ dô cã 13 thÝ sinh thi ë phong sè 1 vµ phßng nµy cã søc chøa lµ 50.

Néi dung cña RBTV lµ :

∀ t ∈PT ∃ t1, t2, ..., tm ∈TS sao cho: t.Sopt = ti.Sopt vµ m ≤ t.Suchua; i = 1, 2, ..., m

Sau ®©y lµ b¶ng sè phßng thi vµ sè l­îng thÝ sinh thi t­¬ng øng.

Page 97: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ

Sau khi thùc hiªn c©u lÖnh:

Select Sopt, Count(Sobd) as SL_ TS

From TS

Group By Sobd;

Ta cã kÕt qu¶ trong b¶ng SL_TS_PT.

Bªn c¹nh lµ b¶ng c¸c ph«ng thi nh×n vµo vµ so s¸nh ta thÊy kh«ng phßng thi nµo cã thÝsinh thi v­ît qu¸ søc chøa cña nã

H×nh 15.18. Minh häa kÕt qu¶ truy vÊn

Page 98: HỌC VIỆN KỸ THẬT QUÂN SỰ BÀI GIẢNG KHOA CÔNG …HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN: Nhập môn cơ sở dữ