Học viện công nghệ BƯu chính viễn thông khoa viễn thông 1 Bài giảng Học phần: CƠ SỞ DỮ liệU



tải về 4.98 Mb.
Chế độ xem pdf
trang74/82
Chuyển đổi dữ liệu13.11.2023
Kích4.98 Mb.
#55639
1   ...   70   71   72   73   74   75   76   77   ...   82
NEW.Bài giảng CSDL sau nghiệm thu-2023
TH CSDL 2015Sep, 6. Đề cương Cơ sở dữ liệu- sau nghiệm thu. 23.02.2022, Chuong01-CSDL
Tập thuộc tính trung gian (TG): chứa các thuộc tính xuất hiện ở cả L và R. Vậy 
TG = L ∩ R 
Ví dụ: Cho L = {A, B, C, D, E} 
R = {D, E, F, G} 
Vậy TG = L ∩ R = {D, E} 
Thuật toán: Tìm tất cả các khóa trong lược đồ quan hệ 
Đầu vào: Tập hữu hạn các thuộc tính U = {A
1
, A
2
, …, A
n
}, tập các phụ 
thuộc hàm F trên U, X 
⊆ U 
Đầu ra: Tìm tất cả các khóa trong lược đồ quan hệ 
Thuật toán 
B1: Tìm tập thuộc tính nguồn TN và tập thuộc tính trung gian TG 
B2: Nếu TG = 
∅ thì 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 Ngược lại, nếu TG ≠ 
∅ thì qua bước 3 


127 
B3: Tìm tất cả các tập con X

của TG 
B4: Tìm Siêu khóa (S
i
) Với ∀ X
i
, nếu (TN U X
i
)+ = U thì khi đó S
i
= TN 
U X
i
B5: Tìm Khóa (K
i
) bằng cách loại bỏ các siêu khóa không tối thiểu Với 
mọi S
i
S
j
thuộc S, nếu S
i
chứa trong S
j
thì loại bỏ S
j
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ìm 
 
Bảng 4.4: Tìm khóa trong lược đồ quan hệ. 
Ví dụ 1: S = {AB, ABC, ED, EDF} 
Nhận thấy AB chứa trong ABC, ED chứa trong EDF, vậy cần loại bỏ ABC và EDF. 
Vậy S = {AB, ED} chính là tập khóa cần tìm 
Ví dụ 2: Cho một tập cơ sở dữ liệu R = , với U = {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. 
Lời giải: 
- L = {ABC} R = {CA} 
- TN = {B} TG = {AC}≠∅ nên ta làm tiếp bước 3 
- Ta có tập con X
i
của tập TG = {0, A, C, AC} 
- Lấy từng thuộc tính thuộc tập con X
i
của tập TG hợp với TN ta có các thuộc tính 
sau: 
▪ S
1
= TN U 
∅ = B Ta có B
+
= B ≠ U nên S
1
= B không là siêu khóa 
▪ S
2
= TN U A = AB Ta có AB
+
= ABC = U nên S
2
= AB là siêu khóa 
▪ S
3
= TN U C = BC Ta có BC
+
= ABC = U nên S
3
= BC là siêu khóa 
▪ S
4
= TN U AC = ABC Ta có ABC
+
= ABC = U nên S
4
= ABC là siêu khóa 


128 
▪ Vậy ta có tập siêu khóa S = {AB, BC, ABC}. 
▪ Tuy nhiên, 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óa 
▪ Vậy ta có, tập khóa K = {AB,BC} là khóa của lược đồ quan hệ 
Từ một tập các phụ thuộc hàm có thể suy diễn ra các phụ thuộc hàm khác. Trong 
một tập phụ thuộc hàm cho sẵn, có thể có các phụ thuộc hàm bị coi là dư thừa → Làm 
thế nào để có được một tập phụ thuộc hàm tốt? 

tải về 4.98 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   70   71   72   73   74   75   76   77   ...   82




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương