Xây dựng mô hình cho cơ sở dữ liệu | Đại học Bách Khoa Hà Nội

Xây dựng mô hình cho cơ sở dữ liệu | Đại học Bách Khoa Hà Nội. Tài liệu gồm 13 trang giúp bạn tham khảo, củng cố kiến thức và ôn tập đạt kết quả cao trong kỳ thi sắp tới. Mời bạn đọc đón xem!

Xây dng mô hình quan h cho cơ s d liu
Bài 1
Có các mô t sau v CSDL “THƯ VIN:
a) Thư vin được chia ra thành các nhánh. Thông tin v mi nhánh gm
Mã nhánh, Tên nhánh và Địa ch.
b) Mi cun ch trong thư vin các thông tin v sách, Tên sách Nhà
xut bn và Tác gi
c) Mt tác gi th viết nhiu cun sách. Mt cun sách th nhiu
tác gi viết.
d) Mt n xut bn xut bn nhiu cun ch. Mt cun ch do mt nhà
xut bn xut bn. Thông tin v N xut bn gm Tên NXB, Địa ch
NXB và S đin thoi NXB.
e) Mt cun sách th nhiu bn sao được lưu tr ti các nhánh. Thông
tin v bn sao sách gm Mã sách, s các bn sao.
f) Thư vin nhng người mượn sách. Thông tin v nhng người mượn
sách gm có S th, H tên, Địa ch và S đin thoi.
g) Sách được cho các người mượn mượn ti các nhánh. Thông tin v mt
ln mượn gmNgày mượn và ngày tr.
Hãy xây dng lược đồ quan h cho CSDL “THƯ VIN t các t nói
trên.
Kim tra dng chun ca lược đồ quan h
Bài 1
Cho biết các dng chun ca lược đồ quan h sau
a) R=ABCDEG; F={ABC, CDE, EG}
b) R=ABCDEG; F={CAB, DE, BG}
c) R=ABCDEGH; F={ABC, DE, HG}
d) R=ABCDEG; F={ABC, CB, ABDE, GA}
Bài 2
Kim tra các dng chun
a) R=ABCD; F={CAD, AB}
b) R=SDIM; F={SID, SDM}
e) R=SNDTX; F={SN, SD, ST, SX}
d) R=ABCDEGHI; F={ACB, BIACD, ABCD, HI, ACEBCG,
CGAE}
Chun hóa lược đồ quan h
Bài 1
Chun hóa lược đồ quan h sau v dng 3NF va bo toàn tp ph thuc
hàm va bo toàn thông tin.
a) R=ABC; F={AB, AC, BA, CA, BC}
b) R=ABCD; F={AC,CA, CBD, ADB, CDB, ABD}
c) R=ABCDGH; F={GHAD, AGB, CDGH, CA, BHC}
Bài 2
Chun hóa lược đồ quan h sau v dng BNF
a) R=SDIM; F={SID, SDM}
b) R=ABCD; F={AB, BC, DB}
Kim tra bo toàn tp ph thuc m và bo tn thông tin
Bài 1
Cho lược đồ quan h R=ABCDE
Tp ph thuc hàm F={A C, B C, C D, DE C, CE A}
Phép tách lược đồ thành các lược đồ con: R
1
=AD, R
2
=AB, R
3
=BE,
R
4
=CDE, R
5
=AE.
Kim tra phép tách có mt mát thông tin hay không ?
Bài 2
Cho lược đồ quan h R=ABCD
Tp ph thuc hàm F={AB, BC, AD, DC}
Phép tách lược đồ thành các lược đồ con : R
1
=AB, R
2
=AC, R
3
=BD
Kim tra phép tách có bo toàn thông tin hay không?
Kim tra phép tách có bo toàn tp ph thuc hàm vi F ?
Bài 3
Cho lược đồ quan h R=ABCDEH
Tp ph thuc hàm F={C ADEH, A B, DEH A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kim tra phép tách có mt mát thông tin hay không ?
BÀI GII
Xây dng mô hình quan h cho cơ s d liu
Phn bài gii có trong phn bài tp SQL
Kim tra các dng chun ca lược đồ quan h
Bài 1
Cho biết các dng chun ca lược đồ quan h sau
a) R=ABCDEG;
F={ABC,
CDE,
EG}
Khóa ca lược đồ A. Các thuc tính không khóa B, C, D, E,G
- Lược đồ trên đã dng chun 1
- Lược đồ trên dng chun 2 vì các thuc tính không khóa ph thuc
đầy đủ vào khóa chính
- Lược đồ trên không dng chun 3 vì thuc tính D, E,G không ph
thuc trc tiếp vào khóa chính A
Vy dng chun cao nht ca lược đồ là chun 2
b) R=ABCDEG;
F={CAB,
DE,
BG}
Khóa ca lược đồ CD. Các thuc tính không khóa A, B, E, G
- Lược đồ trên đã dng chun 1
- Lược đồ trên không dng chun 2 vì các thuc tính không khóa
không ph thuc đầy đủ vào khóa chính.
Vy dng chun cao nht ca lược đồ là chun 1
c) R=ABCDEGH;
F={ABC,
DE,
HG}
Khóa ca lược đồ ADH Tương t câu b, dng chun cao nht ca lược đồ
chun 1
d) R=ABCDEG;
F={ABC,
CB,
ABDE,
GA}
Khóa ca lược đồ DGB, DGC. Các thuc tính không khóa A,E. Chn
DBG khóa chính
- Lược đồ đã dng chun 1
- Lược đồ không dng chun 2 các thuc tính không khóa không
ph thuc đầy đủ vào khóa chính. Vy dng chun cao nht ca lược
đồchun 1.
Bài 2
Kim tra các dng chun
a) R=ABCD; F={CAD, AB}
Khóa ca lược đồ AC. Các thuc tính không khóa B,D
- Lược đồ trên đã dng chun 1
- Lược đồ trên không dng chun 2 vì các thuc tính không khóa
không ph thuc đầy đủ vào khóa chính
Vy dng chun cao nht ca lược đồ là chun 1
b) R=SDIM; F={SID, SDM}
Khóa ca lược đồ SI. Các thuc tính không khóa D,M
- Lược đồ trên đã dng chun 1
- Lược đồ trên dng chun 2 vì các thuc tính không khóa ph thuc
đầy đủ vào khóa chính
- Lược đồ trên không dng chun 3 vì thuc tính D, M không ph
thuc trc tiếp vào khóa chính SI
Vy dng chun cao nht ca lược đồ là chun 2
c) R=SNDTX; F={SN, SD, ST, SX}
Khóa ca lược đồ S. Các thuc tính không khóa N, D, T, X
- Lược đồ trên đã dng chun 1
- Lược đồ trên dng chun 2 vì các thuc tính không khóa ph thuc
đầy đủ vào khóa chính
- Lược đồ trên dng chun 3 vì thuc tính không khóa ph thuc trc
tiếp vào khóa chính S.
- Lược đồ trên dng chun Boye-Codd vì các xác định hàm đều là
khóa
Vy dng chun cao nht ca lược đồ là chun Boye-Codd.
d) R=ABCDEGHI; F={ACB, BIACD, ABCD, HI, ACEBCG,
CGAE}
Các thuc tính ch mt vế phi ca các ph thuc hàm: D, I è I 1
thuc tính không khóa
Các thuc tính ch mt vế trái ca ph thuc hàm: H è H luôn thuc
vào 1 khóa ti thiu ca R.
Các khóa ti thiu ca lược đồ BEH, BGH, CGHChn BEH làm ka
chính
- Lược đồ trên đã dng chun 1
- Lược đồ trên không thuc dng chun 2 vì ít nht mt ph thuc
hàm (HèI) cho thy thuc tính không khóa I ph thuc hàm b phn
vào khóa chính
Vy dng chun cao nht ca lược đồ là chun 1
Chuna lược đồ quan h
Bài 1
Chun hóa lược đồ quan h sau v dng 3NF va bo toàn tp ph thuc
hàm va bo toàn thông tin.
a) R=ABC; F={AB, AC, BA, CA, BC}
Bước 1: Tìm ph ti thiu ca F
i.Loi các thuc tính dư tha trong các vế trái ca ph thuc hàm có
trong F.
Không có ph thuc hàm nào trong F có vế trái dư tha
ii.Tách các ph thuc hàm có vế phi trên mt thuc tính thành các
ph thuc hàm có vế phài có mt thuc tính.
Vế phi ca tt c các ph thuc hàm trong F ch mt thuc tính.
iii. Loi khi F các ph thuc hàm dư tha
A
è
B dư tha?
F
1
=F\{AèB} = {AC, BA, CA, BC}
(A)
F1
+
= AC không cha B vy AèB không dư tha ; F
1
= F
AèC dư tha?
F
2
= F
1
\{AèC} = {AB, BA, CA, BC}
(A)
F2
+
= ABC cha C vy AèC dư tha; F
2
= F
1
\{AèC}
BèA dư tha?
F
3
=
F
2
\{BèA} = {AB, CA, BC}
(B)
+
F3
= BCA cha A vy BèA dư tha F
3
=
F
2
\{BèA}
CèA dư tha?
F
4
=
F
3
\{CèA} = {AB, BC}
(C)
+
F3
= C không cha A vy CèA không dư tha F
4
=
F
3
BèC dư tha?
F
5
= F
4
\ {BèC} = {AB, CA}
(B)
+
F5
= B không cha C vy BèC không dư tha F
5
= F
4
F
tt
= F
5
= {AB, CA, BC}
Bước 2: Khóa ca R là A
Bước 3 : R được tách thành các quan h R
1
(AB), R
2
(CA), R
3
(BC) cha ka
A nên phép tách này bo toàn thông tin bo toàn tp ph thuc hàm.
b) R=ABCD; F={AC,CA, CBD, ADB, CDB, ABD}
Bước 1 : Tìm ph ti thiu ca F
i.Loi các thuc tính dư tha trong các vế trái ca ph thuc hàm có
trong F.
(A)
+
= AC, (B)
+
= B, (C)
+
= CA, (D)
+
= D : Không ph thuc hàm có
vế trái dư tha.
ii.Tách các ph thuc hàm có vế phi trên mt thuc tính thành các
ph thuc hàm có vế phài có mt thuc tính.
Vế phi ca tt c các ph thuc hàm trong F ch mt thuc tính.
iii. Loi khi F các ph thuc hàm dư tha
AèC dư tha?
F
1
=F\{AC} = {CA, CBD, ADB, CDB, ABD}
(A)
+
F1
=A không cha C, vy AèC không dư tha F
1
=F
CèA dư tha?
F
2
=F
1
\{CèA} = {AèC, CBD, ADB, CDB, ABD}
(C)
+
F2
=C không cha A, vy CèA không dư tha F
2
=F
1
CBèD dư tha?
F
3
= F
2
\{CBèD} = {AC, CA, ADB, CDB, ABD}
(CB)
+
= CBAD cha D, vy CBèD dư tha F
3
= F
2
\{CBèD}
ADèB dư tha?
F
4
= F
3
\{ADèB} = {AC, CA, CDB, ABD}
(AD)
+
=ADCB cha B, vy ADèB dư tha F
4
= F
3
\{ADèB}
CDèB dư tha?
F
5
= F
4
\{CDèB} = {AC, CA, ABD}
(CD)
+
= CDA không cha B, vy CDèB không dư tha F
5
= F
4
ABèD dư tha?
F
6
=F
5
\{ABèD} = {AC, CA, CDB}
(AB)
+
=ABC không cha D vy ABèD không dư tha F
6
= F
5
F
tt
= F
6
= {AC, CA, CDB, ABD}
Bước 2: Khóa ca R là AB
Bước 3: R được tách thành các quan h R
1
(AC), R
2
(CDB), R
3
(ABD) cha
khóa AB nên phép tách này bo toàn thông tin bo toàn tp ph thuc
hàm.
c) R=ABCDGH; F={GHAD, AGB, CDGH, CA, BHC}
Bước 1: Tìm ph ti thiu ca F
i.Loi b các thuc tính dư tha vế trái ca các ph thuc hàm
(A)
+
= A, (B)
+
= B, (C)
+
= CA, (D)
+
= D, (G)
+
= G, (H)
+
= H.
Vế trái ca các ph thuc hàm không có thuc tính dư tha.
ii.Tách các ph thuc hàm có vế phi trên mt thuc tính thành các
ph thuc hàm có vế phi có mt thuc tính.
F={GHA, GHD, AGB, CDH, CDG, CA, BHC}
iii.Loi b các ph thuc hàm dư tha trong F
GHA dư tha ?
F
1
=F\{GHA} = {GHD, AGB, CDH, CDG, CA, BHC}
(GH)
F1
+
= GHD không cha A; GHA không dư tha F
1
=F
GHD dư tha ?
F
2
=F
1
\{GHD} = {GHA, AGB, CDH, CDG, CA, BHC}
(GH)
F2
+
= GHABC không cha D; GHD không dư tha F
2
=F
1
AGB dư tha?
F
3
=F
2
\{AGB} = {GHA, GHD , CDH, CDG, CA, BHC}
(AG)
F3
+
= AG không cha B; AGB không dư tha F
3
=F
2
CDH dư tha?
F
4
=F
3
\{CDH} = {GHA, GHD , AGB, CDG, CA, BHC}
(CD)
F4
+
= CDGAB không cha H; CDH không dư tha F
4
=F
3
CDG dư tha?
F
5
=F
4
\{CDG} = {GHA, GHD , AGB, CDH, CA, BHC}
(CD)
F5
+
= CDHA không cha H; CDG không dư tha F
5
=F
4
CA dư tha?
F
6
=F
5
\{CA} = {GHA, GHD , AGB, CDH, CDG, BHC}
(C)
F6
+
= C không cha A; CA không dư tha F
6
=F
5
BHC dư tha?
F
7
=F
6
\{BHC} = {GHA, GHD , AGB, CDH, CDG, CA}
(BH)
F7
+
= BH không cha C; BHC không dư tha F
7
=F
6
F
tt
= F
7
= F
Bước 2: Tìm khóa ca lược đồ CD
Bước 3: R được tách thành các quan h R
1
(GHAD), R
2
(AGB), R
3
(CDGH),
R
4
(CA), R
5
(BHC) cha khóa CD nên phép tách này bo toàn thông tin và
bo toàn tp ph thuc hàm.
Bài 2
Chun hóa lược đồ quan h sau v dng BNF
a) R=SDIM; F={SID, SDM}
Bước 1: Khóa ca lược đồ SI, thuc tính không khóa D, M
Bước 2: Xác định chun cao nht ca lược đồ
SID; SISD: Tăng trưởng (1)
SDM: Gi thiết (2)
(1)(2): SIM: Bc cu
- Lược đồ đã dng chun 1
- Lược đồ dng chun 2: Các thuc tính không khóa ph thuc đầy đủ
vào khóa chính.
- Lược đồ không dng chun 3: Thuc tính không khóa M ph thuc bc
cu vào khóa chính.
Chun cao nht ca lược đồchun 2.
Bước 3: Tách lược đồ v dng chun 3, chun Boye-Codd
i.Tách lược đồ v dng chun 3.
R được tách thành R
1
(SID) vi khóa chính SI và R
2
(SDM) vi khóa
chính là SD.
ii. Tách lược đồ v dng chun Boye-Codd
2 lược đồ con này đồng thi đã dng chun Boye-Codd c
xác định hàm đều khóa.
b) R=ABCD; F={AB, BC, DB}.
Bước 1: Khóa ca lược đồ AD, thuc tính không khóa B, C
Bước 2: Xác định chun cao nht ca lược đồ
- Lược đồ đã dng chun 1
- Lược đồ không dng chun 2: Thuc tính không khóa B ph thuc b
phn vào khóa chính AD.
Chun cao nht ca lược đồchun 1
Bước 3: Tách lược đồ v dng chun 2, 3, Boye-Codd
i.Tách lược đồ v dng chun 2
R được tách thành R
1
(ABC) vi khóa cnh A R
2
(DB) vi khóa
chính là D.
ii.Tách lược đồ v dng chun 3
R
1
được tách thành R
11
(AB) vi khóa chính A R
12
(BC) vi khóa
chính B
R
2
đã thuc dng chun 3.
iii. Tách lược đổ v dng chun Boye-Codd
3 lược đồ con này đồng thi đã dng chun Boye-Codd c
xác định hàm đều khóa.
Kim tra bo toàn tp ph thuc hàm và bo toàn thông tin
Bài 1
Cho lược đồ quan h R=ABCDE
Tp ph thuc hàm F={A C, B C, C D, DE C, CE A}
Phép tách lược đồ thành các lược đồ con: R
1
=AD, R
2
=AB, R
3
=BE,
R
4
=CDE, R
5
=AE.
Kim tra phép tách có mt mát thông tin hay không ?
Bước 1: Xây dng bng
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b23 b24 b25
R
3
= BE b31 a2 b33 b34 a5
R
4
= CDE b41 b42 a3 a4 a5
R
5
= AE a1 b52 b53 b54 a5
Bước 2 : Áp dng các ph thuc hàm cho bng
A C
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 b24 b25
R
3
= BE b31 a2 b33 b34 a5
R
4
= CDE b41 b42 A3 a4 a5
R
5
= AE a1 b52 b13 b54 a5
B C
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 b24 b25
R
3
= BE b31 a2 b13 b34 a5
R
4
= CDE b41 b42 a3 a4 a5
R
5
= AE a1 b52 b13 b54 a5
C D
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 a4 b25
R
3
= BE b31 a2 b13 a4 a5
R
4
= CDE b41 b42 a3 a4 a5
R
5
= AE a1 b52 b13 a4 a5
DE C
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 a4 b25
R
3
= BE b31 a2 a3 a4 a5
R
4
= CDE b41 b42 a3 a4 a5
R
5
= AE a1 b52 a3 a4 a5
CE A
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 a4 b25
R
3
= BE a1 a2 a3 a4 a5
R
4
= CDE a1 b42 a3 a4 a5
R
5
= AE a1 b52 a3 a4 a5
Tn ti trong bng mt dòng cha toàn hiu a. Phép ch bo toàn
thông tin.
Bài 2
Cho lược đồ quan h R=ABCD
Tp ph thuc hàm F={AB, BC, AD, DC}
Phép tách lược đồ thành các lược đồ con : R
1
=AB, R
2
=AC, R
3
=BD
a) Kim tra phép tách có bo toàn thông tin hay không?
Bước 1: Xây dng bng
A B C D
R
1
= AB a1 a2 b13 b14
R
2
= AC a1 b22 a3 b24
R
3
= BD b31 a2 b33 a4
Bước 2 : Áp dng các ph thuc hàm cho bng
AB
A B C D
R
1
= AB a1 a2 b13 b14
R
2
= AC a1 a2 a3 b24
R
3
= BD b31 a2 b33 a4
BC
A B C D
R
1
= AB a1 a2 a3 b14
R
2
= AC a1 a2 a3 b24
R
3
= BD b31 a2 a3 a4
AD
A B C D
R
1
= AB a1 a2 a3 a4
R
2
= AC a1 a2 a3 a4
R
3
= BD b31 a2 a3 a4
Tn ti trong bng mt dòng cha toàn hiu a. Phép ch bo toàn
thông tin.
b) Kim tra phép tách có bo toàn tp ph thuc hàm vi F ?
Bước 1: Tìm hình chiếu ca F lên các lược đồ con
Ph thuc hàm là hình chiếu ca F lên R
1
là : AB
Ph thuc hàm hình chiếu ca F lên R
2
: AC (AD; DC =>
AC)
Ph thuc hàm hình chiếu ca F lên R
3
nhng ph thuc hàm tm
thường.
Bước 2: Suy din các ph thuc hàm trong F t tp các hình chiếu
T các ph thuc hàm đã cho không suy din được tt c nhng ph thuc
hàm có trong F. Như vy phép tách này không bo toàn tp ph thuc hàm.
Bài 3
Cho lược đồ quan h R=ABCDEH
Tp ph thuc hàm F={C ADEH, A B, DEH A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kim tra phép tách có mt mát thông tin hay không ?
Bước 1: Xây dng bng
A B C D E H
R
1
= AB a1 a2 b13 b14 b15 b16
R
2
=
CDEH
b21 b22 a3 a4 a5 a6
R
3
= DEHA
a1 b32 b33 a4 a5 a6
Bước 2 : Áp dng các ph thuc hàm cho bng
A B
A B C D E H
R
1
= AB a1 a2 b13 b14 b15 b16
R
2
=
CDEH
b21 b22 a3 a4 a5 a6
R
3
= DEHA
a1 a2 b33 a4 a5 a6
DEH A
A B C D E H
R
1
= AB a1 a2 b13 b14 b15 b16
R
2
=
CDEH
a1 b22 a3 a4 a5 a6
R
3
= DEHA
a1 a2 b33 a4 a5 a6
A B
A B C D E H
R
1
= AB a1 a2 b13 b14 b15 b16
R
2
=
CDEH
a1 a2 a3 a4 a5 a6
R
3
= DEHA
a1 a2 b33 a4 a5 a6
Tn ti trong bng mt dòng cha toàn hiu a. Phép ch bo toàn
thông tin.
| 1/13

Preview text:

Xây dựng mô hình quan hệ cho cơ sở dữ liệu Bài 1
Có các mô tả sau về CSDL “THƯ VIỆN”:
a) Thư viện được chia ra thành các nhánh. Thông tin về mỗi nhánh gồm có
Mã nhánh, Tên nhánh và Địa chỉ.
b) Mỗi cuốn sách trong thư viện có các thông tin về Mã sách, Tên sách Nhà
xuất bản và Tác giả…
c) Một tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể có nhiều tác giả viết.
d) Một nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách do một nhà
xuất bản xuất bản. Thông tin về Nhà xuất bản gồm có Tên NXB, Địa chỉ
NXB và Số điện thoại NXB.
e) Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các nhánh. Thông
tin về bản sao sách gồm Mã sách, số các bản sao.
f) Thư viện có những người mượn sách. Thông tin về những người mượn
sách gồm có Số thẻ, Họ tên, Địa chỉ và Số điện thoại.
g) Sách được cho các người mượn mượn tại các nhánh. Thông tin về một
lần mượn gồm có Ngày mượn và ngày trả.
Hãy xây dựng lược đồ quan hệ cho CSDL “THƯ VIỆN ” từ các mô tả nói trên.
Kiểm tra dạng chuẩn của lược đồ quan hệ Bài 1
Cho biết các dạng chuẩn của lược đồ quan hệ sau
a) R=ABCDEG; F={A→BC, C→DE, E→G}
b) R=ABCDEG; F={C→AB, D→E, B→G}
c) R=ABCDEGH; F={A→BC, D→E, H→G}
d) R=ABCDEG; F={AB→C, C→B, ABD→E, G→A} Bài 2
Kiểm tra các dạng chuẩn a) R=ABCD; F={CA→D, A→B} b) R=SDIM; F={SI→D, SD→M}
e) R=SNDTX; F={S→N, S→D, S→T, S→X}
d) R=ABCDEGHI; F={AC→B, BI→ACD, ABC→D, H→I, ACE→BCG, CG→AE}
Chuẩn hóa lược đồ quan hệ Bài 1
Chuẩn hóa lược đồ quan hệ sau về dạng 3NF vừa bảo toàn tập phụ thuộc
hàm vừa bảo toàn thông tin.
a) R=ABC; F={A→B, A→C, B→A, C→A, B→C}
b) R=ABCD; F={A→C,C→A, CB→D, AD→B, CD→B, AB→D}
c) R=ABCDGH; F={GH→AD, AG→B, CD→GH, C→A, BH→C} Bài 2
Chuẩn hóa lược đồ quan hệ sau về dạng BNF a) R=SDIM; F={SI→D, SD→M}
b) R=ABCD; F={A→B, B→C, D→B}
Kiểm tra bảo toàn tập phụ thuộc hàm và bảo toàn thông tin Bài 1
Cho lược đồ quan hệ R=ABCDE
Tập phụ thuộc hàm F={A → C, B → C, C → D, DE → C, CE → A}
Phép tách lược đồ thành các lược đồ con: R1=AD, R2=AB, R3=BE, R4=CDE, R5=AE.
Kiểm tra phép tách có mất mát thông tin hay không ? Bài 2
Cho lược đồ quan hệ R=ABCD
Tập phụ thuộc hàm F={A→B, B→C, A→D, D→C}
Phép tách lược đồ thành các lược đồ con : R1=AB, R2=AC, R3=BD
Kiểm tra phép tách có bảo toàn thông tin hay không?
Kiểm tra phép tách có bảo toàn tập phụ thuộc hàm với F ? Bài 3
Cho lược đồ quan hệ R=ABCDEH
Tập phụ thuộc hàm F={C →ADEH, A →B, DEH →A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kiểm tra phép tách có mất mát thông tin hay không ? BÀI GIẢI
Xây dựng mô hình quan hệ cho cơ sở dữ liệu
Phần bài giải có trong phần bài tập SQL
Kiểm tra các dạng chuẩn của lược đồ quan hệ Bài 1
Cho biết các dạng chuẩn của lược đồ quan hệ sau a) R=ABCDEG; F={A→BC, C→DE, E→G}
Khóa của lược đồ A. Các thuộc tính không khóa B, C, D, E,G
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên ở dạng chuẩn 2 vì các thuộc tính không khóa phụ thuộc
đầy đủ vào khóa chính
- Lược đồ trên không ở dạng chuẩn 3 vì thuộc tính D, E,G không phụ
thuộc trực tiếp vào khóa chính A
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 2 b) R=ABCDEG; F={C→AB, D→E, B→G}
Khóa của lược đồ CD. Các thuộc tính không khóa A, B, E, G
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên không ở dạng chuẩn 2 vì các thuộc tính không khóa
không phụ thuộc đầy đủ vào khóa chính.
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 1 c) R=ABCDEGH; F={A→BC, D→E, H→G}
Khóa của lược đồ là ADH Tương tự câu b, dạng chuẩn cao nhất của lược đồ là chuẩn 1 d) R=ABCDEG; F={AB→C, C→B, ABD→E, G→A}
Khóa của lược đồ là DGB, DGC. Các thuộc tính không khóa A,E. Chọn DBG là khóa chính
- Lược đồ đã ở dạng chuẩn 1
- Lược đồ không ở dạng chuẩn 2 vì các thuộc tính không khóa không
phụ thuộc đầy đủ vào khóa chính. Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 1. Bài 2
Kiểm tra các dạng chuẩn a) R=ABCD; F={CA→D, A→B}
Khóa của lược đồ AC. Các thuộc tính không khóa B,D
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên không ở dạng chuẩn 2 vì các thuộc tính không khóa
không phụ thuộc đầy đủ vào khóa chính
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 1 b) R=SDIM; F={SI→D, SD→M}
Khóa của lược đồ SI. Các thuộc tính không khóa D,M
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên ở dạng chuẩn 2 vì các thuộc tính không khóa phụ thuộc
đầy đủ vào khóa chính
- Lược đồ trên không ở dạng chuẩn 3 vì thuộc tính D, M không phụ
thuộc trực tiếp vào khóa chính SI
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 2
c) R=SNDTX; F={S→N, S→D, S→T, S→X}
Khóa của lược đồ S. Các thuộc tính không khóa N, D, T, X
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên ở dạng chuẩn 2 vì các thuộc tính không khóa phụ thuộc
đầy đủ vào khóa chính
- Lược đồ trên ở dạng chuẩn 3 vì thuộc tính không khóa phụ thuộc trực tiếp vào khóa chính S.
- Lược đồ trên ở dạng chuẩn Boye-Codd vì các xác định hàm đều là khóa
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn Boye-Codd.
d) R=ABCDEGHI; F={AC→B, BI→ACD, ABC→D, H→I, ACE→BCG, CG→AE}
Các thuộc tính chỉ có mặt ở vế phải của các phụ thuộc hàm: D, I è I là 1 thuộc tính không khóa
Các thuộc tính chỉ có mặt ở vế trái của phụ thuộc hàm: H è H luôn thuộc
vào 1 khóa tối thiểu của R.
Các khóa tối thiểu của lược đồ BEH, BGH, CGH…Chọn BEH làm khóa chính
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên không thuộc dạng chuẩn 2 vì có ít nhất một phụ thuộc
hàm (HèI) cho thấy thuộc tính không khóa I phụ thuộc hàm bộ phận vào khóa chính
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 1
Chuẩn hóa lược đồ quan hệ Bài 1
Chuẩn hóa lược đồ quan hệ sau về dạng 3NF vừa bảo toàn tập phụ thuộc
hàm vừa bảo toàn thông tin.
a) R=ABC; F={A→B, A→C, B→A, C→A, B→C}
Bước 1: Tìm phủ tối thiểu của F
i.Loại các thuộc tính dư thừa trong các vế trái của phụ thuộc hàm có trong F.
Không có phụ thuộc hàm nào trong F có vế trái dư thừa
ii.Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các
phụ thuộc hàm có vế phài có một thuộc tính.
Vế phải của tất cả các phụ thuộc hàm trong F chỉ có một thuộc tính.
iii. Loại khỏi F các phụ thuộc hàm dư thừa AèB dư thừa?
F1=F\{AèB} = {A→C, B→A, C→A, B→C} (A) +
F1 = AC không chứa B vậy AèB không dư thừa ; F1 = F AèC dư thừa?
F2 = F1\{AèC} = {A→B, B→A, C→A, B→C} (A) +
F2 = ABC chứa C vậy AèC dư thừa; F2 = F1\{AèC} BèA dư thừa?
F3 = F2\{BèA} = {A→B, C→A, B→C}
(B)+F3 = BCA chứa A vậy BèA dư thừa F3 = F2\{BèA} CèA dư thừa?
F4 = F3\{CèA} = {A→B, B→C}
(C)+F3 = C không chứa A vậy CèA không dư thừa F4 = F3 BèC dư thừa?
F5 = F4\ {BèC} = {A→B, C→A}
(B)+F5 = B không chứa C vậy BèC không dư thừa F5 = F4
Ftt = F5 = {A→B, C→A, B→C}
Bước 2: Khóa của R là A
Bước 3 : R được tách thành các quan hệ R1(AB), R2(CA), R3(BC) chứa khóa
A nên phép tách này bảo toàn thông tin và bảo toàn tập phụ thuộc hàm.
b) R=ABCD; F={A→C,C→A, CB→D, AD→B, CD→B, AB→D}
Bước 1 : Tìm phủ tối thiểu của F
i.Loại các thuộc tính dư thừa trong các vế trái của phụ thuộc hàm có trong F.
(A)+ = AC, (B)+= B, (C)+= CA, (D)+= D : Không có phụ thuộc hàm có vế trái dư thừa.
ii.Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các
phụ thuộc hàm có vế phài có một thuộc tính.
Vế phải của tất cả các phụ thuộc hàm trong F chỉ có một thuộc tính.
iii. Loại khỏi F các phụ thuộc hàm dư thừa AèC dư thừa?
F1=F\{A→C} = {C→A, CB→D, AD→B, CD→B, AB→D}
(A)+F1=A không chứa C, vậy AèC không dư thừa F1=F CèA dư thừa?
F2=F1\{CèA} = {AèC, CB→D, AD→B, CD→B, AB→D}
(C)+F2=C không chứa A, vậy CèA không dư thừa F2=F1 CBèD dư thừa?
F3 = F2\{CBèD} = {A→C, C→A, AD→B, CD→B, AB→D}
(CB)+ = CBAD chứa D, vậy CBèD dư thừa F3 = F2\{CBèD} ADèB dư thừa?
F4 = F3\{ADèB} = {A→C, C→A, CD→B, AB→D}
(AD)+=ADCB chứa B, vậy ADèB dư thừa F4 = F3\{ADèB} CDèB dư thừa?
F5 = F4\{CDèB} = {A→C, C→A, AB→D}
(CD)+ = CDA không chứa B, vậy CDèB không dư thừa F5 = F4 ABèD dư thừa?
F6=F5\{ABèD} = {A→C, C→A, CD→B}
(AB)+=ABC không chứa D vậy ABèD không dư thừa F6 = F5
Ftt = F6 = {A→C, C→A, CD→B, AB→D}
Bước 2: Khóa của R là AB
Bước 3: R được tách thành các quan hệ R1(AC), R2(CDB), R3(ABD) chứa
khóa AB nên phép tách này bảo toàn thông tin và bảo toàn tập phụ thuộc hàm.
c) R=ABCDGH; F={GH→AD, AG→B, CD→GH, C→A, BH→C}
Bước 1: Tìm phủ tối thiểu của F
i.Loại bỏ các thuộc tính dư thừa ở vế trái của các phụ thuộc hàm
(A)+= A, (B)+= B, (C)+= CA, (D)+= D, (G)+= G, (H)+= H.
Vế trái của các phụ thuộc hàm không có thuộc tính dư thừa.
ii.Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các
phụ thuộc hàm có vế phải có một thuộc tính.
F={GH→A, GH→D, AG→B, CD→H, CD→G, C→A, BH→C}
iii.Loại bỏ các phụ thuộc hàm dư thừa trong F GH→A dư thừa ?
F1=F\{GH→A} = {GH→D, AG→B, CD→H, CD→G, C→A, BH→C} (GH) +
F1 = GHD không chứa A; GH→A không dư thừa F1=F GH→D dư thừa ?
F2=F1\{GH→D} = {GH→A, AG→B, CD→H, CD→G, C→A, BH→C} (GH) +
F2 = GHABC không chứa D; GH→D không dư thừa F2=F1 AG→B dư thừa?
F3=F2\{AG→B} = {GH→A, GH→D , CD→H, CD→G, C→A, BH→C} (AG) +
F3 = AG không chứa B; AG→B không dư thừa F3=F2 CD→H dư thừa?
F4=F3\{CD→H} = {GH→A, GH→D , AG→B, CD→G, C→A, BH→C} (CD) +
F4 = CDGAB không chứa H; CD→H không dư thừa F4=F3 CD→G dư thừa?
F5=F4\{CD→G} = {GH→A, GH→D , AG→B, CD→H, C→A, BH→C} (CD) +
F5 = CDHA không chứa H; CD→G không dư thừa F5=F4 C→A dư thừa?
F6=F5\{C→A} = {GH→A, GH→D , AG→B, CD→H, CD→G, BH→C} (C) +
F6 = C không chứa A; C→A không dư thừa F6=F5 BH→C dư thừa?
F7=F6\{BH→C} = {GH→A, GH→D , AG→B, CD→H, CD→G, C→A} (BH) +
F7 = BH không chứa C; BH→C không dư thừa F7=F6 Ftt = F7 = F
Bước 2: Tìm khóa của lược đồ CD
Bước 3: R được tách thành các quan hệ R1(GHAD), R2(AGB), R3(CDGH),
R4(CA), R5(BHC) chứa khóa CD nên phép tách này bảo toàn thông tin và
bảo toàn tập phụ thuộc hàm. Bài 2
Chuẩn hóa lược đồ quan hệ sau về dạng BNF a) R=SDIM; F={SI→D, SD→M}
Bước 1: Khóa của lược đồ SI, thuộc tính không khóa D, M
Bước 2: Xác định chuẩn cao nhất của lược đồ
SI→D; SI→SD: Tăng trưởng (1) SD→M: Giả thiết (2) (1)(2): SI→M: Bắc cầu
- Lược đồ đã ở dạng chuẩn 1
- Lược đồ ở dạng chuẩn 2: Các thuộc tính không khóa phụ thuộc đầy đủ vào khóa chính.
- Lược đồ không ở dạng chuẩn 3: Thuộc tính không khóa M phụ thuộc bắc cầu vào khóa chính.
Chuẩn cao nhất của lược đồ là chuẩn 2.
Bước 3: Tách lược đồ về dạng chuẩn 3, chuẩn Boye-Codd
i.Tách lược đồ về dạng chuẩn 3.
R được tách thành R1(SID) với khóa chính là SI và R2(SDM) với khóa chính là SD.
ii. Tách lược đồ về dạng chuẩn Boye-Codd
2 lược đồ con này đồng thời đã ở dạng chuẩn Boye-Codd vì có các
xác định hàm đều là khóa.
b) R=ABCD; F={A→B, B→C, D→B}.
Bước 1: Khóa của lược đồ AD, thuộc tính không khóa B, C
Bước 2: Xác định chuẩn cao nhất của lược đồ
- Lược đồ đã ở dạng chuẩn 1
- Lược đồ không ở dạng chuẩn 2: Thuộc tính không khóa B phụ thuộc bộ phận vào khóa chính AD.
Chuẩn cao nhất của lược đồ là chuẩn 1
Bước 3: Tách lược đồ về dạng chuẩn 2, 3, Boye-Codd
i.Tách lược đồ về dạng chuẩn 2
R được tách thành R1(ABC) với khóa chính là A và R2(DB) với khóa chính là D.
ii.Tách lược đồ về dạng chuẩn 3
R1 được tách thành R11(AB) với khóa chính là A và R12(BC) với khóa chính là B
R2 đã thuộc dạng chuẩn 3.
iii. Tách lược đổ về dạng chuẩn Boye-Codd
3 lược đồ con này đồng thời đã ở dạng chuẩn Boye-Codd vì có các
xác định hàm đều là khóa.
Kiểm tra bảo toàn tập phụ thuộc hàm và bảo toàn thông tin Bài 1
Cho lược đồ quan hệ R=ABCDE
Tập phụ thuộc hàm F={A → C, B → C, C → D, DE → C, CE → A}
Phép tách lược đồ thành các lược đồ con: R1=AD, R2=AB, R3=BE, R4=CDE, R5=AE.
Kiểm tra phép tách có mất mát thông tin hay không ?
Bước 1: Xây dựng bảng A B C D E R1 = AD a1 b12 b13 a4 b15 R2 = AB a1 a2 b23 b24 b25 R3 = BE b31 a2 b33 b34 a5 R4 = CDE b41 b42 a3 a4 a5 R5 = AE a1 b52 b53 b54 a5
Bước 2 : Áp dụng các phụ thuộc hàm cho bảng A → C A B C D E R1 = AD a1 b12 b13 a4 b15 R2 = AB a1 a2 b13 b24 b25 R3 = BE b31 a2 b33 b34 a5 R4 = CDE b41 b42 A3 a4 a5 R5 = AE a1 b52 b13 b54 a5 B → C A B C D E R1 = AD a1 b12 b13 a4 b15 R2 = AB a1 a2 b13 b24 b25 R3 = BE b31 a2 b13 b34 a5 R4 = CDE b41 b42 a3 a4 a5 R5 = AE a1 b52 b13 b54 a5 C → D A B C D E R1 = AD a1 b12 b13 a4 b15 R2 = AB a1 a2 b13 a4 b25 R3 = BE b31 a2 b13 a4 a5 R4 = CDE b41 b42 a3 a4 a5 R5 = AE a1 b52 b13 a4 a5 DE → C A B C D E R1 = AD a1 b12 b13 a4 b15 R2 = AB a1 a2 b13 a4 b25 R3 = BE b31 a2 a3 a4 a5 R4 = CDE b41 b42 a3 a4 a5 R5 = AE a1 b52 a3 a4 a5 CE → A A B C D E R1 = AD a1 b12 b13 a4 b15 R2 = AB a1 a2 b13 a4 b25 R3 = BE a1 a2 a3 a4 a5 R4 = CDE a1 b42 a3 a4 a5 R5 = AE a1 b52 a3 a4 a5
Tồn tại trong bảng một dòng chứa toàn ký hiệu a. Phép tách là bảo toàn thông tin. Bài 2
Cho lược đồ quan hệ R=ABCD
Tập phụ thuộc hàm F={A→B, B→C, A→D, D→C}
Phép tách lược đồ thành các lược đồ con : R1=AB, R2=AC, R3=BD
a) Kiểm tra phép tách có bảo toàn thông tin hay không?
Bước 1: Xây dựng bảng A B C D R1 = AB a1 a2 b13 b14 R2 = AC a1 b22 a3 b24 R3 = BD b31 a2 b33 a4
Bước 2 : Áp dụng các phụ thuộc hàm cho bảng A→B A B C D R1 = AB a1 a2 b13 b14 R2 = AC a1 a2 a3 b24 R3 = BD b31 a2 b33 a4 B→C A B C D R1 = AB a1 a2 a3 b14 R2 = AC a1 a2 a3 b24 R3 = BD b31 a2 a3 a4 A→D A B C D R1 = AB a1 a2 a3 a4 R2 = AC a1 a2 a3 a4 R3 = BD b31 a2 a3 a4
Tồn tại trong bảng một dòng chứa toàn ký hiệu a. Phép tách là bảo toàn thông tin.
b) Kiểm tra phép tách có bảo toàn tập phụ thuộc hàm với F ?
Bước 1: Tìm hình chiếu của F lên các lược đồ con
Phụ thuộc hàm là hình chiếu của F lên R1 là : A→B
Phụ thuộc hàm là hình chiếu của F lên R2 là : A→C (A→D; D→C => A→C)
Phụ thuộc hàm là hình chiếu của F lên R3 là những phụ thuộc hàm tầm thường.
Bước 2: Suy diễn các phụ thuộc hàm trong F từ tập các hình chiếu
Từ các phụ thuộc hàm đã cho không suy diễn được tất cả những phụ thuộc
hàm có trong F. Như vậy phép tách này không bảo toàn tập phụ thuộc hàm. Bài 3
Cho lược đồ quan hệ R=ABCDEH
Tập phụ thuộc hàm F={C →ADEH, A →B, DEH →A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kiểm tra phép tách có mất mát thông tin hay không ?
Bước 1: Xây dựng bảng A B C D E H R1 = AB a1 a2 b13 b14 b15 b16 R2 = b21 b22 a3 a4 a5 a6 CDEH R3 = DEHA a1 b32 b33 a4 a5 a6
Bước 2 : Áp dụng các phụ thuộc hàm cho bảng A →B A B C D E H R1 = AB a1 a2 b13 b14 b15 b16 R2 = b21 b22 a3 a4 a5 a6 CDEH R3 = DEHA a1 a2 b33 a4 a5 a6 DEH →A A B C D E H R1 = AB a1 a2 b13 b14 b15 b16 R2 = a1 b22 a3 a4 a5 a6 CDEH R3 = DEHA a1 a2 b33 a4 a5 a6 A →B A B C D E H R1 = AB a1 a2 b13 b14 b15 b16 R2 = a1 a2 a3 a4 a5 a6 CDEH R3 = DEHA a1 a2 b33 a4 a5 a6
Tồn tại trong bảng một dòng chứa toàn ký hiệu a. Phép tách là bảo toàn thông tin.