You are on page 1of 19

Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

CHƢƠNG 1. PHỤ THUỘC HÀM

A. LÝ THUYẾT
Câu 1. Trình bày thuật toán tính bao đóng của thuộc tính X ? cho ví dụ?
Câu 2. Trình bày thuật toán tìm F+? Cho ví dụ ? (49/96)
Để tính bao đóng F+ của tập các phụ thuộc hàm F ta thực hiện các bƣớc sau:
Bước 1: Tìm tất cả tập con của Q+
Bước 2: Tìm tất cả các phụ thuộc hàm có thể có của Q.
Bước 3: Tìm bao đóng của tất cả tập con của Q.
Bước 4: Dựa vào bao đóng của tất cả các tập con đã tìm để xác định phụ
thuộc hàm nào thuộc F+
Ví dụ. Cho lƣợc đồ quan hệ Q(A,B,C) F = {AB -> C,C -> B} là tập phụ thuộc
hàm trên Q. F+ đƣợc tính lần lƣợt theo các bƣớc trên là nhƣ sau:
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Câu 3. Trình bày thuật toán tìm F+ cải tiến? Cho ví dụ ? (49/96)
Dựa vào thuật toán cơ bản trên, ta nhận thấy có thể tính F+ theo các bƣớc sau:
Bước 1: Tìm tất cả tập con của Q+
Bước 2: Tìm bao đóng của tất cả tập con của Q+
Bước 3: Dựa vào bao đóng của các tập con đã tìm để suy ra các phụ thuộc
hàm thuộc F+.
Câu 4. Phủ của tập phụ thuộc hàm là gì?
Câu 5. Trình bày thuật toán xác định tính tƣơng đƣơng của hai tập phụ thuộc
hàm F và G?

Thuật toán xác định F và G có tương đương không


Bước 1: Với mỗi phụ thuộc hàm X->Y của F ta xác định xem X->Y có là
thành viên của G không
Bước 2: Với mỗi phụ thuộc hàm X->Y của G ta xác định xem X->Y có là
thành viên của F không
Nếu cả hai bƣớc trên đều đúng thì F trùng G.
Cho lƣợc đồ quan hệ Q(ABCDE) hai tập phụ thuộc hàm:
F={A->BC,A->D,CD->E} và G = {A->BCE,A->ABD,CD->E}
a) F có tƣơng đƣơng với G không?
b) F có tƣơng đƣơng với G’={A->BCDE} không?
Giải:
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Câu 6. Định nghĩa phủ tối thiểu của một tập phụ thuộc hàm ? Cho ví dụ ?
Câu 7. Trình bày thuật toán tìm phủ tối thiểu?
*) Phụ thuộc hàm có vế trái dư thừa :
Nói rằng phụ thuộc hàm Z -> Y có vế trái dƣ thừa (phụ thuộc không đầy đủ)
nếu có một A->Z sao cho: F F-{Z -> Y} {(Z-A) -> Y}
+ Thuật toán loại khỏi F các phụ thuộc hàm có vế trái dƣ thừa.
Bước 1: lần lƣợt thực hiện bƣớc 2 cho các phụ thuộc hàm X->Y của F

Bước 2:Với mọi tập con thật sự X’ của X. Nếu X'->Y F+ thì thay
X->Y trong F bằng X'->Y thực hiện lại bƣớc 2
*) Phụ thuộc hàm về phải có một thuộc tính.
*) Không chứa phụ thuộc hàm dư thừa

Thuật toán loại khỏi F các phụ thuộc hàm dư thừa:


Bước 1: Lần lƣợt xét các phụ thuộc hàm X -> Y của F
Bước 2: nếu X -> Y là thành viên của F - {X -> Y} thì loại X -> Y khỏi F
Bước 3: thực hiện bƣớc 2 cho các phụ thuộc hàm tiếp theo của F
Chú ý: Theo thuật toán trên, từ một tập phụ thuộc hàm F luôn tìm đƣợc ít
nhất một phủ tối thiểu Ftt để F=Ftt và nếu thứ tự loại các phụ thuộc hàm trong
tập F là khác nhau thì có thể sẽ thu đƣợc những phủ tối thiểu khác nhau.
Câu 8. Định nghĩa khoá , siêu khoá của lƣợc đồ quan hệ ? Thuật toán tìm 1
khoá? Thuật toán tìm tất cả các Khoá ?
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Thuật toán tìm một khóa của một lược đồ quan hệ Q


Bƣớc 1: gán K = Q+
Bƣớc 2: A là một thuộc tính của K, đặt K’ = K - A. Nếu K’+= Q+
thì gán K = K' thực hiện lại bƣớc 2.
Cho lƣợc đồ quan hệ Q(A,B,C,D,E,G,H,I)
F={AC-> B;BI -> ACD;ABC -> D;H ->I;ACE ->BCG;CG->AE}
Tìm K
Lần lƣợt loại các thuộc tính trong K theo thứ tự sau:
A, B, D, E, I
Ta đƣợc một khóa là của lƣợc đồ quan hệ là {C,G,H}
(Lƣu ý là thuật toán này chỉ nên sử dụng trong trƣờng hợp chỉ cần tìm một
khóa).

Thuật toán tìm tất cả khóa


Bước 1: Xác định tất cả các tập con khác rỗng của Q+. Kết quả tìm đƣợc giả
sử là các tập thuộc tính X1, X2, …,X2n-1
Bước 2: Tìm bao đóng của các Xi
Bước 3: Siêu khóa là các Xi có bao đóng đúng bằng Q+. Giả sử ta đã có các
siêu khóa là S = {S1,S2,…,Sm}
Bước 4: Xây dựng tập chứa tất cả các khóa của Q từ tập S bằng cách xét mọi
Si, Sj con của S (i j), nếu Si Sj thì ta loại Sj (i,j=1..n), kết quả còn lại của
S chính là tập tất cả các khóa cần tìm.
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Thuật toán tìm khoá cải tiến


+ Tập thuộc tính nguồn (TN) chứa tất cả các thuộc tính có xuất hiện ở vế trái
và không xuất hiện ở vế phải của các phụ thuộc hàm và các thuộc tính không
xuất hiện ở cả vế trái lẫn vế phải của các phụ thuộc hàm.
+ Tập thuộc tính đích (TD) chứa tất cả các thuộc tính có xuất hiện ở vế phải
và không xuất hiện ở vế trái của các phụ thuộc hàm.
+ Tập thuộc tính trung gian (TG) chứa tất cả các thuộc tính xuất hiện ở cả vế
trái lẫn vế phải của các phụ thuộc hàm.
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

BÀI TẬP
Bài 1. Cho quan hệ sau

Phụ thuộc hàm nào sau đây thỏa r:


A->D,AB->D,C->BDE,E->A,A->E
Bài 2. 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
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

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})
Bài 3. Cho F = {A->D,AB->DE,CE->G,E->H}. Hãy tìm bao đóng của AB.
Bài 4. 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}
Bài tập 51. Cho lƣợc đồ quan hệ Q(A,B,C,D) và tập phụ thuộc F nhƣ sau:
F={AB -> CD,B -> C,C -> D}
Hãy tính phủ tối thiểu của F.
Bài tập 52. 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}
Hãy tìm phủ tối thiểu của F
Bài 2/56. 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?
Bài 3/56. Cho lƣợc đồ CSDL
Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN)
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

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
Bài 4/56. 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
Bài 5/56. 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}
a) X={B,D}, X+=?
b) Y={C,G}, Y+=?
Bài 6/56. 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
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Bài 7/56. Cho quan hệ r

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
Bài 8/56. 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 }
Bài 9/56. Xét lƣợc đồ quan hệ và tập phụ thuộc dữ liệu:
Q(C,T,H,R,S,G)
f={ f1: C-> T; f2: HR-> C; f3: HT-> R;
f4: CS-> G; f5: HS-> R}
Tìm phủ tối thiểu của F.
Bài 10/57. 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
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Bài 11/57. 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.
Bài 12/57. 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.
Bài 13/57. 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}
Bài 14/57. Xác định phủ tối thiểu của các tập phụ thuộc hàm sau:
a) Q1(ABCDEGH)
F1={A-> H,AB->C,BC->D;G->B}
b) Q2(ABCSXYZ)
F2={S->A;AX->B;S->B;BY->C;CZ->X}
c) Q3(ABCDEGHIJ)
F3={BG->D;G->J;AI->C;CE->H;BD->G;JH->A; D->I }
d) Q4(ABCDEGHIJ)
F4={BH->I;GC->A;I->J;AE->G;D->B;I->H}
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

CHƢƠNG 2. CHUẨN HOÁ LƢỢC ĐỒ CƠ SỞ DỮ LIỆU

2.1. LÝ THUYẾT
Câu 1. Định nghĩa dạng chuẩn 1? Trình bày thuật toán chuyển lƣợc đồ quan
hệ chƣa chuẩn 1NF về lƣợc đồ dạng chuẩn 1NF? Cho ví dụ?
Trả lời. Một lƣợc đồ quan hệ Q ở dạng chuẩn 1 nếu toàn bộ các thuộc tính
của mọi bộ đều mang giá trị đơn.

Câu 2. Định nghĩa dạng chuẩn 2? Trình bày thuật toán chuyển lƣợc đồ quan
hệ chƣa chuẩn 2 NF về lƣợc đồ dạng chuẩn 2NF? Cho ví dụ ?
Một lƣợc đồ quan hệ Q ở dạng chuẩn 2 nếu Q đạt chuẩn 1 và mọi thuộc tính
không khóa của Q đều phụ thuộc đầy đủ vào khóa.

Thuật toán kiểm tra dạng chuẩn 2


Vào: lƣợc đồ quan hệ Q, tập phụ thuộc hàm F
Ra: khẳng định Q đạt chuẩn 2 hay không đạt chuẩn 2.
Bước 1: Tìm tất cả khóa của Q
Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả tập con thật sự S của K.
Bước 3: Nếu có bao đóng S+ chứa thuộc tính không khóa thì Q không đạt
chuẩn 2
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Ngƣợc lại thì Q đạt chuẩn 2


Ví dụ. Cho lƣợc đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm
F={AB->C; B->D; BC->A}. Hỏi Q có đạt chuẩn 2 không?
Giải .

Khóa là K1=AB và K2=BC. Ta thấy B? K1, B->D,D là thuộc tính không


khóa-> thuộc tính không khóa không phụ thuộc đầy đủ vào khóa => Q không
đạt chuẩn 2.
Câu 3. Định nghĩa dạng chuẩn 3? Trình bày thuật toán chuyển lƣợc đồ quan
hệ chƣa chuẩn 3NF về lƣợc đồ dạng chuẩn 3NF ? Cho ví dụ ?
Trả lời .
DN1. Lƣợc đồ quan hệ Q ở dạng chuẩn 3 nếu mọi thuộc tính không khóa của
Q đều không phụ thuộc bắc cầu vào một khóa bất kỳ của Q

DN2. Lƣợc đồ quan hệ Q ở dạng chuẩn 3 nếu mọi phụ thuộc hàm X -> A F+
với A  X đều có:

• Hoặc X là siêu khóa


• Hoặc A là thuộc tính khóa
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Ví dụ. Cho lƣợc đồ quan hệ Q(A,B,C,D) F={AB→C; D→B; C→ABD}. Hỏi


Q có đạt chuẩn 3 không ?
K1 = {AB}; K2 = {AD}; K3={C} là các khóa => mọi phụ thuộc hàm
X->A F đều có A là thuộc tính khóa. Vậy Q đạt chuẩn 3
Câu 4. Định nghĩa chuẩn BC (Boyce-Codd Normal Form)? Trình bày thuật
toán chuyển lƣợc đồ quan hệ chƣa chuẩn BCNF về lƣợc đồ dạng chuẩn
BCNF Cho ví dụ ?
Trả lời.

Một quan hệ Q ở dạng chuẩn BC nếu mọi phụ thuộc hàm X->A F+ với
AX đều có X là siêu khóa.

Ví dụ : Q(A,B,C,D,E,I) F={ACD->EBI;CE->AD}. Hỏi Q có đạt chuẩn BC


không?
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Câu 5. Trình bày thuật toán tách một lƣợc đồ R với tập phụ thuộc hàm F về
dạng chuẩn 3NF bảo toàn phụ thuộc hàm.

Câu 6. Trình bày thuật toán kiểm tra nối không mất mát ? Cho ví dụ ?
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Câu 7. Trình bày thuật toán tách một lƣợc đồ cơ sở dữ liệu R về dạng chuẩn
3NF không mất mát thông tin và bảo toàn phụ thuộc ?

BÀI TẬP
Bài 1. Cho các lƣợc đồ quan hệ sau :
a) Q(A,B,C,D,E,H) F={A → E; C → D; E → DH}
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

b) Q(G,M,V,N,H,P) F={G→M; G→N; G→H; G→P; M→V; NHP→M}


Lƣợc đồ cơ sở dữ liệu trên có đạt chuẩn 2 không ?
Bài 2/80. 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}
Bài 3/ 80. Kiểm tra sự bảo toàn thông tin?
Q(ABCDE) R1(AD);R2(AB);R3(BE); R4(CDE);R5(AE)
F={A → C; B → C;C → D;DE → C;CE → A}
Bài 4/80. 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 ={Q1(AB);Q2(AC);Q3(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 ?
Bài 5/81. Kiếm tra dạng chuẩn của lƣợc đồ quan hệ sau :
Q(C,S,Z) F={CS→Z;Z→C}
Bài 6/81. Cho lƣợc đồ CSDL
Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN)
F={NGAY,GIO,PHONG→MONHOC
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

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.
Bài 7/81. 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 = {Q1(A,C,D); Q2(B,D)}
a) Xác định các Fi (những phụ thuộc hàm F đƣợc bao trong Qi)
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 Qi của C để biến C thành dạng chuẩn BC ?
Bài 8/81. 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.
Bài 9/82. Cho lƣợc đồ quan hệ Q(S,I,D,M)
F = {f1:SI → DM; f2:SD→ M; f3:D→ M}
a) Tính bao đóng D+, SD+, SI+
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

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 ?
Bài 10/81. Cho lƣợc đồ quan hệ
R(W,A,Z,Y,Q,P)
R1(A,Z);
R2(W,Y,Q,P)
R3(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.
Bài 11/82. 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 = {Q1(M,G,P); Q2(M,GV);Q3( 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 ?
Tài liệu ôn thi tốt nghiệp cơ sở dữ liệu 2012

Bài 12/82. Kiểm tra dạng 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}
Bài 13/82. Phân rã lƣợc đồ thành dạng BCK
a) Q(S,D,I,M) F={S,I→D;S,D→M}
b) Q(A,B,C,D) F={A→B;B→C;D→B}
c) Q(C,S,Z) F={C,S→Z; Z→C}
Bài 14/83. 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}

You might also like