Professional Documents
Culture Documents
PH Thu C Hàm
PH Thu C Hàm
XYZ
1. HỆ LUẬT DẪN AMSTRONG
Với X, Y, Z, W ⊆ U. Phụ thuộc hàm có các tính chất sau:
F1) Tính phản xạ: Nếu Y ⊆ X thì X → Y
F2) Tính tăng trưởng: {X→Y} thì XZ → YZ
F3) Tính bắc cầu: {X→Y, Y→Z} thì X→Z
F4) Tính kết hợp: {X→Y,X→Z} thì X→YZ
F5) Tính phân rã: {X→YZ} thì {X→Y,X→Z}
F6) Tính tựa bắt cầu: {X→Y, YZ→W} thì XZ→W
2.BAO ĐÓNG
Bước 1: X0 = X
Bước 2: Xi+1 = Xi lần lượt xét các phụ thuộc hàm của F
Nếu Y → Z có Y ⊆ Xi+1 thì Xi+1 = Xi+1 U Z
Loại phụ thuộc hàm Y → Z khỏi F
Bước 3:
Dừng khi Xi+1 = Xi hoặc khi Xi+1 =Q+
Bước 4: Kết luận X+F = Xi
Ngược lại lặp lại bước 2
Ví dụ:
Cho lược đồ quan hệ R(A, B, C, D, E, G, H) và tập phụ thuộc hàm
F={ f1: B → A , f2: DA → CE, f3: D → H, f4: GH→ C, f5: AC → D}
Tìm AC có phụ thuộc F+? Giải :
X0 = AC
X1 = AC∪ D = ACD (dof5)
X2=ACD ∪ CE = ACDE ( do f2)
X3=ACDE ∪ H =ACDEH (do f3)
X4=X3=ACDEH
Vậy ACF+=ACDEH
Bài toán thành viên
Cho tập thuộc tính Q, tập phụ thuộc
hàm F trên Q và một phụ thuộc hàm
X → Y trên Q. Câu hỏi đặt ra rằng X
→ Y ∈ F+ hay không?
X → Y ∈ F+ ⇔ Y ⊆ X+
Bài toán thành viên
Ví dụ:
Cho lược đồ quan hệ R(A, B, C, D, E, G, H) và tập phụ thuộc hàm
F={ f1: B → A , f2: DA → CE, f3: D → H, f4: GH
→ C, f5: AC → D}
Tìm AC có phụ thuộc F+? (hoặc Cho f: AC → , f có phải là phụ thuộc hàm hệ quả
(là thành viên) của F không? Giải thích)
Giải :
X0 = AC
X1 = AC∪ D = ACD (dof5)
X2=ACD ∪ CE = ACDE ( do f2)
X3=ACDE ∪ H =ACDEH (do f3)
X4=X3=ACDEH
do ACF+ =ACDEH
Vì E ACF+ nên AC → E +
3:KHÓA
Cho lược đồ quan hệ Q(A1, A2, …, An), Q+ là tập thuộc tính của quan hệ Q, F là tập phụ thuộc hàm trên Q,
K là tập con của Q+. Khi đó K gọi là một khóa của Q nếu:
(i) K+F= Q+
(ii) Không tồn tại K’ ⊂ K sao cho K’+F = Q+
Thuộc tính A được gọi là thuộc tính khóa nếu A ∈ K, trong đó K là khóa của Q.
3.Khóa
Tập thuộc tính nguồn, ký hiệu là N, là tập chứa những thuộc tính chỉ xuất hiện
ở vế trái của mọi phụ thuộc hàm.
Tập thuộc tính trung gian, ký hiệu là TG, là tập chứa những thuộc tính
vừa xuất hiện ở vế trái, vừa xuất hiện ở vế phải trong các phụ thuộc
hàm.
3.Khóa
Bước 1:
Tìm tập nguồn N.
Nếu N+F = Q+ thì chỉ có 1 khoá là N, ngược lại qua bước 2.
Bước 2:
Tính tập trung gian TG.
Tính tập tất cả các tập con Xi của tập TG.
Bước 3: Tìm tập S chứa mọi siêu khóa Si:
Với mỗi Xi , nếu (N ∪ Xi)+F= Q+ thì Si=(N∪ Xi)
Bước 4: Loại các siêu khóa không tối thiểu:
∀Si, Sj, nếu Si ⊂ Sj thì S = S - Sj
Ví dụ: Cho R(ABCDEG) với tập PTH
F = { AE → C, CG → A, BD → G,
GA → E }
Xác định tất cả các khóa của R.
N = {B, D}
D=
L = {A, C, E, G}
N+ = BD+ = BDG ≠ R+
→ BD không phải là khóa của R
Li Xi = N Li Xi+
BD BDG
A BDA BDCGAE = R+
C BDC BDCGAE = R+
E BDE BDEG
G BDG BDG
AC BDAC
AE BDAE
AG BDAG
CE BDCE
CG BDCG
EG BDEG BDEG
ACE BDACE
ACG BDACG
AEG BDAEG
CEG BDCEG
ACEG BDACEG
3.CÁC DẠNG CHUẨN
(2) Mọi thuộc tính không khóa của Q đều phụ thuộc đầy đủ vào khóa.
3.1 DẠNG CHUẨN 2 (2NF)
Lược đồ có khóa là BD
Có PTH B → C mà B BD,
C là thuộc tính không khóa
C không phụ thuộc đầy đủ vào khóa
Q không đạt DC2.
• Ví dụ: Q1(A, B, C, D); F1 = {AB, B CD}
Giải :
X0=EG;
X1=EG =EGD (do f4)
X2=EGD H =EGDH (do f6)
X3=EGDH B =EGDHB (do f2)
X4=X3=EDGBH (điều kiện dừng )
=> EGF+=EGDBH
Do C F+
Nên EG ® C F+
Câu 2: (2.5 đ) Cho lược đồ quan hệ Q(ABCDEGH) có tập phụ thuộc hàm:
F = {f1: A®H; f2: DG®B; f3: C®A; f4: E®D; f5: AE®C; f6: DG®H}
2 : Tìm tất cả các khóa của lược đồ quan hệ (Q, F). (1 đ)
N = {E, G}
D = H, B }
L = {A, C, D}
N+=EG+= EGBDHR+
EG không phải khóa của R
Câu 2: (2.5 đ) Cho lược đồ quan hệ Q(ABCDEGH) có tập phụ thuộc hàm:
F = {f1: A®H; f2: DG®B; f3: C®A; f4: E®D; f5: AE®C; f6: DG®H}
2 : Tìm tất cả các khóa của lược đồ quan hệ (Q, F). (1 đ)
Li Xi = N Li Xi+
EG
A EGA EGAHDCB=R+
C EGC EGCADHB=R+
D EGD EGDB R+
AC EGAC
AD EGAD
CD EGCD
ACD EGACD
Tất cả các khóa của lược đồ quan hệ (Q, F): EGA ,EGC
Câu 2: (2.5 đ) Cho lược đồ quan hệ Q(ABCDEGH) có tập phụ thuộc hàm:
F = {f1: A®H; f2: DG®B; f3: C®A; f4: E®D; f5: AE®C; f6: DG®H}
#f9e9d9 #5b72b7
Use our editable graphic resources...
You can easily resize these resources, keeping the quality. To change the color, just
ungroup the resource and click on the object you want to change. Then, click on the
paint bucket and select the color you want. Don’t forget to group the resource again
when you’re done.
...and our set of editable icons
You can resize these icons, keeping the quality.
You can change the stroke and fill color; just select the icon and click on the paint-
bucket/pen.
Business Icons
Avatar Icons
Creative Process Icons
Educational Process Icons
Help & Support Icons
Medical Icons
Nature Icons
Performing Arts Icons
SEO & Marketing Icons
Teamwork Icons