Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
717,99 KB
Nội dung
TRƢỜNG ĐẠI HỌC QUẢNG BÌNH KHOA KỸ THUẬT – CÔNG NGHỆ THÔNG TIN GIÁOTRÌNH (Lƣu hành nội bộ) CƠSỞDỮLIỆU (Dành cho Đại học Công nghệ thông tin) TS Đậu Mạnh Hoàn Năm 2016 MỤC LỤC LỜI NÓI ĐẦU CHƢƠNG TỔNG QUAN VỀ CƠSỞDỮLIỆU I HỆ CƠSỞDỮLIỆU Khái niệm Những khả hệ quản trị sởliệu Các mô hình liệu II KIẾN TRÚC CỦA MỘT HỆ CƠSỞDỮLIỆU 10 Mức sởliệu vật lý 10 Cơsởliệu mức khái niệm 11 Cơsởliệu mức khung nhìn 11 User 11 III MỘT SỐ KHÁI NIỆM LIÊN QUAN 11 Thể 11 Lƣợc đồ 12 Lƣợc đồ khái niệm 13 Ngôn ngữ điều khiển liệu 13 IV TÍNH ĐỘC LẬP DỮLIỆU 13 CHƢƠNG MÔ HÌNH CƠSỞDỮLIỆU 15 I MỘT SỐ VẤN ĐỀ LIÊN QUAN 15 Mô hình liệu 15 Phân biệt mô hình liệu 15 II CÁC MÔ HÌNH DỮLIỆUCƠ BẢN 16 Mô hình thực thể - quan hệ 16 Mô hình mạng 19 Mô hình phân cấp 21 Mô hình quan hệ 22 III MÔ HÌNH CƠSỞDỮLIỆU QUAN HỆ 22 Các khái niệm 22 Khoá siêu khóa 23 Các phép toán sởliệu quan hệ 24 CHƢƠNG NGÔN NGỮ THAO TÁC DỮLIỆU 27 I ĐẠI SỐ QUAN HỆ 27 Phép hợp 27 Phép giao 27 Phép hiệu 28 Tích đề 28 Phép chiếu 29 Phép chọn 30 Phép kết nối 31 Phép chia 32 II NGÔN NGỮ DỮLIỆU CON SQL 32 Tạo bảng 32 Xoá bảng 33 Vào liệu 33 Khối chọn lọc 34 Các hàm thƣ viện 36 Tìm kiếm có sử dụng mệnh đề hỗ trợ 37 Tìm kiếm với câu hỏi phức tạp 38 CHƢƠNG TỔ CHỨC DỮLIỆU VẬT LÝ 43 I MÔ HÌNH TỔ CHỨC BỘ NHỚ NGOÀI 43 II TỆP BĂM 44 Hàm băm 44 Tệp băm 44 Bảng băm 44 III TỆP CHỈ SỐ 47 CHƢƠNG 50 LÝ THUYẾT THIẾT KẾ CƠSỞDỮLIỆU QUAN HỆ 50 I RÀNG BUỘC TOÀN VẸN 50 Khái niệm ràng buộc toàn vẹn 50 Các yếu tố ràng buộc toàn vẹn 51 Phân loại ràng buộc toàn vẹn 53 II PHỤ THUỘC HÀM 55 Một số định nghĩa 55 Hệ tiên đề cho phụ thuộc hàm 56 Bao đóng tập thuộc tính 57 Bổ đề 58 Xác định khoá lƣợc đồ quan hệ bao đóng 58 Phủ tập phụ thuộc hàm 59 III TÁCH MỘT QUAN HỆ 60 Tách lƣợc đồ quan hệ 61 Chuẩn hoá lƣợc đồ quan hệ 64 TÀI LIỆU THAM KHẢO 69 LỜI NÓI ĐẦU Giáotrình nội sởliệu tài liệu hƣớng dẫn học tập tham khảo dành cho sinh viên chuyên ngành công nghệ thông tin Tài liệu đƣợc biên soạn dựa chƣơng trình đào tạo chuyên ngành Đại học Công nghệ thông tin Tài liệu biên soạn với mục đích phục vụ việc học tập giảng dạy Nhà trƣờng Nội dung tài liệu bao gồm: Chƣơng giới thiệu tổng quan sở liệu, khái niệm liên quan đến sở liệu, khả hệ quản trị sở liệu, giới thiệu mô hình liệu Ngoài chƣơng trình bày kiến trúc hệ sở liệu, tính độc lập liệu thiết kế Chƣơng trình bày tổng quát mô hình liệu truyền thống, cách phân biệt mô hình sởliệuTrình bày khái niệm mô hình thực thể-liên hệ, mô hình mạng, mô hình phân cấp mô hình quan hệ Phần giới thiệu chi tiết nội dung sởliệu quan hệ, phép toán Chƣơng giới thiệu ngôn ngữ thao tác liệu, bao gồm đại số quan hệ, ngôn ngữ liệu SQL Phần trình bày thao tác, câu lệnh để thực ngôn ngữ thao tác Chƣơng trình bày tổ chức liệu vật lý, mô hình tổ chức nhớ Hai kỹ thuật tổ chức tệp băm tệp số đƣợc trình bày chƣơng Chƣơng trình bày lý thuyết thiết kế sởliệu quan hệ, tập trung vào chủ đề ràng buộc toàn vẹn liệu, vấn đề phụ thuộc hàm thao tác thực tách lƣợc đồ quan hệ Nội dung tài liệu đƣợc trình bày đầy đủ, dể hiểu, dể nghiên cứu Cuối phần tài liệucó câu hỏi tập để sinh viên thực Tài liệu sử dụng để làm tài liệu tham khảo cho sinh viên chuyên ngành trình học tập Với giảng viên tài liệu sử dụng để tham khảo trình giảng dạy cho đối tƣợng sinh viên chuyên nghành công nghệ thông tin Mặc dùcố gắng cẩn thận trình biên soạn nhƣng không tránh đƣợc thiếu sót, mong nhận đƣợc ý kiến đóng góp phê bình bạn đọc đồng nghiệp Xin chân thành cảm ơn! CHƯƠNG TỔNG QUAN VỀ CƠSỞDỮLIỆU I HỆ CƠSỞDỮLIỆUCơsởliệu (CSDL) lĩnh vực tảng đƣợc tập trung nghiên cứu phát triển ngành công nghệ thông tin, nhằm giải toán quản lý, tìm kiếm thông tin hệ thống lớn, đa dạng, phức tạp cho nhiều ngƣời sử dụng máy vi tính Khái niệm Hệ quản trị sởliệu (Database Management System: DBMS) loại hệ thống phần mềm có vai trò quan trọng hệ thống lập trình Một hệ sởliệu bao gồm hai thành phần chính: + Dữliệu lƣu trữ: Các liệu lƣu trữ theo quy cách định máy tính đƣợc gọi sởliệu + Phần chƣơng trình: Là loại hệ thống phần mềm xử lý sởliệu đƣợc lƣu trữ gọi hệ quản trị sởliệu Hiện thị trƣờng phần mềm có hệ quản trị CSDL hỗ trợ đƣợc nhiều tiện ích nhƣ: MS Access, SQL Server … vv Những khả hệ quản trị sởliệuCó hai đặc tính để phân biệt hệ quản trị sởliệu với hệ thống lập trình khác, là: - Khả quản lý liệucố định - Khả truy xuất có hiệu số lƣợng lớn liệu Khả thứ cósởliệu tồn thƣờng xuyên, nội dung sởliệuliệu đƣợc hệ quản trị sởliệu truy xuất quản lý Khả thứ hai để phân biệt hệ quản trị sởliệu với hệ thống tập tin quản lý liệucố định nhƣng không cho phép truy xuất nhanh chóng thành phần tuỳ ý liệu Những khả DBMS cần trƣờng hợp số lƣợng liệu lớn Ngoài hai đặc tính DBMS cósố khả khác, là: - Hỗ trợ mô hình liệu mà qua ngƣời sử dụng xem đƣợc liệu - Hỗ trợ số ngôn ngữ bậc cao cho phép ngƣời sử dụng định nghĩa cấu trúc liệu, truy xuất liệu thao tác liệu - Quản lý giao dịch (còn gọi thao tác), nghĩa cho phép nhiều ngƣời sử dụng truy xuất đồng thời xác đến sởliệu - Điều khiển trình truy xuất, khả giới hạn trình truy xuất liệu ngƣời không đƣợc phép khả kiểm tra độ tin cậy liệu - Có đặc tính tự thích ứng, khả phục hồi lại liệucố hệ thống mà không làm liệu Các mô hình liệu Mỗi hệ quản trị sởliệu cung cấp mô hình liệu (Data model) trừu tƣợng cho phép ngƣời sử dụng nhìn xem thông tin qua BIT thông tin thô mà qua thuật ngữ hiểu đƣợc Thực tế, xem liệu nhiều mức độ trừu tƣợng khác nhau, mức độ tƣơng đối thấp hệ quản trị sởliệu cho phép nhìn xem liệu dƣới dạng tập tin cấu thành Ví dụ: Quản lý công ty có tập tin (File) liên quan đến nhân viên Giả sử mẫu tin có dạng: Record HoTen: String[30]; Quanly: String[40]; End; Nhƣ tập tin chuỗi mẫu tin, mẫu tin tƣơng ứng với nhân viên công ty Trong số mô hình liệu mức trừu tƣợng, tập tin chứa mẫu tin đƣợc trừu tƣợng hoá thành quan hệ mô tả theo cách thức II KIẾN TRÚC CỦA MỘT HỆ CƠSỞDỮLIỆU Một hệ sởliệu đƣợc phân thành nhiều mức khác đƣợc thể theo sơ đồ sau: User User Khung nhìn Khung nhìn CSDL mức khái niệm CSDL mức vật lý User n Khung nhìn n Định nghĩa ánh xạ đƣợc viết ngôn ngữ định nghĩa liệu lƣợc đồ Định nghĩa ánh xạ đƣợc viết ngôn ngữ định nghĩa liệu Đƣợc cài đặt thiết bị Vật lý Hình Các mức trừu tƣợng hệ thống sởliệu Giữa máy tính, xử lý bit ngƣời sử dụng cuối xử lý khái niệm liên quan đến sởliệu nhƣ nhân viên, sinh viên, tài khoản ngân hàng, chỗ ngồi máy bay, vv có nhiều mức trừu tƣợng Các mức trừu tƣợng đƣợc minh hoạ sơ đồ Mức sởliệu vật lý 10 Một tập hợp gồm tập tin mục cấu trúc lƣu trữ khác dùng để truy xuất liệu cách hiệu gọi sởliệu vật lý Cơsởliệu vật lý tồn thƣờng xuyên thiết bị lƣu trữ nhƣ đĩa từ, băng từ Cơsởliệu mức khái niệm Cơsởliệu khái niệm trừu tƣợng hoá giới thực gắn với ngƣời sử dụng hay nói cách khác sởliệu mức vật lý cài đặt cụ thể sởliệu mức khái niệm DBMS cung cấp ngôn ngữ định nghĩa liệu (Data Difinition Language: DDL), để mô tả lƣợc đồ khái niệm đƣợc cài đặt lƣợc đồ vật lý DDL cho mô tả sởliệu khái niệm nhờ thuật ngữ “mô hình liệu” Trong mô hình liệu đƣợc trình bày qua bảng với cột thuộc tính, hàng mẫu tin Cơsởliệu mức khái niệm đƣợc thiết kế nhƣ thể thống bao gồm tất liệu đƣợc dùng tổ chức Cơsởliệu mức khung nhìn Khung nhìn (View) hay lƣợc đồ phần sởliệu khái niệm trừu tƣợng hoá phần sởliệu mức khái niệm Hầu hết DBMS cung cấp phƣơng tiện để khai báo khung nhìn, đƣợc gọi ngôn ngữ định nghĩa liệu lƣợc đồ phƣơng tiện để diễn đạt câu vấn tin thao tác khung nhìn gọi ngôn ngữ thao tác liệu lƣợc đồ Mức khung nhìn cách nhìn quan niệm ngƣời sử dụng sởliệu mức khái niệm User Đó ngƣời sử dụng có chức thao tác sởliệu III MỘT SỐ KHÁI NIỆM LIÊN QUAN Thể 11 Ràng buộc loại mối quan hệ lƣợc đồ sởliệu Ngoài cósố loại ràng buộc toàn vẹn khác nhƣ: ràng buộc toàn vẹn thuộc tính tổng hợp, ràng buộc toàn vẹn tồn chu trình, ràng buộc toàn vẹn giá trị thuộc tính theo thời gian II PHỤ THUỘC HÀM Một số định nghĩa Cho quan hệ r định nghĩa lƣợc đồ quan hệ U={A 1, A2, , An}, X Y tập U Định nghĩa 1: Cho quan hệ r định nghĩa lƣợc đồ quan hệ U={A 1, A2, , An}, X Y tập U Ta nói: X xác định hàm Y r, ký hiệu XY, t, t‟ r cho t[X] = t‟[X] => t[Y] = t‟[Y] hay viết t.X=t‟.X=>t.Y=t‟.Y Nói cách khác XY với t, t‟ r t t‟ X chúng Y Chú ý số diễn đạt đồng nghĩa: - Y phụ thuộc hàm vào X r - r thoả thuộc hàm XY - XY phụ thuộc hàm r Ví dụ 1: Xét quan hệ Sinhvien, ta có phụ thuộc hàm sau: MasvTensv, Masv Lop Ví dụ 2: Giả sử có quan hệ r nhƣ sau: A B C D 0 0 1 1 55 1 Với quan hệ ta có AC, cặp t t‟ r, t[X]= t‟[X] t[Y] = t‟[Y] Định nghĩa 2: Xét quan hệ r, giả sử r thoả phụ thuộc hàm XY không tồn tập thực X‟ X cho r thoả mãn phụ thuộc hàm X Y ta nói Y phụ thuộc hàm đầy đủ vào X r Ký hiệu phụ thuộc hàm: FD (Functional Dependency) FDD (Full Functional Dependency) phụ thuộc hàm đầy đủ Chú ý: Để kết luận phụ thuộc hàm thoả mãn lƣợc đồ quan hệ R phải chứng tỏ phụ thuộc hàm phải thoả mãn quan hệ r lƣợc đồ R Định lý: Xét quan hệ r xác định tập thuộc tính U X, U X, lúc đó: - X Y phụ thuộc hàm r X khoá quan hệ r(XY) - X Y phụ thuộc hàm đầy đủ r X khoá tối thiểu quan hệ r(XY) Hệ tiên đề cho phụ thuộc hàm Gọi F tập tất phụ thuộc hàm lƣợc đồ quan hệ r(U) X Y phụ thuộc hàm với X,Y thuộc U, ta nói XY đƣợc suy diễn logic từ F quan hệ r r(U) thoả phụ thuộc hàm F thoả XY, chẳng hạn F={AB, B C} AC suy từ F Ngƣời ta gọi bao đóng F, ký hiệu F+, tập tất phụ thuộc hàm đƣợc suy diễn logic từ F, FF+, F =F+ F họ đầy đủ phụ thuộc hàm Hệ tiên đề Armstrong Gọi U(r) lƣợc đồ quan hệ với U={A1, A2, , An} tập thuộc tính; giả sử X, Y, Z U, hệ tiên đề Armstrong bao gồm: 56 A1 Tính phản xạ: Nếu Y X XY A2 Tính tăng trƣởng: Nếu Z U, XY ZX ZY Trong ZX = Z X A3 Tính bắc cầu: Nếu X Y Y Z XZ Ví dụ: Cho ABC, C A chứng minh BCABC Ta có: theo giả thiết CA nên BCAB (1) (tính tăng trƣởng, thêm B), mặt khác lại có ABC (giả thiết) nên ABABC (2) (tính tăng trƣởng, thêm AB) Kết hợp (1) (2) ta có BCABC (tính bắc cầu) Bổ đề 1: Hệ tiên đề Armstrong đầy đủ, có nghĩa F tập phụ thuộc hàm quan hệ r f: XY phụ thuộc hàm đƣợc suy dẫn từ F nhờ hệ tiên đề Armstrong f r Bổ đề 2: A4 Tính hợp: Nếu XY X Z XYZ A5 Tính tựa bắc cầu: Nếu XY WYZ XWZ A6 Tính tách: Nếu XY Z Y XZ Bao đóng tập thuộc tính Định nghĩa: Cho F tập phụ thuộc hàm tập thuộc tính U X U, ngƣời ta gọi bao đóng X F, ký hiệu X+F, đƣợc định nghĩa nhƣ sau: X+F = { A | X A F+} (tập hợp tất thuộc tính U cho phụ thuộc hàm XA suy dẫn từ F nhờ hệ tiên đề Armstrong) Ghi chú: ta viết X+ thay viết X+F Thuật toán tính bao đóng tập thuộc tính Bài toán: 57 Cho U tập thuộc tính F tập phụ thuộc hàm U, X U Hãy tính X+ Thuật toán: In put: Vào U, F, X Out put: X+ Method Tính liên tiếp X0, X1, , Xn theo quy tắc - b1: Tam = - b2: While tam X Tam := X For f = WZ F If W X then X = X Z - b3: Return(X) Ví dụ: Cho F ={AD, ABE, BIE,CDI, EC} X = AE, sau chạy thuật toán ta có kết X+ =ACDEI Bổ đề XY suy dẫn từ F nhờ hệ tiên đề Armstrong Y X+ Xác định khoá lƣợc đồ quan hệ bao đóng Định lý: Cho U tập thuộc tính F tập phụ thuộc hàm U X U X khoá U dƣới F X+1 = U Ví dụ: Cho U = ABCDEH F={CE, AHB, BD,AD} Hãy chứng minh AHC khoá tối thiểu U Thật vậy: 58 Vì (AHC)+F = AHCBDE nên AHC khoá U Mặt khác ta lại có: (A)+F = AD U (H)+F = H U (C)+F = CE U (AH)+F = AHBD U (AC)+F = ACDE U (HC)+F = HCE U Điều có nghĩa tập AHC không khoá U, AHC khoá tối thiểu U Phủ tập phụ thuộc hàm Cho hai tập phụ thuộc hàm F G tập thuộc tính U Định nghĩa 1: - Ta nói F suy G, ký hiệu F |= G, nếu G+ F+ - Ta nói F G tƣơng đƣơng, ký hiệu F G, F |= G G |= F, ta nói G phủ F ngƣợc lại Định nghĩa 2: Tập phụ thuộc hàm F gọi tối thiểu nếu: - f F => f = X A (vế phải có thuộc tính) - Không tồn f = X A F Z X thoả F+ = (F\ {F} {ZA})+ - Không tồn f = XA F cho F+ = (F\ {f})+ Định nhĩa 3: Tập phụ thuộc hàm F, tập phụ thuộc hàm G gọi phủ tối thiểu F G‟ phủ F G tối thiểu + Thuật toán tìm phủ tối thiểu tập phụ thuộc hàm: In put: Tập phụ thuộc hàm F U 59 Out put: G phủ tối thiểu F Method: -b1: G = Tách tất phụ thuộc hàm F thành phụ thuộc hàm mà vế phải có thuộc tính For f F f =X G= G {XA, A Y} - b2: loại bỏ phụ thuộc hàm không đầy đủ While Z X, Z X, GG\{f} {ZA} -b3: loại bỏ phụ thuộc hàm dƣ thừa: For f g If G \ {f} G then G = G \ {f} -b4: Return(G) Ví dụ: Cho F= { ABC, CA, BCD, ACDB, DEG, BEC, CGBD, CEAG} Sau bƣớc ta có: G = { ABC, CA, BCD, ACDB, DE, DG, BEC, CGB, CGD, CEA, CEG} Sau bƣớc ta có: G = { ABC, CA, BCD, CDB, DE, DG, BEC, CGB, CGD, CEG} Sau bƣớc ta có: G = { ABC, CA, BCD, DE, DG, BEC, CGB, CEG} Sau bƣớc ta có G phủ tối thiểu F III TÁCH MỘT QUAN HỆ Mô hình quan hệ Cold đƣa năm 1970 có nhiều ƣu điểm nhƣ: - Đơn giản 60 - Chặt chẽ - Trừu tƣợng hoá cao - Cung cấp ngôn ngữ truy cập liệu mức cao Tuy nhiên thiết kế sởliệu quan hệ thƣờng đòi hỏi phải chọn quan hệ để việc thiết kế bảo đảm tính chất hệ sởliệu là: - Không trùng lặp liệu - Tính quán liệu - Không gây dị thƣờng, thêm => Để giải vấn đề ta phải tách lƣợc đồ quan hệ thành nhiều lƣợc đồ Tách lƣợc đồ quan hệ Phép tách lƣợc đồ quan hệ U = A1A2A3 An việc thay lƣợc đồ quan hệ U tập lƣợc đồ U1, U2, , Un Ui U, i = n U = U1 U2 Un , U i < > U j với i < > j Ví dụ: Cho lƣợc đồ quan hệ r(MAHANG,MAKH_HANG, TENKH,DCKH,SOLUONG,DONGIA) Ta có phụ thuộc hàm: MAHANG, MAKH_HANGSOLUONG, DONGIA MAKH_HANGTENKH, DCKH Ta tách lƣợc đồ quan hệ thành hai quan hệ nhƣ sau: r1(MAHANG, MAKH_HANG, SOLUONG, DONGIA) r1 (MAKH_HANG, TENKH, DCKH) Việc phân lƣợc đồ quan hệ phụ thuộc vào tập phụ thuộc hàm xác định lƣợc đồ a Phép tách bảo toàn thông tin Cho lƣợc đồ quan hệ r F tập phụ thuộc hàm xác định r 61 Phép tách lƣợc đồ quan hệ r thành lƣợc đồ r1, r2, , rn dựa tập F gọi phép tách bảo toàn thông tin nếu: với quan hệ r r ta có r phép kết nối tự nhiên phép chiếu r lên ri: r(r) => r = R1(r) * R2(r) *R3(r) * Rn(r) b Kiểm tra phép tách bảo toàn thông tin Phƣơng pháp kiểm tra Tablean: Thuật toán: In put: Lƣợc đồ r = A1A2 An, tập F phụ thuộc hàm r phép tách p = { r1, r2, , rk} Out put: p có bảo toàn thông tin hay không? Method: - b1: Lập bảng gồm n cột k hàng, cột thứ j thuộc tính Aj r, hàng thứ i tƣơng ứng lƣợc đồ ri, vị trí hàng i cột j ta điền ký hiệu a j Aj ri, điền ký hiệu bij ri - b2: áp dụng quy trình thay bảng với f = XY F xét hàng có giá trị thuộc tính X làm thuộc tính Y theo nguyên tắc: hàng có giá trị aj thay giá trị aj, ngƣợc lại thay bij bij tuỳ ý Áp dụng việc thay không tạo đƣợc bảng hay có hàng toàn giá trị aj - b3: Nếu bảng sau tồn hàng toàn giá trị a j p bảo toàn thông tin, ngƣợc lại p không bảo toàn thông tin Ví dụ áp dụng thuật toán trên: Ví dụ 1: Cho r = ABCD, F= {AB, ACD} phân rã p={(AB), (ACD)} ta có: T1(R) A B C D 62 a1 a2 b13 b14 a1 b22 a3 a4 Với A B ta có T2(R) A B C D a1 a2 b13 b14 a1 a1 a3 a4 Ta thấy bảng T2(R) xuất hàng thứ toàn aj nên phép tách p bảo toàn thông tin Ví dụ 2: Cho r = ABCD, F= {AB, ACD} phân rã p={(AC), (BCD)} ta có: T1(R) A B C D a1 b12 a3 b14 b12 a2 a3 a4 B C D a1 b12 a3 b14 b21 a2 a3 a4 B C D a1 b12 a3 b14 b21 a2 a3 a4 Với A B ta có T2(R) A Với AC D ta có T3(R) A Ta thấy bảng T1(R) T2(R) T3(R) không xuất hàng toàn aj nên phép tách p không bảo toàn thông tin Trong trƣờng hợp p= {r1, r2}, nghĩa phép tách có hai lƣợc đồ Khi để kiểm tra phép tách có bảo toàn thông tin hay không ta sử dụng định lý sau: Định lý: 63 Phép phân r thành p = {r1(U1), r2(U2)} bảo toàn thông tin U1 U2U1 \ U2 hay U1 U2 U2 \ U1 Xét lại ví dụ trên: Cho r = ABCD, F= {AB, ACD} phân rã p={(AB), (ACD)}, ta ký hiệu U1 =AB U2 = ACD, ta có U1 U2 = A U1 \ U2 = B Vậy theo định lý phép tách p phép tách bảo toàn thông tin Chuẩn hoá lƣợc đồ quan hệ Khi thiết kế lƣợc đồ quan hệ phải tuân theo số nguyên tắc để thao tác sởliệu không dẫn đến dị thƣờng liệu Công việc thiết kế liệu theo dạng chuẩn gọi chuẩn hoá liệu a Một số định nghĩa + Thuộc tính khoá: Một thuộc tính lƣợc đồ quan hệ r(U) đƣợc gọi thuộc tính khoá thành phần khoá r Ngƣợc lại, đƣợc gọi thuộc tính không khoá + Phụ thuộc hàm đầy đủ: Cho lƣợc đồ quan hệ r(U), U tập thuộc tính, X Y hai tập khác U Y phụ thuộc hàm đầy đủ vào X Y phụ thuộc hàm vào X nhƣng không phụ thuộc hàm vào tập thực X + Phụ thuộc bắc cầu: Cho lƣợc đồ quan hệ r(U), U tập thuộc tính, X tập U A thuộc tính U A gọi phụ thuộc bắc cầu vào X r tồn tập Y U cho XY, YA, YX với A XY b Dạng chuẩn 1NF Định nghĩa: Một lƣợc đồ quan hệ r(U) đƣợc gọi dạng chuẩn 1NF toàn miền thuộc tính có mặt r chứa giá trị nguyên tố Ví dụ: Xét quan hệ HOADON(MH, MKH, SL, DG, TT) không chuẩn 1NF thuộc tính TT(Thành tiền) = SL*DG 64 c Dạng chuẩn 2NF Định nghĩa: Một lƣợc đồ quan hệ r(U) đƣợc gọi dạng chuẩn 2NF nếu: - Là dạng chuẩn 1NF - Mọi thuộc tính không khoá phụ thuộc đầy đủ vào khoá Ví dụ 1: Cho quan hệ SINHVIEN (HOCPHAN, MSSV, TEN, TUOI, DIACHI, DIEMTB) Có HOCPHAN, MSSV khóa, quan hệ không 2NF thuộc tính không khóa không phụ thuộc đầy đủ vào khóa Ví dụ 2: Cho quan hệ SINHVIEN (MSSV, TEN, TUOI, DIACHI) quan hệ DIEMTHI (MSSV, HOCPHAN, DIEMTB) Với khóa in đậm gạch chân quan hệ 2NF chúng 1NF thuộc tính không khoá phụ thuộc đầy đủ vào khoá d Dạng chuẩn NF Định nghĩa: Một lƣợc đồ quan hệ r(U) đƣợc gọi dạng chuẩn 3NF nếu: - Là dạng chuẩn 2NF - Mọi thuộc tính không khoá r không phụ thuộc bắc cầu vào khoá Ví dụ 1: Cho lƣợc đồ quan hệ r = BCIP với phụ thuộc hàm BI P B C Ta có BI khóa r, C thuộc tính không khóa: BI B B C, nhƣng không tồn C BI với C BI Vậy r không đạt chuẩn 3NF Ví dụ 2: Cho lƣợc đồ quan hệ r = ABCD với phụ thuộc hàm AD C BC A Ta có lƣợc đồ thuộc tính thuộc tính khóa nên lƣợc đồ quan hệ thỏa mãn chuẩn 3NF 65 e Dạng Chuẩn BC (Boyce Codd normal form) Định nghĩa: Một lƣợc đồ quan hệ R dạng chuẩn BC với phụ thuộc hàm không hiển nhiên X A F X siêu khoá R Nhận xét: Nếu R đạt chuẩn BC r đạt chuẩn Ví dụ Xác định dạng chuẩn lƣợc đồ quan hệ sau R(ACDEIB) F={ACDEBI; CE AD} TA Có R có hai khoá là: ACD CE Các phụ thuộc hàm F có vế trái siêu khoá, nên R đạt dạng chuẩn BC Định lý: Các lớp dạng chuẩn lƣợc đồ quan hệ có quan hệ lồng nhau: nghĩa 3NF 2NF 1NF lớp sau nằm trọn lớp trƣớc BCNF Ví dụ: Chẳng hạn cho lƣợc đồ quan hệ R(ABCD) F = [AB C, D B,C ABD] R đạt chuẩn 3NF nhƣng không BCNF Nếu F = [B D, A C, C ABD] R đạt dạng chuẩn 2NF nhƣng không chuẩn NF Chú ý: Dạng chuẩn lƣợc đồ sởliệu dạng chuẩn thấp lƣợc đồ quan hệ nghĩa lƣợc đồ sởliệu dạng chuẩn i lƣợc đồ dạng chuẩn i f Chuẩn hoá lựơc đồ sởliệu Thuật toán: Tách lƣợc đồ quan hệ thành nhiều lƣợc đồ bảo toàn thông tin dạng chuẩn NF In put: Lƣợc đồ quan hệ r(U), tập phụ thuộc hàm F 66 Out put: Phép tách không mát thông tin bảo toàn thông tin, lƣợc đồ 3NF Method: - Loại bỏ tất thuộc tính r thuộc tính không liên quan đến phụ thuộc hàm F - Nếu có phụ thuộc hàm F mà liên quan đến tất thuộc tính r kết r - Ngoài ra, phép tách r đƣa lƣợc đồ gồm thuộc tính XA cho phụ thuộc hàm XA F, nhiên XA1, XA2, XAn thay tập thuộc tính XA1A2 An cho Xai (i=1 n) Chú ý: Tại bƣớc kiểm tra lƣợc đồ r, thuộc tính không khoá, không phụ thuộc bắc cầu vào khoá chính, r 3NF, ngƣợc lại cần áp dụng bƣớc để tách tiếp CÂU HỎI VÀ BÀI TẬP Phụ thuộc hàm Trình bày tiên đề Armstrong hệ Phát biểu bao đóng tập thuộc tính Định nghĩa phủ tối thiếu Cho lƣợc đồ quan hệ r tập phụ thuộc hàm: F= {xyz, xyi, yzi, zg, gih} Hãy chứng minh rằng: xygh Cho lƣợc đồ quan hệ r tập phụ thuộc hàm: F={xyz, yd, dze, zegh, gx} Hãy chứng minh rằng: xye, xyg 67 Cho lƣợc đồ quan hệ S= , với U = {A,B,C,D} F= {ab, ac} Hãy tìm phụ thuộc hàm suy đƣợc từ quy tắc phụ thuộc hàm ràng buộc sau: a ad b cd c abb d bca e abc Cho quan hệ: SINHVIEN(MSV, TENSV, NGANHHOC, HOCPHAN, DTB) Quan hệ có phải dạng chuẩn không? không đƣa dạng chuẩn 1NF, 2NF, 3NF a Cho lƣợc đồ quan hệ r tập phụ thuộc hàm F= {AD, ABDE, CEG, EH} xác định r Tính AB+F b Cho lƣợc đồ quan hệ r tập phụ thuộc hàm F={ AD, ABE, BIE,CDI, EC} xác định r Tính AB+F 10 Cho lƣợc đồ quan hệ r tập phụ thuộc hàm F={ ABC, BD, CDE,CEGH, GA} xác định r Chứng minh ABE F+ AB G F+ 11 Cho tập phụ thuộc hàm F {AC, ABC, CDI, BCAB, EIC} xác định r Tìm phủ tối thiểu F 68 TÀI LIỆU THAM KHẢO [1] Nguyễn Thị Kim Anh Nguyên lý hệ sởliệu Nhà xuất ĐH Quốc gia Hà Nội [2] Vũ Đức Thi Cơsởliệu - Nhà xuất Thống kê, năm 1997 [3] URMan Bản dịch Cơsởliệu tập 1, 2, 3, Trần Đức Quang - Nhà xuất thông kê, năm 2000 [4] Tô Văn Nam, Giáotrìnhsởliệu - Vụ giáo dục chuyên nghiệp, Nhà XB Giáo dục 2004 [5] Đỗ Trung Tuấn Cơsởliệu - Nhà xuất Giáo dục, năm 2000 [6] Nguyễn Bá Tƣờng Cơsởliệu - Lý thuyết thực hành Nhà xuất Khoa học kỹ thuật, năm 2000 [7] Lê Mạnh Thạnh GiáotrìnhCơsở liệu, năm 2004 [8] Lê Tiến Vƣơng Nhập môn sởliệu quan hệ, Nhà xuất Thống kê, năm 2000 69 ... CƠ SỞ DỮ LIỆU I HỆ CƠ SỞ DỮ LIỆU Khái niệm Những khả hệ quản trị sở liệu Các mô hình liệu II KIẾN TRÚC CỦA MỘT HỆ CƠ SỞ DỮ LIỆU 10 Mức sở liệu. .. độc lập liệu, có ý nghĩa thiết kế liệu Trình bày mối quan hệ lƣợc đồ? Những khả hệ quản trị sở liệu gì? Trình bày mô hình sở liệu Mối quan hệ mức sở liệu gì? 14 CHƯƠNG MÔ HÌNH CƠ SỞ DỮ LIỆU I... trữ khác dùng để truy xuất liệu cách hiệu gọi sở liệu vật lý Cơ sở liệu vật lý tồn thƣờng xuyên thiết bị lƣu trữ nhƣ đĩa từ, băng từ Cơ sở liệu mức khái niệm Cơ sở liệu khái niệm trừu tƣợng hoá