1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình cơ sở dữ liệu

68 50 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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ÁO TRÌNH (Lƣu hành nội bộ) 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Ề SỞ DỮ LIỆU I HỆ 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Ệ SỞ DỮ LIỆU 10 Mức sở liệu vật lý 10 sở liệu mức khái niệm 11 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 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ỆU 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 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 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Ế 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áo trì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ệu Trì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ệu 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 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Ề SỞ DỮ LIỆU I HỆ SỞ DỮ LIỆU 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 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 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ệu 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ệu cố định - Khả truy xuất hiệu số lƣợng lớn liệu Khả thứ sở liệu tồn thƣờng xuyên, nội dung sở liệu liệ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ệu cố đị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 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 tính tự thích ứng, khả phục hồi lại liệu cố 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 tập tin (File) liên quan đến nhân viên Giả sử mẫu tin 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Ệ SỞ DỮ LIỆU Một hệ sở liệu đƣợc phân thành nhiều mức khác đƣợc thể theo đồ 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 nhiều mức trừu tƣợng Các mức trừu tƣợng đƣợc minh hoạ đồ 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ý sở liệu vật lý tồn thƣờng xuyên thiết bị lƣu trữ nhƣ đĩa từ, băng từ sở liệu mức khái niệm 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 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 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 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 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 XY, 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 XY 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 XY - XY phụ thuộc hàm r Ví dụ 1: Xét quan hệ Sinhvien, ta phụ thuộc hàm sau: MasvTensv, Masv Lop Ví dụ 2: Giả sử quan hệ r nhƣ sau: A B C D 0 0 1 1 55 1 Với quan hệ ta AC, 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 XY 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 XY đƣợc suy diễn logic từ F quan hệ r r(U) thoả phụ thuộc hàm F thoả XY, chẳng hạn F={AB, B C} AC 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, FF+, 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 XY A2 Tính tăng trƣởng: Nếu Z U, XY ZX ZY Trong ZX = Z  X A3 Tính bắc cầu: Nếu X Y Y Z XZ Ví dụ: Cho ABC, C A chứng minh BCABC Ta có: theo giả thiết CA nên BCAB (1) (tính tăng trƣởng, thêm B), mặt khác lại ABC (giả thiết) nên ABABC (2) (tính tăng trƣởng, thêm AB) Kết hợp (1) (2) ta BCABC (tính bắc cầu) Bổ đề 1: Hệ tiên đề Armstrong đầy đủ, nghĩa F tập phụ thuộc hàm quan hệ r f: XY 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 XY X Z XYZ A5 Tính tựa bắc cầu: Nếu XY WYZ XWZ A6 Tính tách: Nếu XY Z  Y XZ 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 XA 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 = WZ  F If W  X then X = X  Z - b3: Return(X) Ví dụ: Cho F ={AD, ABE, BIE,CDI, EC} X = AE, sau chạy thuật toán ta kết X+ =ACDEI Bổ đề XY 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={CE, AHB, BD,AD} 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 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 thuộc tính) - Không tồn f = X  A  F Z  X thoả F+ = (F\ {F} {ZA})+ - Không tồn f = XA  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 thuộc tính For  f  F f =X G= G  {XA, A  Y} - b2: loại bỏ phụ thuộc hàm không đầy đủ While  Z  X, Z X, GG\{f}  {ZA} -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= { ABC, CA, BCD, ACDB, DEG, BEC, CGBD, CEAG} Sau bƣớc ta có: G = { ABC, CA, BCD, ACDB, DE, DG, BEC, CGB, CGD, CEA, CEG} Sau bƣớc ta có: G = { ABC, CA, BCD, CDB, DE, DG, BEC, CGB, CGD, CEG} Sau bƣớc ta có: G = { ABC, CA, BCD, DE, DG, BEC, CGB, CEG} Sau bƣớc ta G phủ tối thiểu F III TÁCH MỘT QUAN HỆ Mô hình quan hệ Cold đƣa năm 1970 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 phụ thuộc hàm: MAHANG, MAKH_HANGSOLUONG, DONGIA MAKH_HANGTENKH, 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 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 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 = XY  F xét hàng giá trị thuộc tính X làm thuộc tính Y theo nguyên tắc: hàng 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 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= {AB, ACD} 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 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= {AB, ACD} 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 T2(R) A Với AC D ta 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 hai lƣợc đồ Khi để kiểm tra phép tách 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  U2U1 \ U2 hay U1  U2 U2 \ U1 Xét lại ví dụ trên: Cho r = ABCD, F= {AB, ACD} phân rã p={(AB), (ACD)}, ta ký hiệu U1 =AB U2 = ACD, ta 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 XY, YA, YX 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 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) 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 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 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={ACDEBI; CE AD} TA R hai khoá là: ACD CE Các phụ thuộc hàm F 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ệ 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 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 XA  F, nhiên XA1, XA2, XAn 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= {xyz, xyi, yzi, zg, gih} Hãy chứng minh rằng: xygh Cho lƣợc đồ quan hệ r tập phụ thuộc hàm: F={xyz, yd, dze, zegh, gx} Hãy chứng minh rằng: xye, xyg 67 Cho lƣợc đồ quan hệ S= , với U = {A,B,C,D} F= {ab, ac} 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 ad b cd c abb d bca e abc Cho quan hệ: SINHVIEN(MSV, TENSV, NGANHHOC, HOCPHAN, DTB) Quan hệ 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= {AD, ABDE, CEG, EH} xác định r Tính AB+F b Cho lƣợc đồ quan hệ r tập phụ thuộc hàm F={ AD, ABE, BIE,CDI, EC} xác định r Tính AB+F 10 Cho lƣợc đồ quan hệ r tập phụ thuộc hàm F={ ABC, BD, CDE,CEGH, GA} xác định r Chứng minh ABE  F+ AB G  F+ 11 Cho tập phụ thuộc hàm F {AC, ABC, CDI, BCAB, EIC} 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 sở liệu - Nhà xuất Thống kê, năm 1997 [3] URMan Bản dịch 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áo trình sở liệu - Vụ giáo dục chuyên nghiệp, Nhà XB Giáo dục 2004 [5] Đỗ Trung Tuấn sở liệu - Nhà xuất Giáo dục, năm 2000 [6] Nguyễn Bá Tƣờng 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áo trình 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á

Ngày đăng: 24/08/2017, 10:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w