Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
2,62 MB
Nội dung
ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong Số tiết lý thuyết: 45 tiết Số tiết thực hành: 30 tiết GVHD: Dương Khai Phong – Email khaiphong@gmail.com http://sites.google.com/site/khaiphong Nội dung môn học: Chương 1: Giới thiệu tổng quan Chương 2: Mơ hình liệu phụ thuộc liệu Chương 3: Phương pháp chuẩn hóa Lược đồ CSDL Chương 4: Lý thuyết đồ thị quan hệ Chương 5: Thiết kế CSDL mức vật lý http://sites.google.com/site/khaiphong Chương 2: Mơ hình liệu Các phụ thuộc liệu Các khái niệm mơ hình liệu (ôn) Phụ thuộc hàm Hệ tiên đề Amstrong Bài tốn tìm khóa Bài tốn PTH Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu Xét toán: quản lý lịch dạy giáo viên lịch học lớp, trường tổ chức sau: Mỗi giáo viên có mã số nhất, trường tổ chức lưu thông tin giáo viên bao gồm: họ tên giáo viên, số điện thoại gồm 10 số Mỗi giáo viên dạy nhiều môn cho nhiều khoa thuộc quản lý hành chánh khoa Thuộc tính? Quan hệ? Khóa? Bộ - Phép chiếu? Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu Thuộc tính Khóa Quan hệ Bộ - Phép chiếu Chương 2: Mô hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu Xét tốn: quản lý lịch dạy giáo viên lịch học lớp, trường tổ chức sau: Mỗi giáo viên có mã số nhất, trường tổ chức lưu thông tin giáo viên bao gồm: họ tên giáo viên, số điện thoại gồm 10 số Mỗi giáo viên dạy nhiều mơn cho nhiều khoa thuộc quản lý hành chánh khoa Thuộc tính o o o o o o GIAOVIEN MAGV Characters (4) HO Characters (50) TEN Characters (20) SODIENTHOAI Characters (10) TENMONHOC Characters (50) TENKHOA Characters (50) Quan hệ Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu o o o o o o GIAOVIEN MAGV Characters (4) HO Characters (50) TEN Characters (20) SODIENTHOAI Characters (10) TENMONHOC Characters (50) TENKHOA Characters (50) MAGV HO TEN SODT TENMH TENKHOA GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT Thuộc tính (Attribute) thơng tin đặc thù đối tượng quản lý Thuộc tính đươc xác đỉnh bởi: - Tên gọi (ví dụ TenSV, TenGV, ) - Kiểu liệu (Type): số, văn bản, Boolean - Miền giá trị (Domain): Ký hiệu MGT(A) Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu o o o o o o GIAOVIEN MAGV Characters (4) HO Characters (50) TEN Characters (20) SODIENTHOAI Characters (10) TENMONHOC Characters (50) TENKHOA Characters (50) MAGV HO TEN SODT TENMH TENKHOA GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT Quan hệ (Relation) Một quan hệ Q định nghĩa tập thuộc tính {A1, A2, , An} biểu diễn tập đối tượng cớ chung thuộc tính - Ký hiệu: Q(A1, A2, , An) - Ký hiệu: Q+ dùng biểu diễn tập thuộc tính {A1, A2, , An} - Mỗi quan hệ Q kèm theo tân từ IIQII dùng để mô tả mối liên hệ ngữ nghĩa thuộc tính Q Ví du: KetOuaHTYMSSV MSMon HocKy, DiemLl, DiemL2) Tân từ: Mỗi môn học (MSMon) học kỳ (HocKy) sinh viên (MSSV) thi tối đa lần (DiemLl, DiemL2) Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu o o o o o o GIAOVIEN MAGV Characters (4) HO Characters (50) TEN Characters (20) SODIENTHOAI Characters (10) TENMONHOC Characters (50) TENKHOA Characters (50) MAGV HO TEN SODT TENMH TENKHOA GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT Bộ (Tuple) Một q quan hệ Q(A1, A2, ,An) tổ hợp giá trị (a1, a2, ,an) thoả điều kiện: (1) Ai Q+, MGT(Ai) (2) Tân từ IIQ(a1, a2, ,an) II phải thoả Ví dụ: quan hệ GIAOVIEN có q1=(GV01, Nguyen, A, 123, CSDL, HTTT) * Thể (instance) quan hệ Q, ký hiệu TQ, tập Q TQ = { q= (a1, a2, ,an) / MGT(Ai), IIQ(q)ll = TRUE } Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Các khái niệm mơ hình liệu o o o o o o GIAOVIEN MAGV Characters (4) HO Characters (50) TEN Characters (20) SODIENTHOAI Characters (10) TENMONHOC Characters (50) TENKHOA Characters (50) MAGV HO TEN SODT TENMH TENKHOA GV01 Nguyen A 123 CSDL HTTT GV02 Tran B 456 THĐC CNPM GV02 Le C 789 Mạng MMT GV01 Nguyen A 123 TKCSDL HTTT Siêu khóa (Super key): siêu khóa quan hệ Q tập thuộc tính S Q+ giá trị S xác định Q q1, q2 TQ, q1.S = q2.S q1 = q2 * Khóa định (Candidate Key): hay khóa nội Q siêu khóa thuộc tính nhất, khơng chứa siêu khóa * Thuộc tính khóa thuộc tính khơng khóa: thuộc tính tham gia vào khóa gọi thuộc tính khóa, thuộc tính khơng tham gia vào khóa gọi thuộc tính khơng khóa 10 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bước 2: xác định tập khóa dùng thuật tốn ABCG 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 G C CG B BG Ki = N Ki DEF DEFG DEFC DEFCG DEFB DEFBG BC DEFBC BCG A AG AC ACG AB ABG DEFBCG DEFA DEFAG DEFAC DEFACG DEFAB DEFABG ABC DEFABC Ki K+I.F Siêu khóa Khóa DEF DEFG DEFGBAC= Q+ DEFC DEFC DEFBACG= Q+ DEFB DEFB DEFA DEFACGB= Q+ DEFAC DEFABCG = Q+ DEFAB ABCG DEFABCG 44 ĐH CÔNG NGHỆ THƠNG TIN http://sites.google.com/site/khaiphong 45 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài Cho Q(ABCD) có F = {f1:AC ; f2:DC ; f3:B A} Xác định khoá Q Bài Q(ABCDEHK) F= {f1:ABC ; f2:CDE ; f3:AHK ; f4:AD ; f5:BD} Xác định khóa Q Bài Cho quan hệ Q(ABCDEG) tập pth: F = {ABC ; C A ; BCD ; ACDB ; DEG; BEC ; CGBD ; CEAG} a) Tìm bao đóng {BD} b) Tìm khóa Q 46 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài Cho Cho quan hệ Q(ABCEIH) tập pth F = {ABE ; ACI ; BEI ; EC ; CI->H} a) Chứng minh: AB GH b) Tìm khóa Q Bài Cho F = {ABC ; BD ; CDE ; CEGH ; GA} Tìm khóa quan hệ ứng với tập F Bài Cho F = {ABE ; AGI ; BEI ; EG ; GIH} Tìm khóa quan hệ ứng với tập F Bài 7: Cho lược đồ (R,F) với R (ABCDEG) F = {BC ; ACD ; DG ; AGE} Tìm khóa quan hệ ứng với tập F 47 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài toán tìm khóa Bài tốn PTH Bài tốn PTH: a PTH có vế trái dư thừa: Định nghĩa: Cho LĐQH Q tập PTH FQ={f1,f2, ,fn} Phụ thuộc hàm f: Z Y FQ có vế trái dư thừa (phụ thuộc không đầy đủ) tồn A Z cho: ′ FQ (FQ – {f: Z Y }) {(Z - A) Y} Ngược lại gọi PTH f: Z Y PTH có vế trái khơng dư thừa hay Y phụ thuộc hàm đầy đủ vào Z Ví dụ 1: cho Q(A, B, C) F = {AB C ; B C} - Nhận xét: PTH AB C AC B C: tồn F B dư thừa AB C PTH không đầy đủ - Nhận xét: PTH B C PTH đầy đủ F’ = {A C ; B C} 48 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài toán tìm khóa Bài tốn PTH Bài tốn PTH: a PTH có vế trái dư thừa: Ví dụ 2: cho Q(A, B, C, D) F = {A BD ; B C ; AB D} - Nhận xét: • PTH A BD PTH đầy đủ • PTH B C PTH đầy đủ • AB D PTH khơng đầy đủ AD: tính (A)+ dựa tập F1 = {ABD ; BC} + (A)+ = ABCD A D F1 B: thuộc tính dư thừa F’ = {A BC ; B C ; A D } Tips: Thuật toán loại khỏi F PTH có vế trái dư thừa B1: thực bước cho PTH XY F B2: với tập thuộc tính X’ X Nếu X’Y F’+ thay XY F X’Y thực lại B2 49 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài tốn tìm khóa Bài tốn PTH Bài tốn PTH: b Tập PTH có vế phải thuộc tính: Ví dụ: cho Q(A, B, C, D) F = {A BC ; B C ; AB D } Nhận xét: hiển nhiên có tập PTH G tương đương với F (ký hiệu G F) mà vế phải PTH G gồm thuộc tính G = {A B ; A C ; B C ; AB D } c Tập PTH không dư thừa: F tập PTH không dư thừa không tồn F’ F cho F’ F Ngược lại F tập PTH dư thừa Ví dụ: cho Q(A, B, C, D) F = {A BC ; B D ; AB D } Nhận xét: F tập PTH dư thừa tồn F’ F: F’ = {A BC ; B D} Tips: Thuật toán loại khỏi F PTH dư thừa B1: thực bước cho PTH XY F B2: XY thành viên F – {XY} loại XY khỏi F 50 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài tốn tìm khóa Bài toán PTH Bài toán PTH: d Tập PTH tối thiểu: (minimal cover) Định nghĩa: F gọi tập PTH tối thiểu (phủ tối thiểu) F thỏa đồn thời điều kiện sau: F tập PTH có vế trái khơng dư thừa F tập PTH có vế phải thuộc tính F tập PTH không dư thừa Ý nghĩa: Giảm bớt số thuộc tính vế trái Giảm bớt số PTH 51 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài toán tìm khóa Bài tốn PTH Bài tốn PTH: d Tập PTH tối thiểu: (minimal cover) Thuật toán tìm phủ tối thiểu tập PTH: B1: loại khỏi F PTH có vế trái dư thừa B2: tách PTH mà vế phải có thuộc tính thành PTH có vế phải thuộc tính B3: loại khỏi F PTH dư thừa Tips: Thuật toán cho kết khác thứ tự loại bỏ PTH F khác 52 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài tốn tìm khóa Bài tốn PTH Bài tốn PTH: d Tập PTH tối thiểu: (minimal cover) Ví dụ tìm phủ tối thiểu tập PTH: 1) Cho Q(A, B, C, D) F = {AB CD ; B C ; C D } B1: loại khỏi F PTH có vế trái dư thừa • PTH AB CD có vế trái dư thừa? ACD: tính (A)+ dựa tập F1 = {B C ; C D } + (A)+ = ACD A D F1 Loại bỏ thuộc tính A BCD: tính (B)+ dựa tập F2 = {B C ; C D} + (B)+ = BCD A D F2 Không loại bỏ thuộc tính B Thay F F’ = {B CD ; B C ; C D} 53 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài tốn tìm khóa Bài toán PTH Bài toán PTH: d Tập PTH tối thiểu: (minimal cover) Ví dụ tìm phủ tối thiểu tập PTH: 1) Cho Q(A, B, C, D) F = {AB CD ; B C ; C D } B2: tách PTH mà vế phải có thuộc tính thành PTH có vế phải thuộc tính F’ = {B CD ; B C ; C D} BC BCD BD F” = {B D ; B C ; C D} 54 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Bài tốn tìm khóa Bài tốn PTH Bài toán PTH: d Tập PTH tối thiểu: (minimal cover) Ví dụ tìm phủ tối thiểu tập PTH: 1) Cho Q(A, B, C, D) F = {AB CD ; B C ; C D } B3: loại khỏi F” = {B D ; B C ; C D} PTH dư thừa Xét BD G+? với G = F” - {B D } = {B C ; C D} Tính (B)+ = B 𝐺 = BC (do có B C) = BCD (do có C D) Vậy BD G+ pth BD dư thừa F” (loại khỏi F”) " Vậy thay F” = F1 = {B C ; C D} " Xét BC G+? với G = F1 - {B C } = {C D}: không loại " Xét CD G+? với G = F1 - {C D } = {B C}: không loại Kết luận: phủ tối thiểu F = {B C ; C D} 55 ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong 56 Chương 2: Mơ hình liệu – Phụ thuộc liệu http://sites.google.com/site/khaiphong Xác định khóa tập phủ tối thiểu: 1) Q(ABCD) F = {AB ; BCD ; DA } 2) Q(ABCDGH) F = {AH ; ABC ; BCD ; GB } 3) Q(ABCSXYZ) F = {SA ; AXB ; SB ; BYC ; CZX} 4) Q(ABCSXYZ) F = {SA ; AXB ; BYC ; YZ ; CZX} 5) Q(ABCDEG) F = {ABC ; CDE ; AGB ; BD ; AD} 6) Q(ABCDE) F = {ACB ; EB ; BCA ; DA ; DEC} 7) Q(ABCDEGHIJ) F = {BGD ; GJ ; AIC ; CEH ; BDG ; JHA ; DI} 8) Q(ABCMNOP) F = {AMN ; BNC ; AMB ; AP ; PM ; BNM ; PCA ; POA} 9) Q(MNOPRSTU) F = {MS ; MRT ; TR ; ORT ; MU ; MTP ; NPO ; SUR} 10) Q(ABCDEGHIJ) F = {BHI ; GCA ; IJ ; AEG ; DB ; IH} 57 ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong 58 ... http://sites.google.com/site/khaiphong Chương 2: Mơ hình liệu Các phụ thuộc liệu Các khái niệm mơ hình liệu (ơn) Phụ thuộc hàm Hệ tiên đề Amstrong Bài tốn tìm khóa Bài tốn PTH 25 Chương 2: Mơ hình liệu – Phụ thuộc liệu. .. thị quan hệ Chương 5: Thiết kế CSDL mức vật lý http://sites.google.com/site/khaiphong Chương 2: Mơ hình liệu Các phụ thuộc liệu Các khái niệm mơ hình liệu (ơn) Phụ thuộc hàm Hệ tiên đề Amstrong... Kiểm tra PTH sau có thuộc vào F+: a) ABG b) BDAD 37 http://sites.google.com/site/khaiphong Chương 2: Mơ hình liệu Các phụ thuộc liệu Các khái niệm mơ hình liệu (ơn) Phụ thuộc hàm Hệ tiên đề