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

Bai tap CSDL LOI GIAI

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 (140.26 KB, 13 trang )

Câu 3:
Cho lược dồ quan hệ R=<U,V> với U=ABCDEGH & F={BC->A,ADEG,E->BC,G->H}
Tìm 01 khoá sau đó tìm tất cả các khoá
Giải
+ Tìm 01 khoá:
Đặt K=U=ABCDEGH
-(K-A)+= (BCDEGH)+=BCDEGHA=U vậy K=BCDEGH
-(K-B)+= (CDEGH)+ =CDEGHBA=U Vậy K= CDEGH
-(K-C)+= (DEGH)+ =DEGHBCA=U Vậy K=DEGH
-(K-D)+= (EGH)+
=EGHBCA
+
+
-(K-E) = (DGH)
=DGH
+
+
-(K-G) =(DEH)
=DEHBCAG=U Vậy K=DEH
+
+
-(K-H) =(DE)
=DEBCAGH=U Vậy K=DE
Vậy K-De là khoá cần tìm
+Tìm tất cả các khoá:
DE
BCDE
AD
DE
GDE


BC->A
AD->EG
E->BC
G->H

AD
BCD
AD
EAD
GAD

BCD
BCD
ABCD
ED
BCDG

Vậy tập tất cả các khoá : (DE,AD,BCD)
3b/Kiểm tra tính chất bảo toàn thông tin của phếp tách 
=(ABCE,DEG,ADGH)
+Lập bảng:

ABCE
DEG
ADGH

A
a
b4
a


a

B
a
b5 a
b8

C
a
b6
b9

a

D
b1
a
a

+ Xét BC-> A không đổi
+ Xét AD->EG không đổi
+ Xét E ->BC đổi b5 , b6 thành a
+ Xét G -> H đổi b7 thành a

E
a
a
b10


G
b2
a
a

H
b3
b7
a

a


+ Xét BC -> A đổi b4 thành a
Ta có 01 hàng DEG toàn a
Vậy phép tách  bảo toà thông tin
Câu 4:
Xác định mối quan hệ cao nhất giữa các phụ thuộc hàm:
F={A->BC,C->AD,DE->G}
Với các tập phụ thuộc hàm sau :
Fa={C->AB,A->CD,DE->G,AE->G}
Fb={A->BCD,C->A,CE->G}
Giải:
Câu 4a:
+Kiểm tra F  Fa+
-Xét A->BC ta có A+Fa=ACDB  BC
-Xét C->AD ta có C+Fa=CADB  AD
-Xet DE->G ta co DE+Fa=DEG  G
 F  F+Fa
+Kiểm tra FFa  F+

-Xét C->AB ta có C+F=CADB  AB
-Xét A->CD ta có A+F=ABCD  CD
-Xét DE->G ta có DE+F=DEG  G
-Xét AE->G ta có AE+F=AEBCDG  G
 Fa  F+
Vậy F  Fa
Câu 4b:
+Kiểm tra
- Xét
- Xét
- Xét
+ Kiểm tra
- Xet
- Xet
- Xét

F  F+b
A -> BC A+Fb=ABCD  BC
C-> AD C+Fb=CABD  AD
DE -> G DE+Fb=DE /  G
 F  F+ b
F b  F+
A->BCD A+F= ABCD  BCD
C ->A
C+F= CADB  A
CE ->G
CE+F=CEADG  G
 Fb  F
Vậy F không tương đương Fb



Câu 5 :
Cho Lược đồ DETAITOTNGHIEP sau:
A = MASV
B = TENSV
C = MAGV
D = TENGV
E = MADETAI
G = TENDETAI
H = DIEM
a/ Xác định tập phụ thuộc hàm của lược đồ biết :
- Mỗi sinh viên có một mã duy nhất, mỗi giáo viên cũng có một mã duy
nhất
- Mỗi đề tài được cấp 01 mã duy nhất và do 01 giáo viên hướng dẫn
- Một sinh viên chỉ làm đúng một đề tài và được đánh giá đúng 01 con
điểm
- Một đề tài cũng chỉ do đúng 01 sinh viên làm
Từ phát biểu trên ta có tập phụ thuộc hàm sau :
F={A->B,C->D,E->GC,A->EH,A->E}
b/ Lược đồ trên thiết kế đúng hay sai. Nếu sai, từ lược đò trên hãy tìm ra 01
thiết kế đúng .
Lược đồ trên thiết kế chưa chuẩn ta cần chuẩn hoá lược đồ trên như
sau :
B1+Xác định 01 phủ tối thiểu F là F’:
- Phân rã vế phải :
F={A->B, C->D, E->G, E->C, A->E, A->H}
- Không có thuộc tính dư thùa vế trái
- Loại bỏ tập phụ thuộc hàm dư thừa
. A->B  F  A+F-{A->B}=AEHGCD không chứa B
. C->D  F  C+F-{C->D} = C

không chứa D
+
. E->G  F  E F-{E->G} = ECD
không chúa G
+


. E->C F
E F-{E->C} = EG
không chúa C
+


. A->E F
A F-{A->E} = AHB
không chúa E
+


. A->H F
A F-{A->H}= ABEG không chúa H
Vậy phủ tôi thiểu của F là
F’={A->B, C->D, E->G, E->C,A->E,A->H}
B2+Tìm khoá của lược đồ : R=<U,F> với U=ABCDEGH &
F= { A->B, C->D, E->GC, A->EH, A->E}
Dặt K=U=ABCDEGH
-(K-A)+= (BCDEGH)+= BCDEGH
-(K-B)+=(ACDEGH)+ = ACDEGHB = U vậy K=ACDEGH



-(K-C)+= (ADEGH)+
-(K-D)+= (AEGH)+
-(K-E)+= (AGH)+
-(K-G)+= (AH)+
-(K-H)+= A+

= ADEGHBC = U vay
= AEGHBCD = U vay
= AGHBECD = U vay
= AHBEGCD = U vay
= AB
vay

K=ADEGH
K= AEGH
K= AGH
K= AH
K= AH

B3+ Ro = <AH, O>
B4+ R1 = <AB,{A->B}>
R2 = <CD, {C->D}>
R3 = < EG, {E->G}>
R4 = < EC, {E->C}>
R5 = < AE, {A->E}>
Gộp R1,R5, ta được R’=<ABE,{A->BE}>
Gộp R3,R4 ta được R”=<EGC , {E->GC}>
Vây ta co phép tach  = (AH,CD,ABE,EGC) là lược đồ ta cần tìm
MÔN CƠ SỞ DỮ LIỆU


1. Cho lược đồ quan hệ R (A, B, C, D, E, G, H) và tập phụ thuộc hàm:
F = {A  BC, D  EG, C  AD, G  H}
a/ Tìm một khóa của R, từ đó tìm tất cả các khóa của lược đồ này.
b/ Kiểm tra tính chất bảo toàn thông tin của phép tách  =(ABC, DEG, ADGH)
Giải:
a/ Tìm một khóa của R, từ đó tìm tất cả các khóa của lược đồ này:
* Tìm 1 khóa của R:
Đặt K = U = ABCDEGH
(K\H)+ = (ABCEG)+ = ABCDEGH = U => loại H => K = ABCDEG
(K\G)+ = (ABCDE)+ = ABCDEGH = U => loại G => K = ABCDE
(K\E)+ = (ABCD)+ = ABCDEGH = U => loại E => K = ABCD
(K\D)+ = (ABC)+ =
ABCDEGH = U => loại D => K = ABC
(K\C)+ = (AB)+ =
ABCDEGH = U => loại C => K = AB
(K\B)+ = (A)+ =
ABCDEGH = U => loại B => K = A
Vậy K= A là một khóa của R.
* Tìm tất cả các khóa của R:
Đặt K = {A}


+ Xét khóa K = A:
- Với A  BC: Ta có T = A U (K\BC) = A � A
- Với D  EG: Ta có T = D U (K\EG) = AD � A
- Với C  AD: Ta có T = C U (K\AD) = C không chứa khóa �K
Ta tìm K’ nhận T = C làm siêu khóa.
Dùng thuật toán tìm 1 khóa:
Đặt K’ = C
Đương nhiên: K’ = C là 1 khóa của R => K = {A, C}

- Với G  H: Ta có T = G U (K\H) = AG � A
+ Xét khóa K = C:
- Với A  BC: Ta có T = A U (K\BC) = A � A
- Với D  EG: Ta có T = D U (K\EG) = CD � C
- Với C  AD: Ta có T = C U (K\AD) = C � C
- Với G  H: Ta có T = G U (K\H) = CG � C
Tóm lại, tập các khóa của R là K = {A, C}
b/ Kiểm tra tính chất bảo toàn thông tin của phép tách  =(ABC, DEG, ADGH)
* Bước 1: Lập bảng
A
B
ABC
a1
a2
DEG
b21 b22
ADGH a1
b32
* Bước 2: Biến đổi bảng
Xét ABC:
A
B
ABC
a1
a2
DEG
b21 b22
ADGH a1
a2
Xét DEG:

A
ABC
a1
DEG
b21
ADGH a1

B
a2
b22
a2

C
a3
b23
b33

D
b14
a4
a4

E
b15
a5
b35

G
b16
a6

a6

H
b17
b27
a7

C
a3
b23
a3

D
b14
a4
a4

E
b15
a5
b35

G
b16
a6
a6

H
b17
b27

a7

C
a3
b23
a3

D
b14
a4
a4

E
b15
a5
a5

G
b16
a6
a6

H
b17
b27
a7

Dòng 1 có đủ bộ ai(a1, a2, a3, a4, a5, a6, a7) => phân tách  là bảo toàn thông tin.
2. Các phát biểu dưới đây đúng hay sai? Nếu đúng, hãy chứng minh; nếu sai, hãy chỉ
ra một phản ví dụ.

a/ {X  Y, W  V} |= XW  YV
b/ {XY  Z, Z  Y} |= Z  X
c/ {X  Y, Y  Z} |= X  YZ


d/ Nếu X  Y, WV  Z và V C Y thì XV  Z
Giải:
a/ {X  Y, W  V} |= XW  YV : Đúng.
Chứng minh: (XW)+ = XYVW � YV
b/ {XY  Z, Z  Y} |= Z  X: Sai.

dụ:
………………………………………………………………………………………………

c/ {X  Y, Y  Z} |= X  YZ: Đúng.
Chứng minh: (X)+ = XYZ � YZ
d/ Nếu X  Y, WV  Z và V C Y thì XV  Z
.
3. Lược đồ DIEMRENLUYEN được sử dụng để quản lí điểm rèn luyện trong suốt thời
gian học của sinh viên. Lược đồ này có các thuộc tính sau:
A = MASV
E = HOCKY
B = HOTEN
G = NAMHOC
C = MALOP
H = DIEM
D = TENLOP
a/ Xác định tập các phụ thuộc hàm của lược đồ trên:
F = { A  B, C  D, AEG  CH}
b/ Từ lược đồ trên, ta tìm được tập tất cả các khóa của R là K = {AEG}.

Ta nhận thấy: A  B vi phạm chuẩn 3NF (vì B không phải là thuộc tính khóa và A không
là siêu khóa). Kết luận: lược đồ thiết kế chưa chuẩn.
Tách R thành 3 lược đồ:
R1 (A, B, {A  B})
R2 (C, D, {C  D})
R3 (A, E, G, {AEG  CH} )
Kết luận: Tách thành 3 lược đồ:
SINHVIEN(MASV, HOTEN)
LOP(MALOP, TENLOP)
DIEM(MASV, HOCKY, NAMHOC)
Tất cả các lược đồ trên đều thuộc chuẩn BCNF.


PHỤ THUỘC HÀM
Bài 1: Cho lược đồ quan hệ R và tập các phụ thuộc hàm
F = { AB  E, AG  I, BE  I, E  G, GI  H}
Chứng minh rằng: AB  GH
Giải
Xét AB  GH  F
(AB)+=ABEIGH  GH
Vậy AB  GH
Bài 2: Cho lược đồ quan hệ R và tập các phụ thuộc hàm
F = { AB  C, B  D, CD  E, CE  GH, G  A}
Chứng minh rằng: AB  E, AB  G
Giải
Xét AB  E  F
(AB)+ = ABCDEGH  E
Vậy AB  E
Xét AB  G  F
(AB)+ = ABCDEGH  G

AB  G
Bài 3: Cho lược đồ quan hệ R = ( ABCDEGH ) và tập phụ thuộc hàm F xác định trên R
F = { A  D, AB  DE, CE  G, E  H}
Tính bao đóng: (AB)+
Giải
(AB)+ = ABDEH
Bài 4: Cho lược đồ quan hệ R = ( ABCDEG) và tập phụ thuộc hàm F xác định trên R
F = { A  C, BC  D, D  E, E  A}
Tính bao đóng:
a) (AB)+
b) (BD)+
Giải
a) (AB)+ = ABCDE
b) (BD)+ = BDEAC


Bài 5: Cho lược đồ quan hệ R =<U,F> với U= ABCDEFG và tập phụ thuộc hàm F
F = { B  C, AC  D, D  G, AG  E}
Hãy tìm khoá của lược đồ trên.
Giải
+ Tìm một khoá :
Đặt K= ABCDEFG = U
-(K-A)+ = (BCDEFG)+ = BCDEFG
-(K-B)+ = (ACDEFG)+ = ACDEFG
-(K-C)+ = (ABDEFG)+ = ABDEFCG = U vậy K=ABDEFG
-(K-D)+ = (ABEFG)+ = ABEFGCD = U vậy K=ABEFG
-(K-E)+ = (ABFG)+
= ABFGCDE = U vậy K=ABFG
+
+

-(K-F) = (ABG)
= ABGCDE
-(K-G)+= (ABF)+
= ABFCDGE = U vậy K= ABF
Vậy K=ABF là khoá của lđqh (R)
+Tìm tất cả các khoá:
ABF
B C
ABF

AC D
CABF
D G
DABF
AG  E
GABF
Vậy ABF là khoá duy nhất của lược đồ quan hệ R


Bài 6: Cho lược đồ quan hệ R = ( ABCDEF)
F = {AB  C, C  B, ABD  E, F  A}
* Hãy tìm một khoá của lược đồ quan hệ trên
* Tập ABC có phải là khoá của lược đồ trên không? Vì sao?
* Tập BC có phải là khoá của lược đồ trên không? Vì sao?
* Lược đồ trên còn khoá nào nữa không?
Giải
+ Tìm một khoá của lược đồ quan hệ R
Đặt K = ABCDEF = U
(K-A)+ = BCDEFA = U loại A vậy K=BCDEF
(K-B)+ = CDEFBA = U loại B vậy K=CDEF

(K-C)+ = DEFA
(K-D)+ = CEFAB
(K-E)+ = CDFBAE = U loại E vậy K= CDF
(K-F)+ = CDB
Vậy CDF là một khoá của lđqh R
+ Tập ABC có phải là khoá của lược đò không ? Vì sao?
Xét (AB  C)  F
(AB)+ = ABC  ABCDEF
Vậy ABC không phải là khoá của lđqh R
+ Tương tự trên BC không phải là khoá của lđqh R
+ Tìm tất cả các khoá
CDF
ABDF
AB  C
ABDF
ABDF

C
B
CDF
ACDF
ABD  E
ACDF
ABCDF
F A
FCD
CDF
Vậy lđqh R có thêm khoá nũa là ABDF
K= {CDF,ABDF}


CHUẨN HOÁ


Bài 1: Nêu định nghĩa lược đồ quan hệ ở dạng chuẩn 1NF, 2NF, 3NF, BCNF
+ Dạng chuẩn 1NF : R  1NF  Bất kỳ thuộc tính đều nguyên tố ( không phải
thuộc tính đa trị)
+ Dạng chuẩn 2NF :
Cho R=<U,F> . Khi đó R được gọi là thuộc 2NF nếu mọi thuộc tính
không khoá A là phụ thuộc hàm đầy đủ vào mọi khoá của R
 A không khoá,  X  : X  A  F+ là phụ thuộc hàm đầy đủ
+ Dạng chuẩn 3NF:
(R  3NF) nếu :  X  A  F+ ( với A  X) thì
- Hoặc X là siêu khoá của R
- Hoặc A là thuộc tính khoá
+ Dạng chuẩn BCNF :
(R  BCNF) Nếu  X  A  F+( với A X) ta có X là siêu khoá của R

PHỤ THUỘC HÀM
Bài 1: Cho lược đồ quan hệ R và tập các phụ thuộc hàm
F = { AB  E, AG  I, BE  I, E  G, GI  H}
Chứng minh rằng: AB  GH
Giải
Xét AB  GH  F
(AB)+=ABEIGH  GH
Vậy AB  GH
Bài 2: Cho lược đồ quan hệ R và tập các phụ thuộc hàm
F = { AB  C, B  D, CD  E, CE  GH, G  A}
Chứng minh rằng: AB  E, AB  G
Giải
Xét AB  E  F

(AB)+ = ABCDEGH  E
Vậy AB  E
Xét AB  G  F
(AB)+ = ABCDEGH  G
AB  G
Bài 3: Cho lược đồ quan hệ R = ( ABCDEGH ) và tập phụ thuộc hàm F xác định trên R
F = { A  D, AB  DE, CE  G, E  H}
Tính bao đóng: (AB)+
Giải


(AB)+ = ABDEH
Bài 4: Cho lược đồ quan hệ R = ( ABCDEG) và tập phụ thuộc hàm F xác định trên R
F = { A  C, BC  D, D  E, E  A}
Tính bao đóng:
a) (AB)+
b) (BD)+
Giải
c) (AB)+ = ABCDE
d) (BD)+ = BDEAC

Bài 5: Cho lược đồ quan hệ R =<U,F> với U= ABCDEFG và tập phụ thuộc hàm F
F = { B  C, AC  D, D  G, AG  E}
Hãy tìm khoá của lược đồ trên.
Giải
+ Tìm một khoá :
Đặt K= ABCDEFG = U
-(K-A)+ = (BCDEFG)+ = BCDEFG
-(K-B)+ = (ACDEFG)+ = ACDEFG
-(K-C)+ = (ABDEFG)+ = ABDEFCG = U vậy K=ABDEFG

-(K-D)+ = (ABEFG)+ = ABEFGCD = U vậy K=ABEFG
-(K-E)+ = (ABFG)+
= ABFGCDE = U vậy K=ABFG
-(K-F)+ = (ABG)+
= ABGCDE
+
+
-(K-G) = (ABF)
= ABFCDGE = U vậy K= ABF
Vậy K=ABF là khoá của lđqh (R)
+Tìm tất cả các khoá:
ABF

B
C
ABF
AC  D
CABF
D G
DABF


AG  E

GABF

Vậy ABF là khoá duy nhất của lược đồ quan hệ R

Bài 6: Cho lược đồ quan hệ R = ( ABCDEF)
F = {AB  C, C  B, ABD  E, F  A}

* Hãy tìm một khoá của lược đồ quan hệ trên
* Tập ABC có phải là khoá của lược đồ trên không? Vì sao?
* Tập BC có phải là khoá của lược đồ trên không? Vì sao?
* Lược đồ trên còn khoá nào nữa không?
Giải
+ Tìm một khoá của lược đồ quan hệ R
Đặt K = ABCDEF = U
(K-A)+ = BCDEFA = U loại A vậy K=BCDEF
(K-B)+ = CDEFBA = U loại B vậy K=CDEF
(K-C)+ = DEFA
(K-D)+ = CEFAB
(K-E)+ = CDFBAE = U loại E vậy K= CDF
(K-F)+ = CDB
Vậy CDF là một khoá của lđqh R
+ Tập ABC có phải là khoá của lược đò không ? Vì sao?
Xét (AB  C)  F
(AB)+ = ABC  ABCDEF
Vậy ABC không phải là khoá của lđqh R
+ Tương tự trên BC không phải là khoá của lđqh R
+ Tìm tất cả các khoá
CDF
ABDF
AB  C
ABDF
ABDF

C
B
CDF
ACDF

ABD  E
ACDF
ABCDF
F A
FCD
CDF


Vậy lđqh R có thêm khoá nũa là ABDF
K= {CDF,ABDF}

CHUẨN HOÁ
Bài 1: Nêu định nghĩa lược đồ quan hệ ở dạng chuẩn 1NF, 2NF, 3NF, BCNF
+ Dạng chuẩn 1NF : R  1NF  Bất kỳ thuộc tính đều nguyên tố ( không phải
thuộc tính đa trị)
+ Dạng chuẩn 2NF :
Cho R=<U,F> . Khi đó R được gọi là thuộc 2NF nếu mọi thuộc tính
không khoá A là phụ thuộc hàm đầy đủ vào mọi khoá của R
 A không khoá,  X  : X  A  F+ là phụ thuộc hàm đầy đủ
+ Dạng chuẩn 3NF:
(R  3NF) nếu :  X  A  F+ ( với A  X) thì
- Hoặc X là siêu khoá của R
- Hoặc A là thuộc tính khoá
+ Dạng chuẩn BCNF :
(R  BCNF) Nếu  X  A  F+( với A X) ta có X là siêu khoá của R



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×