Tải bản đầy đủ (.doc) (9 trang)

BÀI TẬP PHỤ THUỘC HÀM – CHUẨN HÓA CSDL doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (146.81 KB, 9 trang )

Bài tập
PHỤ THUỘC HÀM – CHUẨN HÓA CSDL
Bài tập 1
1/ Cho quan hệ sau:
r( A B C D E)
a
1
b
1
c
1
d
1
e
1
a
1
b
2
c
2
d
2
d
1
a
2
b
1
c
3


d
3
e
1
a
2
b
1
c
4
d
3
e
1
a
3
b
2
c
5
d
1
e
1
Phụ thuộc hàm nào sau đây thỏa r:
A→D,AB→D,C→BDE,E→A,A→E
2/ Cho Q
+
={ABCD}
a) Tìm tất các các tập con của Q

b) Tìm tất cả các phụ thuộc hàm có thể có của Q (không liệt kê phụ thuộc hàm
hiển nhiên)
3/ Tìm bao đóng F
+
của quan hệ
phanCong(PHICONG,MAYBAY,NGAYKH,GIOKH)
4/ Cho F = {AB→C,B→D,CD→E,CE→GH,G→A}
a) Hãy chứng tỏ phụ thuộc hàm AB→E,AB→G được suy diễn từ F nhờ luật
dẫn Armstrong
b) Tìm bao đóng của AB(với bài toán không nói gì về lược đồ quan hệ Q ta
ngầm hiểu Q
+
là tập thuộc tính có trong F nghĩa là Q
+
={ABCDEGH})
5/ Cho F = {A→D,AB→DE,CE→G,E→H}. Hãy tìm bao đóng của AB.
6/ Cho F={AB→E,AG→I,BE→I,E→G,GI→H}.
a) Hãy chứng tỏ phụ thuộc hàm AB→GH được suy diễn từ F nhờ luật dẫn
Armstrong
b) Tìm bao đóng của {AB}
7/ Cho F={A→D,AB→E,BI→E,CD→I,E→C} tìm bao đóng của {AE}
+
={ACDEI}
Bài tập 2 – Phủ thối thiểu – Khóa của lược đồ CSDL
1) Cho lược đồ quan hệ Q(MSCD,MSSV,CD,HG) và tập phụ thuộc F như sau:
F = {MSCD → CD;
CD → MSCD;
CD,MSSV → HG;
MSCD,HG → MSSV;
CD,HG → MSSV;

MSCD,MSSV → HG}
1
Hãy tìm phủ tối thiểu của F
2) Chứng minh các tính chất sau:
a) Tính cộng đầy đủ X → Y và Z → W ⇒ XZ → YW
b) Tính tích lũy X → Y và Y → ZW ⇒ X → YZW
3) Cho G={AB→C,A→B,B→C,A→C}. F={AB→C,A→B,B→C} có tương
đương với G không?
4) Cho lược đồ CSDL
Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN)
F={NGAY,GIO,PHONG → MONHOC
MONHOC,NGAY → GIAOVIEN
NGAY,GIO,PHONG → GIAOVIEN
MONHOC → GIAOVIEN}
a) Tính {NGAY,GIO,PHONG}
+
; {MONHOC}
+
b) Tìm phủ tối thiểu của F
c) Tìm tất cả các khóa của Kehoach
5) Cho lược đồ CSDL
Q(TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG,NGAY)
F={TENTAU → LOAITAU
MACHUYEN → TENTAU, LUONGHANG
TENTAU,NGAY → BENCANG, MACHUYEN}
a) Hãy tìm tập phủ tối thiểu của F
b) Tìm tất cả các khóa của Q
6) Q(A,B,C,D,E,G)
Cho F={AB→C;C→A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE →
AG}

X={B,D}, X
+
=?
Y={C,G}, Y
+
=?
7) cho lược đồ quan hệ Q và tập phụ thuộc hàm F
a) F={AB→E;AG→I;BE→I;E→G;GI→ H} chứng minh rằng AB →
GH.
b) F={AB→C;B→D;CD→E;CE→GH;G→A}chứng minh rằng AB → E;
AB → G
8) Cho quan hệ r
A B C D
x u x Y
y x z x
z y y y
2
y z w z
Trong các phụ thuộc hàm sau đây, PTH nào không thỏa
A → B; A → C; B → A; C → D; D → C; D → A
9) Hãy tìm tất cả các khóa cho lược đồ quan hệ sau:
Q(BROKER,OFFICE,STOCK,QUANTITY,INVESTOR,DIVIDENT)
F={STOCK → DIVIDENT
INVESTOR → BROKER
INVESTOR,STOCK → QUANTITY
BROKER → OFFICE }
10)Xét lược đồ quan hệ và tập phụ thuộc dữ liệu:
Q(C,T,H,R,S,G)
f={ f
1

: C→ T; f
2
: HR→ C; f
3
: HT→
R;
f
4
: CS→ G; f
5
: HS→ R}
Tìm phủ tối thiểu của F
11) Q(A,B,C,D,E,H)
F={A → E; C → D; E → DH}
Chứng minh K={A,B,C} là khóa duy nhất của Q
12) Q(A,B,C,D)
F={AB→C; D→B; C→ABD}
Hãy tìm tất cả các khóa của Q
13) Q(A,B,C,D,E,G)
F={AB→C;C→ A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE→G}
Hãy tìm tất cả các khóa của Q.
14)Xác định phủ tối thiểu của tập phụ thuộc hàm sau:
a) Q(A,B,C,D,E,G),
F={AB→C;C→A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE→AG}
b) Q(A,B,C)
F={A→B,A→C,B→A,C→A,B→C}
15)Xác định phủ tối thiểu của các tập phụ thuộc hàm sau:
a) Q
1
(ABCDEGH)

F
1
={A→ H,AB→C,BC→D;G→B}
b) Q
2
(ABCSXYZ)
F
2
={S→A;AX→B;S→B;BY→C;CZ→X}
c) Q
3
(ABCDEGHIJ)
F
3
={BG→D;G→J;AI→C;CE→H;BD→G;JH→A; D→I }
d) Q
4
(ABCDEGHIJ)
F
4
={BH→I;GC→A;I→J;AE→G;D→B;I→H}
16) Chứng minh rằng:
3
{ABE, AG I, BE I, EG, GIH} |= (AB GH)
17)Cho 1 lược đồ quan hệ R(U,F) với U={BDIOQS} và F= {SD, IB, IS Q,
BO}
a. Trong những phụ thuộc hàm sau, phụ thuộc nào thuộc F+: BI SQ, IS
 DOB, BIS  QD?
b. Tìm khóa của lược đồ
18) Cho Q(A,B,C,D,E,I), F={ACD→EBI;CE→AD}. Hỏi Q có đạt chuẩn BC

không?
19)Cho lược đồ quan hệ R= {Q,F} với Q={ABCDEFGH} và
F= {ABCH, CDE, HD, BFGH, EF, HAB}
Hãy chứng minh F tuơng đương với G={ ABEFG, BF GH, AB CD,
CDEF, HAB, EF}
20) Cho lược đồ quan hệ R= {Q,F} với Q={ABCGWXYZ} và
F= {XYZYB, YACG, CW, BG, XZG}
Tìm phủ tối thiểu của F
Bài tập 3 – Chuẩn hóa CSDL
1/ Cho biết dạng chuẩn của các lược đồ quan hệ sau:
a) Q(ABCDEG); F={A→BC, C→DE, E→G}
b) Q(ABCDEGH); F={C→AB, D→E, B→G}
c) Q(ABCDEGH) F={A→BC, D→E, H→G}
d) Q(ABCDEG); F={AB→C, C→B, ABD→E, G→A}
e) Q(ABCDEGHI);
F={AC→B,BI→ACD,ABC→D,H→I,ACE→BCG,CG→AE}
2/ Kiểm tra sự bảo toàn thông tin ?
Q(ABCDE) R
1
(AD);R
2
(AB);R
3
(BE); R
4
(CDE);R
5
(AE)
F={A → C; B → C;C → D;DE → C;CE → A}
3/ Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F =

{A→B;B→C;A→D;D→C}
Và một lược đồ CSDL như sau: C ={Q
1
(AB);Q
2
(AC);Q
3
(BD)}
a) C có bảo toàn thông tin đối với F
b) C có bảo toàn phụ thuộc hàm ?
4/ Kiểm tra dạng chuẩn Q(C,S,Z) F={CS→Z;Z→C}
4
5/ Phân rã Q(G,H,A,B,C,D) F={GH→AD;AG→B;CD→GH; C→A;
BH→C}
6/ Cho lược đồ CSDL
Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN)
F={NGAY,GIO,PHONG→MONHOC
MONHOC,NGAY→GIAOVIEN
NGAY,GIO,PHONG→GIAOVIEN
MONHOC→GIAOVIEN}
a) Xác định dạng chuẩn cao nhất của Kehoach
b) Nếu Kehoach chưa đạt dạng chuẩn 3, hãy phân rã Kehoach thành lược đồ
CSDL dạng chuẩn 3 vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin.
c) Nếu Kehoach chưa đạt dạng chuẩn BC, hãy phân rã KeHoach thành lược
đồ CSDL dạng BC
7/ Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F
F = {A→B;B→C; D→B} C = {Q
1
(A,C,D); Q
2

(B,D)}
a) Xác định các F
i
(những phụ thuộc hàm F được bao trong Q
i
)
b) Lược đồ CSDL C có đạt dạng chuẩn BC ? Nếu không có thể phân rã tiếp
các Q
i
của C để biến C thành dạng chuẩn BC ?
8/ Giả sử ta có lược đồ quan hệ Q(C,D,E,G,H,K) và tập phụ thuộc hàm F như
sau;
F = {CK→ H; C →D; E→C; E →G; CK →E}
a) Từ tập F, hãy chứng minh EK → DH
b) Tìm tất cả các khóa của Q.
c) Xác định dạng chuẩn của Q.
d) Hãy tìm cách phân rã Q thành một lược đồ CSDL đạt dạng chuẩn BC (hoặc
dạng chuẩn 3). tìm tập phụ thuộc hàm và khóa cho mỗi lược đồ quan hệ
con.
9/ Cho lược đồ quan hệ Q(S,I,D,M)
F = {f
1
:SI → DM; f
2
:SD→ M; f
3
:D→ M}
5
a) Tính bao đóng D
+

, SD
+
, SI
+
b) Tìm tất cả các khóa của Q
c) Tìm phủ tối thiểu của F
d) Xác định dạng chuẩn cao nhất của Q
e) Nếu Q chưa đạt dạng chuẩn 3, hãy phân rã Q thành lược đồ CSDL dạng
chuẩn 3 vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin.
f) Nếu Q chưa đạt dạng chuẩn BCNF, hãy phân rã Q thành lược đồ CSDL
dạng BCNF
g) Kiểm tra phép tách Q thành các lược đồ con (SID,SIM) có bảo toàn
thông tin ?
h) Kiểm tra phép tách Q thành các lược đồ con (SID,SIM) có bảo toàn phụ
thuộc hàm ?
10/ Cho lược đồ quan hệ
R(W,A,Z,Y,Q,P)
R
1
(A,Z);
R
2
(W,Y,Q,P)
R
3
(Y,Q,P,A)
F = {W →AYQP, A →Z, YQP →A}
Hãy kiểm tra tính kết nối không mất thông tin.
11/ Cho lược đồ quan hệ Q(Môn, GiảngViên,Giờ giảng, Phòng, SinhViên, Hạng)
với

F ={M→GV; G,P→M; G,GV→P; M,SV→H; G,SV→P}
C = {Q
1
(M,G,P); Q
2
(M,GV);Q
3
( M,SV,H)}
Kiểm tra xem lược đồ cơ sở dữ liệu sau đây có bảo toàn thông tin đối với
F ?
12/ Kiểm Tra Dang Chuẩn
a) Q(A,B,C,D) F={CA→D; A→B}
b) Q(S,D,I,M) F={SI→D;SD→M}
c) Q(N,G,P,M,GV) F={N,G,P→M;M→GV}
d) Q(S,N,D,T,X) F={S→N; S→D; S→T; S→X}
13/ Phân rã lược đồ thành dạng BCK
a) Q(S,D,I,M) F={S,I→D;S,D→M}
6
b) Q(A,B,C,D) F={A→B;B→C;D→B}
c) Q(C,S,Z) F={C,S→Z; Z→C}
14/ Phân rã lược đồ thành dạng 3NF vừa bảo toàn phụ thuộc hàm vừa bảo toàn
thông tin
a) Q(A,B,C), F={A→B;A→C;B→A;C→A;B→C}
b) Q(MSCD,MSSV,CD,HG)
F={MSCD→CD;
CD→MSCD;
CD,MSSV→HG;
MSCD,HG→MSSV;
CD,HG→MSSV;
MSCD,MSSV→HG}

c) Q(A,B,C,D) F={ AB→C; C→B}
15) Hãy xác định phụ thuộc hàm và chuẩn hóa bảng INVOICE sau nếu bảng chỉ
chứa giá trị đơn và một hóa đơn có thể mua nhiều mặt hàng khác nhau:
Tên thuộc tính Giá trị mẫu
INV_NUM 211347
PRO_NUM E3422
SALE_DATE 06/25/04
PROD_DESCRIPTION B&D rotary sander 6, in.disk
VEND_CODE 211
VEND_NAME Neverfail, Inc.
NUMBER_SOLD 2
PROD_PRICE $49.95
2. Xác định tất cả các phụ thuộc hàm và chuẩn hóa bảng STUDENT có cấu
trúc sau:
Tên Thuộc tính Giá trị mẫu
STU_NUM 21343
STU_LNAME Stephanos
STU_FNAME Vander
DEPT_CODE ACCT
DEPT_NAME Accounting
DEPT_PHONE 4356
COLLEGE_NAME Bussiness Administration
7
ADV_LASTNAME Grastrand
ADV_OFFICE HKB201
ADV_BUILDING Howard Kallenberger Building
ADV_PHONE 2115
STU_GPA 2.87
STU_HOURS 96
SRU_CLASS Junior

3. Một câu lạc bộ tối đã tự thiết kế cho họ 1 CSDL với mục đích giúp giám
đốc câu lạc bộ có thể gửi thiếp mời qua mail cho các thành viên (member) của
câu lạc bộ, lập kế hoạch cho các bữa ăn, theo dõi ai tham dự tiệc tối, Sau đây
là các nguyên tắc nghiệp vụ cần được thực thi trong CSDL:
- Mỗi buổi tối phục vụ nhiều thành viên, và mỗi thành viên có thể tham dự
nhiều buổi tối
- Mỗi thành viên nhận được nhiều thiếp mời, và mỗi thiếp mời được gửi qua
mail cho nhiều thành viên.
- Mỗi buổi tối đều chỉ có1 món khai vị (entrée), nhưng món khai vị có thể
dùng cho nhiều buổi tối . Ví dụ, một buổi tối có thể gồm món cá khai vị,
cơm và ngũ cốc, hay buổi tối khác có thể gồm khai vị cá, khoai tây và đậu.
Vì người câu lạc bộ không phải là chuyên gia CSDL, nên anh ta đã tạo ra 1
CSDL với cấu trúc như sau:
Tên thuộc tính Giá trị mẫu
MEMBER_NUM 214
MEMBER_NAME Alice B.VanderVoort
MEMBER_ADDRESS 325 Meadow Park
MEMBER_CITY Murkywater
MEMBER_ZIPCODE 12345
INVITE_NUM 8
INVITE_DATE 8/1/1999
ACCEPT_DATE 8/9/1999
DINNER_DATE 8/23/1999
DINNER_ATTEND Y
DINNER_CODE 5
DINNER_DESCRIPTION Sea Delight
ENTRÉE_CODE 3
ENTREE _DESCRIPTION Stuffed crab
DESSERT_CODE 8
DESSERT_DESCRIPTION Chocolate mousse with raspberry sauce

8
Xác định các phụ thuộc hàm và chuẩn hóa bảng thành 3NF
16) Cho một quan hệ R ={A, B, C, D, E, F, G, H, I, J} và tập phụ thuộc hàm
F = { A,B C
A D, E
B F
FG, H
D I, J
}
Yêu cầu:
- Tìm {A}+ ={D, E, I ,J }
- Tìm khóa của quan hệ R.
- Tách quan hệ R thành BCNF.
- Kiểm tra xem việc tách trên có mất mát thông tin không?
2. Lặp lại yêu cầu ở bài 1 với tập phụ thuộc hàm sau:
G= {A,B  C
B, D E, F
A, D  G, H
A I
HJ}
3. Cho một quan hệ R ={CourseNo, SecNo, OfferingDept, Credit_Hours,
CourseLevel, InstructorSSN, Semester, Year, Days_Hours, RoomNo,
NoOfStudents}
và tập phụ thuộc hàm:
F ={ CourseNo  OfferingDept, Credit_Hours, CourseLevel;
CourseNo, SecNo, Semester, Year Days_Hours, RoomNo,
NoOfStudents, InstructorSSN;
RoomNo, Days_Hours, Semester, Year � InstructorSSN, CourseNo, SecNo }
Yêu cầu:
- Tìm khóa của quan hệ R.

- Quan hệ trên thuộc dạng chuẩn mấy?
- Tách quan hệ về dạng 3NF.
- Kiểm tra xem việc tách trên có mất mát thông tin không?
9

×