Bài giảng môn Cơ sở dữ liệu: Chương 9 - Thiết kế cơ sở dữ liệu quan hệ
lượt xem 4
download
Bài giảng môn Cơ sở dữ liệu: Chương 9 - Thiết kế cơ sở dữ liệu quan hệ bao gồm những nội dung về phụ thuộc hàm; bao đóng của tập PTH; kiểm tra PTH suy diễn; xác định khóa của lược đồ; tìm một khóa của lược đồ; xác định khóa cho quan hệ.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng môn Cơ sở dữ liệu: Chương 9 - Thiết kế cơ sở dữ liệu quan hệ
- THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 1
- Phụ thuộc hàm Định nghĩa 3.1: Xét lược đồ quan hệ gồm n thuộc tính – R(U), U={A1, A2,…, An} PTH giữa hai tập thuộc tính X, Y U – Ký hiệu: X Y (đọc: X xác định hàm Y hay Y phụ thuộc hàm X) – r(R), t1, t2 r nếu t1[X] = t2[X] thì t1[Y] = t2[Y]. – X là vế trái và Y là vế phải của PTH. Ví dụ 3.2 r(R) A B 1 4 r không thỏa A B, nhưng thỏa B A 1 5 3 7 NHANVIEN_PHONGBAN TenNV MaNV NgSinh Diachi MaPB TenPB TrPhong MaNV TenNV MaNV MaPB MaPB {TenPB, TrPhong} 2
- Bao đóng của tập PTH • Định nghĩa: Trên lược đồ quan hệ R; F là tập các PTH, cho XY là một PTH. - Ta nói rằng tập PTH F suy diễn logic X Y ký hiệu F╞═ X Y, nếu bất kỳ quan hệ r của R thỏa các phụ thuộc trong F thì cũng thỏa X Y. • Định nghĩa: Bao đóng của tập PTH (Closure of FD) F là tập các phụ thuộc hàm được suy diễn logic từ F, ký hiệu là F+, nghĩa là: F+ = { X Y | F ╞═ X Y} 3
- Bao đóng của tập PTH • F là tập PTH trên R – F = (MaNV TenNV, MaPB {TenPB, TrPhong}, MaNV MaPB). – rR thỏa F và MaNV {TenPB, TrPhong} cũng đúng với r thì MaNV {TenPB, TrPhong} gọi là được suy diễn từ F. • Bao đóng của F, ký hiệu F+, gồm – F và tất cả các PTH được suy diễn từ F. • F gọi là đầy đủ nếu F = F+. 4
- Kiểm tra PTH suy diễn Cho F = {AB C, A D, D E, AC B} Hai PTH AB E và D C có được suy diễn từ F hay không? X XF+ AB ABCDE Được suy diễn từ F D DE Không được suy diễn từ F 5
- Xác định khóa của lược đồ Thuật toán: Tìm một khóa tối thiểu của quan hệ Nhập: tập PTH F xác định trên lược đồ R(U) U = {A1, …, An}; Xuất: khóa K của R. Phương pháp : – Bước 0 : Đặt K0 = U – Bước i : Tính Ki –1 \ {Ai} nếu Ki-1 \ {Ai} U Ki = Ki-1 nếu ngược lại – Đặt K = Kn 6
- Ví dụ: Tìm khóa của lược đồ Cho R(U), U = {A, B, C, D, E, F, G}. – F = {B A, D C, D BE, DF G}. Tìm khóa của R – B1: K = ABCDEFG. – B2: • Lặp 1: (BCDEFG)F+ = BCDEFGA K = BCDEFG. • Lặp 2: (CDEFG)F+ = CDEFGBA K = CDEFG. • Lặp 3: (DEFG)F+ = DEFGCBA K = DEFG. • Lặp 4: (EFG)F+ = EFG. • Lặp 5: (DFG)F+ = DFGCBEA K = DFG. • Lặp 6: (DG)F+ = DGCBEA. • Lặp 7: (DF)F+ = DFCBEAG K = DF. – B3: Khóa là K = DF. 7
- Bài tập 1: Cho lược đồ quan hệ R(ABCDE) và tập phụ thuộc hàm: F = {A -> B; CD -> E; B -> C} - Tìm một khóa của lược đồ. 8
- Tìm một khóa Áp dụng các bước tìm bao đóng của tập các thuộc tính: • Lặp 1: (BCDE)F+ = BCDE K = ABCDE. • Lặp 2: (ACDE)F+ = ABCDE K = ACDE. • Lặp 3: (ADE)F+ = ADEBC K = ADE. • Lặp 4: (AE)F+ = AEBC K = ADE. • Lặp 5: (AD)F+ = ADBCE K = AD. AD là khoá. 9
- Bài tập 2 Cho lược đồ quan hệ R(A,B,C,D,E,G,H,I,J,K) và tập các phụ thuộc hàm: F = {A -> B ; C -> DHI ; IJ -> K ; BC -> A ; HC -> E} Tìm một khóa của lược đồ. 10
- Tìm một khóa của lược đồ Áp dụng các bước tìm bao đóng của tập các thuộc tính: • Lặp 1: (BCDEGHIJK)F+ = R K = BCDEGHIJK • Lặp 2: (CDEGHIJK) F+ R K = BCDEGHIJK • Lặp 3: (BDEGHIJK) F+ R K = BCDEGHIJK • Lặp 4: (BCEGHIJK) F+ = R K = BCEGHIJK. • Lặp 5: (BCGHIJK ) F+ = R K = BCGHIJK • Lặp 6: (BCHIJK ) F+ R K = BCGHIJK • Lặp 7: (BCGIJK ) F+= R K = BCGIJK • Lặp 8: (BCGJK ) F+ = R K = BCGJK • Lặp 9: (BCGK ) F+ R K = BCGJK • Lặp 10: (BCGJ ) F+ = R K = BCGJ 11
- Xác định khóa cho quan hệ Bước 1: Xác định - tập thuộc tính nguồn (là thuộc tính chỉ xuất hiện ở vế phải của tất cả các phụ thuộc hàm thuộc F) - tập thuộc tính đích (là thuộc tính chỉ xuất hiện ở vế phải của tất cả các phụ thuộc hàm thuộc F) - tập thuộc tính trung gian (là thuộc tính xuất hiện ở cả 2 vế của tất cả các phụ thuộc hàm thuộc F Bước 2: 12
- Xác định khóa cho quan hệ Bước 2: Lập bảng Xi U N (Xi U N)+ Siêu khóa Khóa Các tổ Xác định Xác hợp có xem định thể xây Xi U N khóa dựng từ có phải là (siêu tập siêu khóa khóa trung hay không nhỏ gian Xi nhất) Xi là tập con của tập trung gian (2n phần tử) 13
- Ví dụ: Cho lược đồ quan hệ R(A,B,C,D,E) và tập các phụ thuộc hàm: F = { AB -> C; AB -> D; D -> A; BC -> D ; BC -> E} Xác định tất cả các khóa cho quan hệ 14
- Xác định khóa cho quan hệ Bước 1: Xác định - tập thuộc tính nguồn {B} (là thuộc tính chỉ xuất hiện ở vế trái của tất cả các phụ thuộc hàm thuộc F) - tập thuộc tính đích {E} (là thuộc tính chỉ xuất hiện ở vế phải của tất cả các phụ thuộc hàm thuộc F) - tập thuộc tính trung gian {A,C,D} (là thuộc tính xuất hiện ở cả 2 vế của tất cả các phụ thuộc hàm thuộc F) Bước 2: 15
- Xác định khóa cho quan hệ Bước 2: Lập bảng Xi Xi U N (Xi U N)+ Siêu khóa Khóa B - - - A BA U SK K C BC U SK K D BD U SK K AC BAC U SK - AD BAD U SK - CD BCD U SK - ACD BACD U SK - Vậy AB, BC, BD là khóa của quan hệ R 16
- Bài tập: Cho lược đồ quan hệ R(A,B,C,D,E,G,H,T,V,X,Y,Z) và tập các phụ thuộc hàm: F = { AB -> HXGC; BH -> V; GC -> Y; D -> CGZ ; E -> ABT} a. Tìm một khóa của quan hệ R b. Tìm tất cả các khóa của quan hệ R 17
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Đề Cương Bài Giảng Môn Cơ Sở Dữ Liệu
161 p | 402 | 67
-
Bài giảng môn Cơ sở dữ liệu: Chương 5 - ĐH KHTN
0 p | 225 | 50
-
Bài giảng môn Cơ sở dữ liệu: Chương 1 - ĐH KHTN
0 p | 237 | 42
-
Bài giảng môn Cơ sở dữ liệu: Chương 3 - ĐH KHTN
0 p | 178 | 37
-
Bài giảng môn Cơ sở dữ liệu: Chương 2 - ĐH KHTN
0 p | 167 | 35
-
Bài giảng môn Cơ sở dữ liệu: Chương 4 - ĐH KHTN
0 p | 185 | 35
-
Bài giảng môn Cơ sở dữ liệu: Chương 6 - ĐH KHTN
0 p | 177 | 35
-
Bài giảng môn Cơ sở dữ liệu: Chương 7 - ĐH KHTN
0 p | 255 | 35
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan cơ sở dữ liệu
0 p | 227 | 17
-
Bài giảng môn Cơ sở dữ liệu: Chương 8 - Thiết kế cơ sở dữ liệu quan hệ
33 p | 141 | 12
-
Bài giảng môn Cơ sở dữ liệu: Chương 6 - Ngôn ngữ SQL
115 p | 125 | 11
-
Bài giảng môn Cơ sở dữ liệu: Chương 2 - Mô hình thực thể - kết hợp
0 p | 144 | 8
-
Bài giảng môn Cơ sở dữ liệu: Chương 5 - ThS. Thái Bảo Trân
20 p | 76 | 5
-
Bài giảng môn Cơ sở dữ liệu: Chương 3 - Mô hình quan hệ
0 p | 101 | 4
-
Bài giảng môn Cơ sở dữ liệu: Chương 4 - ThS. Thái Bảo Trân
35 p | 48 | 4
-
Bài giảng môn Cơ sở dữ liệu: Chương 3 - ThS. Thái Bảo Trân
13 p | 56 | 3
-
Bài giảng môn Cơ sở dữ liệu: Chương 6 - ThS. Thái Bảo Trân
50 p | 72 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn