Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 109 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
109
Dung lượng
5,73 MB
Nội dung
TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA CÔNG NGHỆ THÔNG TIN CAO THỊ NHẠN NGUYỀN THỊ THANH BÌNH GIÁO TRÌNH 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ỜI MỞ ĐẦU Đẻ đáp ứng nhu cầu học tập sinh viên chuyên ngành Công nghệ Thông tin, giảng Cơ sờ dừ liệu biên soạn theo chương trinh hệ thống tín chi cùa Trường Đại học Đà Lạt, cưng cấp kiến thức bân lý thuyết sở dừ liệu Giáo trinh gồm chương san: 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 bàn gọi thực thể, mối quan hệ giừa đối tượng Mơ hình phát triển để làm thuận tiện cho việc thiết kế sờ dừ liệu cách đặc tả tổ chức Chương 3: trình bày mơ hình dìr liệu quan hệ, quy tắc chuyển đổi sở dừ liệu biểu diễn dạng lược đồ E_R sang mơ hình dừ liệu quan Chương 4, 6: trình bày ngôn ngừ truy vấn sờ dừ 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 hr 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 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 dừ 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 trinh biên soạn giâng chắn giảng sè cịn nhiều thiếu sót hạn chế Rất mong nhận đóng góp ý kiến quý báu sinh viên bạn đọc để giáo trinh ngày hoàn thiện Trang 2/109 MỤC LỤ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 giừa dir liệu chương trình 15 Các cách tiếp cận CSDL 15 2.1 Cách tiếp cận theo mơ hình dừ liệu mạng 16 2.2 Mơ hình dừ liệu phân cấp 17 2.3 Mơ hình dừ liệuquan hệ thực thể 18 2.4 Mơ hình dừ liệuquan hệ 18 2.5 Mơ hình dừ liệuhướ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ựcthể 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 Klioá 24 Trang 3/109 1.6 Số chiều 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 liệu quan hệ 30 Các khái niệm bàn 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 quan hệ 33 1.6 Ràng buộc toàn vẹn 35 Các thao tác bàn 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 hr 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 cà 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 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 phép tính 55 1.3 Lượng từ tồn với V 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ộtsốhniý 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 dừ 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 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 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ố ràng buộc toàn vẹn 85 3.2 Các loại ràng buộctoàn vẹn 87 Bài tập 93 Chương 8: Dạng chuẩn chuân hóa CSDL 96 Dạng chuẩn hrợ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 toà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 tồn phụ thuộc hàm 108 Bài tập 108 Tài liệu tham klìâ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 bàn sở dừ 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 đơn vị hay đơn vị tiự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íiili cho tất phịng ban Trong đó: • Phịng Tổ chức lưu giừ thông tin lý lịch 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, hoàn cành gia đình Phần mềm sử dụng để quân lý Microsoft Access • Phịng Tài vụ hru giừ nliừng 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àn báo cáo tinh 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 qn 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 tiực tạo theo yêu cầu • Trong thời gian dài tập tin dạng thức khác • Nliừng chương trinh ứng dụng có thề viết bời ngơn ngừ khác Trang 8/109 ưu điêm: • Việc xây dựng nliừng hệ thống tập tin riêng lè đơn vị quàn lý tốn thời gian bời hrợng thông tin cần quân lý khai thác nhị, khơng địi hỏi đầu tu nhiều nên triển khai nhanh • Thơng tin đuợc khai thác chi 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 đuợc tồ chiic phịng ban khác (thơng tin cơng cụ triển khai) nên rị ràng sụ 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 đuợc sử dụng cho phịng ban khác, công ty với tổng công ty Hơn thông tin đuợc 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 quán V Nhùng thơng tin giống bị trùng lắp số nơi V Tất cã bàn dừ liệu khơng cập nhật • Khó khăn việc truy xuất liệu V Có thể phâi viết trình ứng dụng thỏa yêu cầu đặt V Có thể tạo dừ liệu cách thủ công thời gian • Khó khăn viết chương trình ứng dụng địi hỏi thông tin liên quan đến nhiều đơn vị V Dừ liệu nliừng tập tin khác V Dừ liệu 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 V Muốn thời gian trả lời nhanh cho tác vụ đồng thời V Cần bào vệ nliừng cập nhật đồng thời • Các vấn đề bảo mật V Mỗi người sừ dụng hệ thống chi truy xuất dừ liệu mà họ phép thấy Trang 9/109 J Chẳng hạn người tính lương phụ cấp chi giãi qưyết mẫu tin nhân viên, thấy thông tin lý lịch nhân viên; nhừng thủ quỳ chi truy xuất nhùng chì liệu khoản chi J Khó khăn để ràng buộc điều nliừng chương trình ứng dụng • Các vấn đề tồn vẹn J Dừ liệu u cầu thỏa nhùng ràng buộc J Chẳng hạn nhân viên hường chế độ phịng tồ chức sè khơng hưởng chế độ trợ cấp cao phịng cơng đồn J Với cách tiếp cận xừ lý-tập tin, khó khăn để thực thay đổi nhùng ràng buộc nlnr • Khó khăn nâng cấp hệ thống V Do hệ thống tồ chức thành tập tin riêng lè nên thiếu chia xẻ thơng tin giừa 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 sè 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ị sờ dừ liệu 1.2 Định nghĩa sở liệu Cơ sờ dừ 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 thô u cầu khai thác thơng tin đồng thời 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 nhan Ưu điể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 dừ liệu • Dir 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 Đe đạt nhừng ưu điềm CSDL đặt nhùng vấn đề cần giãi quyết, là: • Tính chủ quyền liệu Do chia xẻ CSDL nên tính chù quyền dừ liệu bị lư mời làm mờ nhạt tinh thần trách nhiệm, thể vấn đề an toàn dừ liệu, khà biểu diễn mối liên hệ ngừ nghía cùa dừ liệu tính xác dir liệu Nghía người khai thác CSDL phâi có nghía vụ cập nhật thông tin CSDL Trang 10/109 Chương Dạng chuẩn chuẩn hóa sở liệu Chương giới thiện 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ệ Ọ(ai,A2, ,A„), thuộc tính B gọi ĩà thuộc tính khố neu B ỉà thuộc tính thành phần khoả cùa 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 klioá Giá trị nguyên to Giá trị nguyên to 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 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ị ngun 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 Đe kiểm tra dạng chuẩn thực hiện: Bước 1: Tìm khóa Q Bước 2: Với khóa K, tìm bao đóng cùa tập tất cà tập thực Si K Bước 3: Nếu tồn bao đóng S1+ 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 QI (A, B, c, D), F={A-»B, B-»DC} Lược đồ chi có khóa A, nên 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ó CcABC 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 chi (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 chi (DiaClii) 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ố chi phụ thuộc vào MSSV: không phụ thuộc đầy đủ vào kliố Trong q trình cập nhật lưu trừ dừ liệu xuất nhừng vấn đề sau: • Ở quan hệ SINHVIEN, việc lưu tiừ thông tin sinh viên bị lặp lại (tên, địa chi) • Q trình cập nhật: o Sừa đổi: Khi cần sữa đổi địa chi 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, nữa, sửa đổi thông tin 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 kliố MSSV, MaMH khơng đầy đủ vấn đề chi khắc phục loại bị nhimg thơng tin kết q thi cữ kliị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 Kill xóa {‘CT110’, ‘Nguyên lý lập trình 2’, 5, ‘BB’} quan hệ MONHOC xố {‘0310000’, ‘CT110’, ‘Nguyễn Ngọc’, ‘1 Lê Hồng Phong, Đà Lạt’, 9} quan hệ SINHVIEN Khi thơng tin sinh viên sê bị Đê khắc phục nliừng 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 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, Y~>A (2) Y X (3) A Ể XY Lược đồ Q dạng chuẩn thuộc tíiili khơng khóa khơng phụ thuộc bắc cầu vào khóa Việc kiểm tra dạng chuẩn theo định nghía sè 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 phụ thuộc hàm X->AeF~, với A ế X có: (1) X siêu khóa, (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 khóa Q Bước 2: Phàn rà vế phải cùa 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íiili Bước 3: Nếu phụ thuộc hàm X~>A eF, mà Aể X thỏa (1) X siêu khóa (vế trái chứa khóa), (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 dạng chuẩn BC phụ thuộc hàm X->AeF-, với A Ể X có X siêu khóa 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 khóa Q Bước 2: Phân rà vế phải cùa 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 phụ thuộc hàm X->A eF, 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, CE-»AD} Bước 1: Q có hai khóa {ACD, CE} Bước 2: Phân rà vế phải phụ thuộc hàm F, ta có: F={ACD->E, ACD^B, ACD^I, CE^A, CE-»D} 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 khó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, thi 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 lược đồ CSDL dạng chuẩn thấp dạng chuẩn 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 tiừ thông tin 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 nliừng 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) Kill ta có thề sau: 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 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 20.000 TenNCC DiaChiNCC Nguyễn Mai 10 Nguyễn Trá Công Bánh xốp 10.000 Nguyền Mai 10 Nguyễn Trứ 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 SanPham DonGia Như kết quà thể Q >< Q1 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ệ, QI, Q2 hai lược đồ có: Q\ =X Q\ ' J —Q Kill Q phân rà thành hai lược đồ QI, Q2 phép phân rã bào tồn thơng tin với r thể Q ta có: r - r.Qx xr.Q, (r kết quà phép kết tự nhiên hình chiếu QI, 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ể Qi thoà điều kiện: ri chi thoả nliừng phụ thuộc hàm X-»Y eF với XYaQr Định nghĩa Gọi QI, 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 Qj~ ký hiệu nQ1+(F) tập phụ thuộc hàm X-»Y eF+với XYcQi+ nQ1_(F) = Fi+={X-»Y I X-> Y gF+ XYcQt+ } Kill phân rà bão toàn tập phụ thuộc hàm F F = unQ1+(F) 3.1 Thiết kế CSDL cách phân rã 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 cà khóa cùa Q Bước 2: Tìm phụ thuộc hàm X->Y eF 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 Ql = Q[XY]; F1 = nQ1(F) (tìm bao đóng tất câ tập XY đề tính Fl) Tiếp tục phân rà (QI, Fl) o Q2 = Q[Q~ - Y]; F2 = nQ2(F) (tim bao đóng tất cà 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 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} Đe tìm tập phụ thuộc hàm F1, F2 cần tính bao đóng cùa tập Tìm FT với Ql = (SDM): bao đóng tập s;=s d; =d =m m; sd; = SDM sm; = SM dm; = DM sdm; = SDM Fi = nQ1(F) = {SD^M, SD^SM, SD^DM, SD^SDM } =>F1 = {SD->M} Tìm F2: với Q2= (SDI): bao đóng cùa tập s;=s d; =D i;=i sd; = SDM si; = SIDM Di; = DI SDi; = SDIM Trang 104/109 F2 = nQ2(F) = {SI^D, SI^SD, SI“>DI, SI^SDI } => F2 — {SI->D} Bước 3: Mọi phụ thuộc hàm Flvà 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, AE-»B, B-»D, B-»E} Bước 1: khóa {CB, CAE} Bước 2: Từ C-> D tách thành: • Q1(CD), F1= {C-ẠD}, Khóa c Đạt dạng chuẩn BC • Q2(CABE), F2= {B-»E, CB^A, AE-»B} Chi tiết tính Fl, F2 sau: Tìm FT VỚI Ql = (CD) c; =CD d;=d cd; = CD VậyFl = {C-àD} Tìm F2\ với Q2(CABE); c;=cd a;=a br; = BDE e; =e ca; = CAD CB; = CBADE ce; =CED Trang 105/109 AB; = ABDE AEtr = AEBD be; = BED cab; = CABDE CAE; = CAEBD CBE; = CBEAD ABE; = ABED case; = CABED f2= {B-»E, cb^ae, ab->e, ae-^b, cab^e, cae^b, CBE-^A} Vậy F2= {B^E, CB^A, AE-»B} Xét dạng chuẩn Q2: Klioá 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 tim phụ thuộc hàm hình chiếu Qi, xét tập Xi, (v, )* = Q+, tiếp ựic xét tập Xj : Xi cz Xj, hiển nhiên [Xj )■ = Q+, cuối phụ thuộc hàm có vế trái Xj sè bị loại để chi 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, (v,.)+ = ổ+, thực loại bò tính tốn cho trường hợp Xj : Xi c Xj Ví dụ: với tìm F2 ví dụ trên: Q2(CABE), F = {BC-»A, C-»D, AE->B, B->D, B->E} c; =CD a;=a b; = BDE e;=e Trang 106/109 ca; = CAD CB; = CBADE, loại tập CAB, CBE, CABE ce; = CED AB; = ABDE AE; = AEBD be; = BED ABE; = ABED f2= {B->E, cb^ae, ab->e, AE“>B} Vậy F2= {B^E, CB^A, AE->B} 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 cà thuộc tính Q không hê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) hên quan đến thuộc tính 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ó thô 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 qưà phân rà Ql(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ên cầư: - Phân rà thành dạng chuẩn BC dạng chuẩn bào toà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 tồn phụ thuộc hàm Trang 108/109 Tài Liệu Tham Khảo Bài giảng Cơ sở dir liệu, Nguyễn Hừu Tân, Đại Học Đà Lạt, 2004 Bài tập sở dừ liệu, Nguyễn Xuân Huy - Lê Hoài Bắc, NXB thống kê, 2003 Giáo trình Cơ sờ dừ 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 ... dừ liệu cách hiệu quà Điều dẫn đến việc cần phài thiết kế nhùng cấu trúc dừ liệu phức tạp việc biểu diễn dừ liệu Trang 12/109 NGƯỜI SỬ DỰNG Cơ SỞ Dữ LIỆU LƯU TRỮ Hình 1.1 Ba mức trừu tượng liệu. .. tàng cấu trác sờ dừ liệu mơ hình dừ liệu Mơ hình dừ liệu định nghía sưu tập công cụ khái niệm dùng cho việc mô tà liệu, mối quan hệ dừ liệu, ngừ nghía dừ liệu ràng buộc dừ liệu Trang 15/109 2.1... quyền liệu Do chia xẻ CSDL nên tính chù quyền dừ liệu bị lư mời làm mờ nhạt tinh thần trách nhiệm, thể vấn đề an toàn dừ liệu, khà biểu diễn mối liên hệ ngừ nghía cùa dừ liệu tính xác dir liệu