Bài viết Thuật Toán và Ví dụ tìm tất cả các khóa trong lược đồ quan hệ – Đạt Tea’s Blog thuộc chủ đề về Hỏi Đáp thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng Khoalichsu.edu.vn tìm hiểu Thuật Toán và Ví dụ tìm tất cả các khóa trong lược đồ quan hệ – Đạt Tea’s Blog trong bài viết hôm nay nha !Các bạn đang xem nội dung về : “Thuật Toán và Ví dụ tìm tất cả các khóa trong lược đồ quan hệ – Đạt Tea’s Blog”Xem thêm:
Các từ khóa tìm kiếm cho bài viết #Thuật #Toaacuten #vagrave #Viacute #dụ #tigravem #tất #cả #caacutec #khoacutea #trong #lược #đồ #quan #hệ #Đạt #Tea039s #Blog
- Khóa tối thiểu là gì?Thuật toán tìm khoá tối thiểu
- Ngành cơ sở dữ liệu: Học gì, học ở đâu và cơ hội nghề nghiệp
- Thuật Toán và Ví dụ tìm tất cả các khóa trong lược đồ quan hệ – Đạt Tea’s Blog
Đầu tiên, chúng ta cần hiểu một vài khái niệm :Ta gọi :
- Q là tập cơ sở dữ liệu
- F là tập phụ thuộc hàm
- L(left) : là các thuộc tính chỉ xuất hiện bên trái
- R(right) : là các thuộc tính chỉ xuất hiện ở vế phải
- S(supperkey) : là tập các siêu khóa
- K(key) : là tập các khóa
Tập thuộc tính nguồn (TN) : bao gồm các thuộc tính chỉ xuất hiện ở vế trái, không xuất hiện ở vế phải của F( tập phụ thuộc hàm) và các thuộc tính không xuất hiện ở cả vế trái và vế phải của F.Vậy TN = Q \ RNghĩa là ta lấy Q trừ cho R để tìm thuộc tính chỉ xuất hiện ở L và các thuộc tính không xuất hiện ở cả L và R Ví dụ : Cho tập cơ sở dữ liệu Q = A,B,C,D,E L = A,B R = B,C,ETN = Q \ R = A,D
Tập thuộc tính đích (TĐ) : Bao gồm các thuộc tính chỉ xuất hiện ở R, không xuất hiện ở L.Vậy TĐ = R \ LVí dụ : Cho L = A,B,C,D,E R = E,F,G,HTĐ = F,G,H
Tập thuộc tính trung gian (TG) : Chứa các thuộc tính xuất hiện ở cả L và RVậy TG = L Giao R (Giao của 2 tập hợp để lấy thuộc tính chung của 2 Tập hợp đó)Ví dụ : Cho L = A,B,C,D,E R = D,E,F,GVậy TG = L /cap R = D,EThuật toán :
Bước 1 : Tìm tập thuộc tính nguồn TN và Tập thuộc tính trung gian TG, bằng các ví dụ ở trên thì các bạn khả năng đơn giản tìm thấy 2 tập thuộc tính này.Bước 2 : Nếu TG = 0Thì K(Key) = TN, và kết thúc thuật toán, xuất ra K của tập cơ sở dữ liệu <Q,F>Ngược lại, nếu TG # 0Thì qua bước 3Bước 3 :Tìm tất cả các tập con Xi của TGBước 4 :Tìm Siêu khóa(Si) bằng cách với mọi Xi , nếu (TN U Xi)+ = Q thì khi đó Si = TN U XiBước 5 :Tìm Khóa(Ki) bằng cách loại bỏ các siêu khóa không tối thiểuVới mọi Si Sj thuộc SNếu Si chứa trong Sj thì loại bỏ Sj ra khỏi tập siêu khóa. Khi đó, tập S còn lại chính là tập khóa cần tìmVí dụ :Ta có S = AB, ABC, ED, EDFTa thấy AB chứa trong ABC, ED chứa trong EDF vậy chúng ta cần phải loại bỏ ABC và EDF.Vậy S = AB,ED chính là tập khóa cần tìmChúng ta có một ví dụ mẫu như sau :
Ví dụ : Cho một tập cơ sỡ dữ liệu R = <Q, F>Với Q = ABC F = AB –> C, C -> A. Tìm tất cả các khóa thuộc tập cơ sở dữ liệu trên.Bài Làm :L = ABC R = CATN = B TG = AC # 0 nên ta làm tiếp bước 3Ta có tập con Xi của tập TG = 0, A,C,ACTa lấy từng thuộc tính thuộc tập con Xi của tập TG hợp với TN ta có các thuộc tính sau :S1 = TN U 0 = B Ta có B+ = B # Q nên S1 = A không là siêu khóaS2 = TN U A = AB Ta có AB+ = ABC = Q nên S2 = AB là siêu khóaS3 = TN U C = BC Ta có BC+ = ABC = Q nên S3 = BC là siêu khóaS4 = TN U AC = ABC Ta có ABC+ = ABC = Q nên S4 = ABC là siêu khóaVậy ta có tập siêu khóa S = AB,BC,ABC.mặc khác, vì AB chứa trong ABC và BC chứa trong ABC nên loại bỏ siêu khóa ABC ra khỏi tập siêu khóaVậy ta có, tập khóa K = AB,BC là khóa của lượt đồ quan hệ