1. Trang chủ
  2. » Giáo án - Bài giảng

Giao trinh csdl CƠ SỞ DỮ LIỆU DÀNH CHO SINH VIÊN CÔNG NGHỆ THÔNG TIN

109 7 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 109
Dung lượng 854,39 KB

Nội dung

TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA CÔNG NGHӊ THÔNG TIN GIÁO TRÌNH CƠ SỞ DỮ LIỆU Dành cho sinh viên ngành Công Nghệ Thông tin (Để đáp ӭng nhu cầu hӑc tập cӫa sinh viên chuyên ngành Công nghệ Thông tin, bài giảng Cѫ sӣ dữ liệu được biên soạn theo chưѫng trình hệ thống tín chỉ cӫa Trưӡng Đại hӑc Đà Lạt, cung cấp các kiến thӭc cѫ bản về lý thuyết cѫ sӣ dữ liệu)

NG Đ I H C ĐÀ L T TR KHOA CÔNG NGH THÔNG TIN CAO TH NH N NGUY N TH THANH BÌNH GIÁO TRÌNH C S D LI U Dành cho sinh viên ngành Công ngh Thông tin Đà L t 2010 Trang 1/109 L IM Đ U Để đáp ng nhu cầu h c tập c a sinh viên chuyên ngành Công nghệ Thông tin, giảng C s liệu biên soạn theo chư ng trình hệ thống tín c a Trư ng Đại h c Đà Lạt, cung cấp kiến th c c lý thuyết c s liệu Giáo trình gồm chư ng sau: Ch ng 1: giới thiệu chung Ch ng 2: trình bày mơ hình thực thể kết hợp E_R (Entity Relationship) để mơ hình hóa hoạt động giới thực, nhìn giới thực tập đối tượng g i thực thể, mối quan hệ đối tượng Mơ hình phát triển để làm thuận tiện cho việc thiết kế c s liệu cách đ c tả tổ ch c Ch ng 3: trình bày mơ hình liệu quan hệ, quy tắc chuyển đổi c s liệu biểu diễn dạng lược đồ E_R sang mô hình liệu quan Ch ng 4, 6: trình bày ngơn ngữ truy vấn c s liệu Trong chư ng trình bày ngơn ngữ đại số quan hệ, chư ng trình bày ngơn ngữ tân từ chư ng trình bày ngơn ngữ truy vấn SQL Ch ng 7: trình bày khái niệm liên quan đến phụ thuộc hàm, khóa, thuật tốn tìm ph tối thiểu c a tập phụ thuộc hàm, tìm khóa cuối chư ng trình bày ràng buộc toàn vẹn liệu Ch ng 8: Chư ng giới thiệu dạng chuẩn, phân rã bảo tồn thơng tin, bảo tồn phụ thuộc hàm, qua trình bày cách phân rã bảo tồn bảo tồn thơng tin bảo tồn phụ thuộc M c dù cố gắng trình biên soạn giảng chắn giảng nhiều thiếu sót hạn chế Rất mong nhận đóng góp ý kiến quý báu c a sinh viên bạn đ c để giáo trình ngày hoàn thiện h n Trang 2/109 M CL C Lời mở đầu Mục lục Ch ng 1: Gi i thi u chung Giới thiệu chung 1.1 Giới thiệu 1.2 Đ nh nghĩa CSDL 10 1.3 Các đối tượng sử dụng CSDL 11 1.4 Hệ quản tr CSDL 12 1.5 Các m c biểu diễn CSDL 12 1.6 S đồ tổng quát hệ quản tr CSDL 14 1.7 Tính độc lập liệu chư ng trình 15 Các cách tiếp cận c a CSDL 15 2.1 Cách tiếp cận theo mơ hình liệu mạng 16 2.2 Mơ hình liệu phân cấp 17 2.3 Mơ hình liệu quan hệ thực thể 18 2.4 Mơ hình liệu quan hệ 18 2.5 Mơ hình liệu hướng đối tượng 19 Bài tập 19 Ch ng 2: Mơ hình thực th kết h p 21 Mô hình thực thể kết hợp 21 1.1 Thực thể - tập thực thể 21 1.2 Thuộc tính 21 1.3 Mối kết hợp 22 1.4 Bản số 23 1.5 Khoá 24 Trang 3/109 1.6 Số chiều c a mối kết hợp 25 1.7 Tổng quát hóa chuyên biệt hóa 25 1.8 Tập thực thể yếu 26 Ví dụ 27 Bài tập 29 Ch ng 3: Mơ hình d li u quan h 30 Các khái niệm c 30 1.1 Thuộc tính 30 1.2 Quan hệ n 31 1.3 Bộ 31 1.4 Lược đồ quan hệ 32 1.5 Khóa c a quan hệ 33 1.6 Ràng buộc toàn vẹn 35 Các thao tác c quan hệ 35 2.1 Phép thêm 35 2.2 Phép xóa 36 2.3 Phép sửa 36 Các bước chuyển đổi từ mơ hình thực thể kết hợp sang mơ hình quan hệ 37 3.1 Biến tập thực thể chun biệt hóa dạng bình thư ng 37 3.2 Chuyển tất tập thực thể thành quan hệ 38 3.3 Mối kết hợp 39 3.4 Nhập tất quan hệ có khóa 39 Ch ng 4: Ngôn ng đ i số quan h 40 Trang 4/109 Các phép toán c s 40 1.1 Các phép toán tập hợp 40 1.2 Các phép toán quan hệ 41 Các phép toán khác 46 2.1 Phép kết hai quan hệ 46 2.2 Phép kết nối nội 47 2.3 Phép kết nối trái 48 2.4 Phép kết nối phải 49 2.5 Hàm kết hợp gom nhóm 49 2.6 Các phép toán cập nhật quan hệ 50 Bài tập 52 Ch ng 5: Ngôn ng tân từ 55 Ngơn ngữ tân từ có biến 55 1.1 Một số khái niệm 55 1.2 Đ nh nghĩa hình th c c a phép tính 55 1.3 Lượng từ tồn ∃ với m i ∀ 57 Ngôn ngữ tân từ có biến miền giá tr 58 Bài tập 59 Ch ng 6: Ngôn ng truy v n SQL 61 Các lệnh hỏi 61 1.1 Cú pháp lệnh truy vấn 61 1.2 Phép chiếu 62 1.3 Phép ch n 62 1.4 Phép kết 63 Trang 5/109 1.5 Một số lưu ý 63 Truy vấn lồng 65 Hàm kết hợp gom nhóm 68 Các lệnh khai báo cấu trúc CSDL 69 Các thao tác cập nhật liệu 72 Bài tập 73 Ch ng 7: Ph thuộc hàm, khóa, ràng buộc tồn vẹn 74 Phụ thuộc hàm 74 1.1 Khái niệm phụ thuộc hàm 74 1.2 Hệ luật dẫn Amstrong 75 1.3 Thuật tốn tìm bao đóng c a tập thuộc tính 77 1.4 Bài toán thành viên 78 1.5 Ph tối thiểu c a tập phụ thuộc hàm 78 Khóa 82 2.1 Đ nh nghĩa 82 2.2 Thuật tốn tìm khóa 82 Ràng buộc toàn vẹn 85 3.1 Đ nh nghĩa – yếu tố c a ràng buộc toàn vẹn 85 3.2 Các loại ràng buộc toàn vẹn 87 Ch Bài tập 93 ng 8: D ng chuẩn chuẩn hóa CSDL 96 Dạng chuẩn c a lược đồ quan hệ 96 1.1 Dạng chuẩn 96 1.2 Dạng chuẩn 97 1.3 Dạng chuẩn 100 Trang 6/109 1.4 Dạng chuẩn BC 101 1.5 Kiểm tra dạng chuẩn 101 Phép phân rã 102 2.1 Phân rã bảo tồn thơng tin 102 2.2 Phân rã bảo toàn phụ thuộc hàm 103 3.1 Thiết kế CSDL cách phân rã 104 Phân rã thành dạng chuẩn BC (ho c dạng chuẩn 3) bảo tồn thơng tin 104 3.2 Phân rã thành dạng chuẩn vừa bảo tồn thơng tin vừa bảo toàn phụ thuộc hàm 108 Bài tập 108 Tài liệu tham khảo 109 Trang 7/109 Chương Giới Thiệu Chung Chư ng giới thiệu cho h c viên khái niệm c c s liệu (CSDL) hệ quản tr CSDL Gi i thi u chung 1.1 Gi i thi u Xét hệ thống tập tin cổ điển: tổ ch c cách riêng rẽ, phục vụ cho mục đích c a đ n v hay đ n v trực thuộc cụ thể ng dụng hệ quản lý nhân c a công ty Tại công ty trang b máy vi tính cho tất phịng ban Trong đó: • Phịng Tổ ch c lưu giữ thông tin lý l ch c a nhân viên h tên, bí danh, giới tính, ngày sinh, ngày vào đoàn, ngày vào đảng, ngày tuyển dụng, hệ số lư ng, hệ số phụ cấp, hồn cảnh gia đình … Phần mềm sử dụng để quản lý Microsoft Access • Phịng Tài vụ lưu giữ thơng tin h tên, hệ số lư ng, hệ số phụ cấp, đ n v … để tính tốn lư ng phụ cấp dựa danh sách phòng tổ ch c g i sang Các bảng tính làm b i Microsoft Excel • Bộ phận Văn thư sử dụng Microsoft word để thảo văn báo cáo tình hình c a đ n v có nêu tổng số cơng nhân viên trình độ chun mơn đào tạo • Trong tổng cơng ty phịng ban trang b máy vi tính quản lý thông tin c a cán ch chốt c a cơng ty giám đốc, phó giám đốc, trư ng phó phịng Việc phát triển c a hệ thống quản lý sau: • Những chư ng trình ng dụng phải viết nhu cầu nảy sinh • Các tập tin thư ng trực tạo theo yêu cầu • Trong th i gian dài tập tin dạng th c khác • Những chư ng trình ng dụng viết b i ngơn ngữ khác Trang 8/109 u m: • Việc xây dựng hệ thống tập tin riêng lẽ đ n v quản lý tốn th i gian b i lượng thông tin cần quản lý khai thác nhỏ, khơng địi hỏi đầu tư nhiều nên triển khai nhanh • Thơng tin khai thác phục vụ cho mục đích hẹp nên khả đáp ng nhanh chóng, k p th i H n chế: Do thơng tin tổ ch c phịng ban khác (thông tin công cụ triển khai) nên rõ ràng phối hợp m t tổ ch c khai thác phịng ban khó khăn Thơng tin phịng ban khơng sử dụng cho phịng ban khác, công ty với tổng công ty H n thông tin cập nhật vào máy nhiều n i khác Do có hạn chế sau: • D li u d thừa không nh t quán Những thông tin giống b trùng lắp số n i Tất liệu khơng cập nhật • Khó khăn vi c truy xu t d li u Có thể phải viết trình ng dụng thỏa yêu cầu đ t Có thể tạo liệu cách th công th i gian • Khó khăn viết ch nhiều đ n v Dữ liệu Dữ liệu ng trình ứng d ng địi hỏi thơng tin liên quan đến tập tin khác dạng th c khác Ngồi cịn số vấn đề chưa giải như: • Nhiều ng i s d ng Muốn th i gian trả l i nhanh h n cho tác vụ đồng th i Cần bảo vệ cập nhật đồng th i • Các v n đề b o mật Mỗi ngư i sử dụng hệ thống truy xuất liệu mà h phép thấy Trang 9/109 Chẳng hạn ngư i tính lư ng phụ cấp giải mẫu tin nhân viên, thấy thông tin lý l ch nhân viên; th quỹ truy xuất liệu khoản chi… Khó khăn để ràng buộc điều chư ng trình ng dụng • Các v n đề tồn vẹn Dữ liệu yêu cầu thỏa mãn ràng buộc Chẳng hạn nhân viên hư ng chế độ phịng tổ ch c khơng hư ng chế độ trợ cấp cao c a phịng cơng đồn Với cách tiếp cận xử lý-tập tin, khó khăn để thực ho c thay đổi ràng buộc • Khó khăn nâng c p h thống Do hệ thống tổ ch c thành tập tin riêng lẽ nên thiếu chia xẻ thông tin phịng ban Bên cạnh việc kết nối hệ thống với hay nâng cấp ng dụng g p nhiều khó khăn Những nhược điểm dẫn tới việc phát triển hệ thống quản tr c s liệu 1.2 Đ nh nghĩa c s d li u C s liệu (database) hệ thống thơng tin có cấu trúc lưu trữ thiết b lưu trữ th cấp (băng từ, đĩa từ…) nhằm thoả mãn yêu cầu khai thác thông tin đồng th i c a nhiều ngư i sử dụng hay nhiều chư ng trình ng dụng với nhiều mục đích khác u m CSDL: • Giảm trùng lắp thơng tin xuống m c thấp bảo đảm tính qn tồn vẹn liệu • Dữ liệu truy xuất theo nhiều cách khác • Khả chia xẻ thơng tin cho nhiều ngư i sử dụng nhiều ng dụng khác Để đạt ưu điểm CSDL đ t vấn đề cần giải quyết, là: • Tính chủ quyền d li u Do chia xẻ c a CSDL nên tính ch quyền c a liệu b lu m i làm m nhạt tinh thần trách nhiệm, thể vấn đề an toàn liệu, khả biểu diễn mối liên hệ ngữ nghĩa c a liệu tính xác c a liệu Nghĩa ngư i khai thác CSDL phải có nghĩa vụ cập nhật thông tin c a CSDL Trang 10/109 Chương Dạng chuẩn chuẩn hóa sở liệu Chư ng giới thiệu dạng chuẩn, phân rã bảo tồn thơng tin, bảo tồn phụ thuộc hàm, qua trình bày cách phân rã bảo tồn bảo tồn thơng tin bảo tồn phụ thuộc D ng chuẩn l c đồ quan h Để dễ dàng trình bày dạng chuẩn, cần nắm rõ khái niệm: Thuộc tính khố: Cho lược đồ quan hệ Q( A1 , A2 , , An ) , thuộc tính B gọi thuộc tính khố B thuộc tính thành phần khố Q, ngược lại B gọi thuộc tính khơng khố Ví dụ: R(A, B, C, D), F={ABỈC, BỈD, BCỈA} Trong ví dụ trên, lược đồ R có khố AB, BC Khi A, B, C thuộc tính khố, D thuộc tính khơng khố Giá tr ngun tố Giá trị ngun tố giá trị khơng phân nhỏ Ví dụ: Giá tr ChiTietMua: “Bánh Orion gói, Kẹo mút cây” khơng phải giá tr ngun tố phân thành: tên hàng, số lượng, đ n v tính 1.1 D ng chuẩn Lược đồ Q dạng chuẩn m i thuộc tính mang giá tr nguyên tố Trong toán xét dạng chuẩn, dạng chuẩn thấp dạng chuẩn Ví dụ Cho lược đồ HOADON(MaHD, MaKH, NgayHD, CtietMua, SoTien), sau Trang 95/109 MaHD MaKH NgayHD HD01 KH01 15-10-05 CtietMua SoTien Tên hàng Số lượng ĐVT Bánh Orion Gói 25.000 Kẹo mút Cây 2.000 HD02 KH01 18-10-05 Gạo Kg 30.000 HD03 KH02 24-10-05 Đư ng Kg 15.000 Bánh AFC Gói 24.000 Nhận thấy CTiếtMua không mang giá tr nguyên tố, HOADON khơng đạt dạng chuẩn 1.2 D ng chuẩn 1.2.1 Đ nh nghĩa Lược đồ Q dạng chuẩn thoả: (1) Q đạt dạng chuẩn (2) M i thuộc tính khơng khóa c a Q phụ thuộc đầy đ vào khóa 1.2.2 Ki m tra d ng chuẩn Để kiểm tra dạng chuẩn thực hiện: Bước 1: Tìm m i khóa c a Q Bước 2: Với khóa K, tìm bao đóng c a tập tất tập thực Si c a K Bước 3: Nếu tồn bao đóng Si+ ch a thuộc tính khơng khóa Q không đạt dạng chuẩn 2, ngược lại Q đạt dạng chuẩn Ví dụ Cho Q1 (A, B, C, D), F={B, BỈDC} Lược đồ có khóa A, nên m i thuộc tính phụ thuộc đầy đ vào khóa Do Q1 đạt dạng chuẩn Ví dụ Cho Q2 (A, B, C, D), F={ABỈD, CỈD} Lược đồ có khóa ABC, ngồi cịn có C⊂ABC mà CỈD, D thuộc tính khơng khóa (nghĩa thuộc tính D khơng phụ thuộc đầy đ vào khóa) Do Q2 khơng đạt dạng chuẩn Trang 96/109 Ví dụ 3: Xem ví dụ đ n giản CSDL gồm quan hệ MONHOC, SINHVIEN sau: MONHOC (MaMH, TenMH, STC, Loai) Tân từ: Mỗi mơn h c có mã mơn h c (MaMH) để phân biệt với môn h c khác, có tên mơn h c (TenMH), số tín (STC), loại bắt buộc hay tự ch n (Loai) MaMH TenMH STC Loai CT101 Nhập môn tin h c BB CT102 TH kỹ máy tính BB TN311 Xác suất thống kê BB CT103 Thiết kế Web TC CT110 Nguyên lý lập trình BB SINHVIEN (MSSV, MaMH, TenSV, DiaChi, Diem) Tân từ: Mỗi sinh viên (MSSV) thi môn h c (MaMH) ghi nhận lại điểm (Diem), ngồi cịn có thơng tin liên quan đến sinh viên h tên (TenSV), đ a (DiaChi) MSSV MaMH TenSV DiaChi Diem 0310677 CT101 Nguyễn Th Hoa 11 Nguyễn Công Tr , Đà Lạt 0310678 CT101 Trần Hoàng 20 Bùi Th Xuân, Đà Lạt 0310679 CT101 Lê Thanh S n Nhà Chung, Đà Lạt 0310677 CT102 Nguyễn Th Hoa 11 Nguyễn Công Tr , Đà Lạt 0310678 CT102 Trần Hoàng 20 Bùi Th Xuân, Đà Lạt 0310678 TN311 Trần Hoàng 20 Bùi Th Xuân, Đà Lạt 0310679 TN311 Lê Thanh S n Nhà Chung, Đà Lạt 0310677 CT103 Nguyễn Th Hoa 11 Nguyễn Công Tr , Đà Lạt 0310678 CT103 Trần Hoàng 20 Bùi Th Xuân, Đà Lạt Trang 97/109 0310000 CT110 Nguyễn Ng c Lê Hồng Phong, Đà Lạt quan hệ SINHVIEN nhận thấy phụ thuộc: MSSV, MaMH Ỉ Diem MSSVỈTenSV, DiaChi Vậy quan hệ SINHVIEN khơng đạt dạng chuẩn thuộc tính TenSV, DiaChi thuộc tính khơng khố phụ thuộc vào MSSV: không phụ thuộc đầy đ vào khố Trong q trình cập nhật lưu trữ liệu xuất vấn đề sau: • quan hệ SINHVIEN, việc lưu trữ thông tin sinh viên b l p lại (tên, đ a chỉ) • Q trình cập nhật: o Sửa đổi: Khi cần sửa đổi đ a c a sinh viên (ví dụ Nguyễn Th Hoa) cần phải sửa đổi lần trùng lắp thông tin, h n nữa, sửa đổi thông tin c a sinh viên lại không liên quan đến thông tin thi cử o Thêm: Nếu chèn thêm vào quan hệ SINHVIEN mà sinh viên chưa thi mơn khơng khố MSSV, MaMH khơng đầy đ Vấn đề khắc phục loại bỏ thông tin kết thi cử khỏi quan hệ o Xố: Giả sử cần xóa bỏ mơn CT110 mà danh sách sinh viên giữ nguyên Khi xóa {‘CT110’, ‘Ngun lý lập trình 2’, 5, ‘BB’} quan hệ MONHOC xoá {‘0310000’, ‘CT110’, ‘Nguyễn Ng c’, ‘1 Lê Hồng Phong, Đà Lạt’, 9} quan hệ SINHVIEN Khi thơng tin sinh viên b Để khắc phục bất lợi trên, quan hệ SINHVIEN tách thành quan hệ SINHVIEN (MSSV, TenSV, DiaChi) KETQUATHI (MSSV, MaMH, Diem) Như vậy, quan hệ dạng chuẩn th Trang 98/109 1.3 D ng chuẩn 1.3.1 Đ nh nghĩa Đ nh nghĩa Với lược đồ Q; X, Y hai tập c a Q+; A thuộc tính Khi A g i phụ thuộc bắc cầu vào X thỏa: (1) XỈY, A (2) Y X (3) A ∉ XY Lược đồ Q vào khóa dạng chuẩn m i thuộc tính khơng khóa khơng phụ thuộc bắc cầu Việc kiểm tra dạng chuẩn theo đ nh nghĩa khó cài đ t Ta thực kiểm tra dạng chuẩn theo đ nh nghĩa sau: Đ nh nghĩa Lược đồ Q dạng chuẩn m i phụ thuộc hàm XỈA∈F+, với A ∉ X có: (1) X siêu khóa, ho c (2) A thuộc tính khóa 1.3.2 Ki m tra d ng chuẩn Từ đ nh nghĩa 2, để kiểm tra dạng chuẩn thực bước sau: Bước 1: Tìm m i khóa c a Q Bước 2: Phân rã vế phải c a m i phụ thuộc hàm F để tập F tr thành tập phụ thuộc hàm có vế phải thuộc tính Bước 3: Nếu m i phụ thuộc hàm XỈA ∈F, mà A ∉ X thỏa (1) X siêu khóa (vế trái ch a khóa), ho c (2) A thuộc tính khóa (vế phải tập c a khóa) Q đạt dạng chuẩn 3, ngược lại Q khơng đạt dạng chuẩn Ví d Cho Q (A, B, C, D), F={ABỈD, CỈD} Bước 1: Q có khóa ABC Trang 99/109 Bước 2: M i phụ thuộc hàm F có vế phải thuộc tính Bước 3: Với ABỈD, nhận thấy D ∉ ABC có • Vế trái (AB) khơng phải siêu khóa • H n vế phải (D) khơng thuộc tính khóa Vậy Q không đạt dạng chuẩn 1.4 D ng chuẩn BC (Boyce Codd) 1.4.1 Đ nh nghĩa Lược đồ Q siêu khóa dạng chuẩn BC m i phụ thuộc hàm XỈA∈F+, với A ∉ X có X 1.4.2 Ki m tra d ng chuẩn BC Từ đ nh nghĩa, để kiểm tra dạng chuẩn BC thực bước sau: Bước 1: Tìm m i khóa c a Q Bước 2: Phân rã vế phải c a m i phụ thuộc hàm F để tập F tr thành tập phụ thuộc hàm có vế phải thuộc tính Bước 3: Nếu m i phụ thuộc hàm XỈA ∈F, mà A ∉ X thỏa X siêu khóa (vế trái ch a khóa), Q đạt dạng chuẩn BC, ngược lại Q không đạt dạng chuẩn BC Ví d Cho Q (A, B, C, D, E, I), F={ACDỈEBI, CAD} Bước 1: Q có hai khóa {ACD, CE} Bước 2: Phân rã vế phải c a phụ thuộc hàm F, ta có: F={ACDỈE, ACDỈB, ACDỈI, CA, CD} Bước 3: M i phụ thuộc hàm F có vế trái siêu khóa Vậy Q đạt dạng chuẩn BC 1.5 Ki m tra d ng chuẩn Ki m tra d ng chuẩn l c đồ quan h Q Bước 1: Tìm m i khóa c a Q Bước 2: Kiểm tra dạng chuẩn BC, Q đạt dạng chuẩn BC, Trang 100/109 ngược lại qua bước Bước 3: Kiểm tra dạng chuẩn 3, Q đạt dạng chuẩn 3, ngược lại qua bước Bước 4: Kiểm tra dạng chuẩn 2, Q đạt dạng chuẩn 2, ngược lại Q đạt dạng chuẩn Ki m tra d ng chuẩn l c đồ CSDL Dạng chuẩn c a lược đồ CSDL dạng chuẩn thấp dạng chuẩn c a lược đồ quan hệ Phép phân rã Mục tiêu c a việc thiết kế CSDL quan hệ tạo tập lược đồ quan hệ cho phép lưu trữ thơng tin khơng có dư thừa khơng cần thiết truy tìm thơng tin cách dễ dàng, xác Việc phân rã lược đồ thành lược đồ mong muốn đạt bảo tồn thơng tin bảo tồn phụ thuộc 2.1 Phân rã b o tồn thơng tin Cho lược đồ quan hệ Q (TenNCC, DiaChiNCC, SanPham, DonGia) Phân rã Q thành Q1 Q2 sau: Q1 (TenNCC, SanPham, DonGia) Q2 (TenNCC, DiaChiNCC) Khi ta sau: Q Q1 TenNCC DiaChiNCC SanPham DonGia Nguyễn Mai 10 Nguyễn Công Tr Bánh xốp 10.000 Nguyễn Mai 10 Nguyễn Công Tr Kẹo mè 20.000 Nguyễn Mai 20 Nguyễn Văn Trỗi Kẹo mè 20.000 TenNCC SanPham DonGia Nguyễn Mai Bánh xốp 10.000 Trang 101/109 Q2 Nguyễn Mai Kẹo mè TenNCC DiaChiNCC Nguyễn Mai 10 Nguyễn Công Tr Nguyễn Mai 20 Nguyễn Văn Trỗi Q1 >< Q 20.000 TenNCC DiaChiNCC SanPham DonGia Nguyễn Mai 10 Tr Nguyễn Công Bánh xốp 10.000 Nguyễn Mai 10 Tr Nguyễn Công Kẹo mè 20.000 Nguyễn Mai 20 Nguyễn Văn Trỗi Bánh xốp 10.000 Nguyễn Mai 20 Nguyễn Văn Trỗi Kẹo mè 20.000 Như kết thể Q Q1 >< Q khác nhau, ta nói phép phân rã g i khơng bảo tồn thơng tin (mất mát thông tin) Đ nh nghĩa Q lược đồ quan hệ, Q1, Q2 hai lược đồ có: Q1+ ∩ Q2+ = X Q1+ ∪ Q2+ = Q + Khi Q phân rã thành hai lược đồ Q1, Q2 phép phân rã bảo tồn thơng tin với r thể c a Q ta có: r = r.Q1 >< r.Q2 (r kết c a phép kết tự nhiên c a hình chiếu c a Q1, Q2) 2.2 Phân rã b o toàn ph thuộc hàm Một vấn đề cần quan tâm phân rã lược đồ Q thành lược đồ Qi với tập Fi tư ng ng tính từ tập phụ thuộc hàm F Phép phân rã bảo toàn phụ thuộc (giữ lại Trang 102/109 phụ thuộc) với ri thể c a Qi thoả điều kiện: ri thoả phụ thuộc hàm XỈY ∈F+ với XY⊆Qi+ Đ nh nghĩa G i Q1, Q2,…, Qn phân rã c a lược đồ quan hệ Q, tập phụ thuộc hàm F Q Hình chiếu c a F tập thuộc tính Qi+ ký hiệu ΠQi+(F) tập phụ thuộc hàm XỈY ∈F+ với XY⊆Qi+ ΠQi+(F) = Fi+={XỈY | XỈY ∈F+ XY⊆Qi+ } Khi phân rã bảo tồn tập phụ thuộc hàm F F ≡ ∪ ΠQi+(F) Thiết kế CSDL cách phân rã 3.1 Phân rã thành d ng chuẩn BC (hoặc d ng chuẩn 3) b o tồn thơng tin 3.1.1 Thuật tốn Bước 1: Tìm tất khóa c a Q Bước 2: Tìm phụ thuộc hàm XỈY ∈F có X khơng siêu khóa Y khơng ch a thuộc tính khóa • Nếu tìm thấy tách Q thành Q1 Q2 theo cách: o Q1 = Q[XY]; F1 ≡ ΠQ1(F) (tìm bao đóng c a tất tập c a XY để tính F1) Tiếp tục phân rã (Q1, F1) o Q2 = Q[Q+ - Y]; F2 ≡ ΠQ2(F) (tìm bao đóng c a tất tập c a (Q+ - Y) để tính F2) Tiếp tục phân rã (Q2, F2) • Nếu khơng tìm thấy xét dạng chuẩn Qi: o Nếu m i phụ thuộc hàm Fi có vế trái siêu khóa Qi đạt dạng chuẩn BC o Nếu có phụ thuộc hàm Fi có vế trái khơng siêu khóa vế phải thuộc tính khóa Qi đạt dạng chuẩn 3.1.2 Ví d Ví d Cho Q (SDIM), F={SIỈD, SDỈM} Trang 103/109 Bước 1: Q có khóa {SI} Bước 2: Phụ thuộc hàm SDỈM có SD khơng siêu khóa nên tách: Q1 = (SDM); F1 = {SDỈM} Q2 = (SDI); F2 = {SIỈD} Để tìm tập phụ thuộc hàm F1, F2 cần tính bao đóng c a m i tập Tìm F1: với Q1 = (SDM): bao đóng c a m i tập S F+ = S DF+ = D M F+ = M SDF+ = SDM SM F+ = SM DM F+ = DM SDM F+ = SDM F1 = ΠQ1(F) = {SDỈM, SDỈSM, SDỈDM, SDỈSDM } ⇒ F1 = {SDỈM} Tìm F2: với Q2= (SDI): bao đóng c a m i tập S F+ = S DF+ = D I F+ = I SDF+ = SDM SI F+ = SIDM DI F+ = DI SDI F+ = SDIM Trang 104/109 F2 = ΠQ2(F) = {SIỈD, SIỈSD, SIỈDI, SIỈSDI } ⇒ F2 = {SIỈD} Bước 3: M i phụ thuộc hàm F1và F2 có vế trái siêu khóa nên Q1 Q2 đạt dạng chuẩn BC Ví d Cho Q (ABCDE), F = {BCỈA, CỈD, AB, BỈD, BỈE} Bước 1: khóa {CB, CAE} Bc 2: T Cặ D tỏch thnh: ã Q1(CD), F1= {CặD}, Khúa C t dng chun BC ã Q2(CABE), F2= {BỈE, CBỈA, AB} Chi tiết tính F1, F2 sau: Tìm F1: với Q1 = (CD) C F+ = CD DF+ = D CD F+ = CD Vậy F1 = {CỈD} Tìm F2: với Q2(CABE): C F+ = CD AF+ = A B F+ = BDE E F+ = E CAF+ = CAD CB F+ = CBADE CE F+ = CED Trang 105/109 ABF+ = ABDE AE F+ = AEBD BE F+ = BED CAB F+ = CABDE CAE F+ = CAEBD CBE F+ = CBEAD ABE F+ = ABED CABE F+ = CABED F2= {BỈE, CBỈAE, ABỈE, AB, CABỈE, CAB, CBA} Vậy F2= {BỈE, CBỈA, AB} Xét dạng chuẩn Q2: Khoá Q2: {CB, CAE} Vậy Q2 đạt dạng chuẩn 3.1.3 C i tiến thuật toán Nhận thấy tìm phụ thuộc hàm hình chiếu Qi, xét tập Xi, ( X i )+F = Q + , tiếp tục xét tập Xj : Xi ⊂ Xj , hiển nhiên (X j )+F = Q + , cuối phụ thuộc hàm có vế trái Xj b loại để ch n phụ thuộc hàm có vế trái Xi Do đó, tìm phụ thuộc hàm hình chiếu Qi, xét tập Xi, ( X i )+F = Q + , thực loại bỏ tính tốn cho trư ng hợp Xj : Xi ⊂ Xj Ví d : với tìm F2 ví dụ trên: Q2(CABE), F = {BCỈA, CỈD, AB, BỈD, BỈE} C F+ = CD AF+ = A B F+ = BDE E F+ = E Trang 106/109 CAF+ = CAD CB F+ = CBADE , loại tập CAB, CBE, CABE CE F+ = CED ABF+ = ABDE AE F+ = AEBD BE F+ = BED ABE F+ = ABED F2= {BỈE, CBỈAE, ABỈE, AB} Vậy F2= {BỈE, CBỈA, AB} 3.2 Phân rã thành d ng chuẩn vừa b o tồn thơng tin vừa b o tồn ph thuộc hàm Bước 1: Tìm ph tối thiểu c a F Bước 2: Loại bỏ tất thuộc tính c a Q khơng liên quan đến phụ thuộc hàm c a PTT(F) Bước 3: Nếu có phụ thuộc hàm PTT(F) liên quan đến m i thuộc tính c a Q khơng thể phân rã Ngược lại, qua bước Bước 4: Gom nhóm phụ thuộc hàm có vế trái Với nhóm phụ thuộc hàm có vế trái, tạo thành lược đồ Bước 5: Kiểm tra lược đồ có thoả dạng chuẩn chưa, chưa áp dụng bước để phân rã tiếp Ví d Cho Q (CTHRSG), F={CỈT, HRỈC, HTỈR, CSỈG, HSỈR} PTT(F) = F = {CỈT, HRỈC, HTỈR, CSỈG, HSỈR} Ta có kết phân rã Q1(CT), Q2(HRC), Q3(HTR), Q4(CSG), Q5(HRS) Bài tập Bài tập 7, 8, chư ng 7, với yêu cầu: - Phân rã thành dạng chuẩn BC ho c dạng chuẩn bảo tồn thơng tin Trang 107/109 - Phân rã thành dạng chuẩn bảo tồn thơng tin bảo toàn phụ thuộc hàm Trang 108/109 Tài Liệu Tham Khảo Bài giảng C s liệu, Nguyễn Hữu Tân, Đại H c Đà Lạt, 2004 Bài tập c s liệu, Nguyễn Xuân Huy – Lê Hoài Bắc, NXB thống kê, 2003 Giáo trình C s liệu, Nguyễn Đăng Tỵ - Đỗ Phúc, Đại H c Quốc gia Tp Hồ Chí Minh, 2001 Nhập mơn C s liệu quan hệ, Lê Tiến Vư ng, NXB Khoa h c Kỹ thuật, 1994 David Maier, The theory of Relational Databases, Computer Science Press, Rockville, 1983 Trang 109/109

Ngày đăng: 16/11/2023, 15:47

w