Giáo trình cơ sở dữ liệu (nghề kỹ thuật sửa chữa, lắp ráp máy tính cao đẳng)

123 5 0
Giáo trình cơ sở dữ liệu (nghề kỹ thuật sửa chữa, lắp ráp máy tính   cao đẳng)

Đ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

ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI TRƢỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI ĐẶNG MINH NGỌC (Chủ biên) LÊ TRỌNG HƢNG – NGUYỄN TUẤN HẢI GIÁO TRÌNH CƠ SỞ DỮ LIỆU Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2021 LỜI NÓI ĐẦU Ngày nay, sở liệu có nhiều ứng dụng hoạt động xã hội Muốn thiết kế sử dụng sở liệu phải nắm đƣợc kỹ thuật sở liệu Tài liệu học tập nhằm trình bày kỹ thuật sở sở liệu truyền thống, mơ hình liên kết thực thể, mơ hình sở liệu quan hệ Tài liệu trình bày cách thiết kế sở liệu quan hệ, cách sử dụng phép toán đại số quan hệ để tạo, cập nhật truy vấn sở liệu khái niệm phụ thuộc hàm ứng dụng lí thuyết thiết kế chuẩn hóa sở liệu quan hệ Tài liệu học tập “Cơ sở liệu” sách hƣớng dẫn học tập dùng cho sinh viên ngành cơng nghệ thơng tin ngành mạng máy máy tính & truyền thông liệu Tài liệu ”Cơ sở liệu” không đề cập đến vấn đề sở lý thuyết mà cịn trình bày số kỹ cần thiết để thiết kế cài đặt hệ sở liệu cụ thể Hy vọng có ích cho sinh viên ngƣời muốn xây dựng hệ thống tin học ứng dụng phục vụ cho sản xuất, quản lý doanh nghiệp Mặc dù có cố gắng để hồn thành giáo trình theo kế hoạch, nhƣng hạn chế thời gian kinh nghiệm soạn thảo giáo trình, nên tài liệu chắn khiếm khuyết Rất mong nhận đƣợc đóng góp ý kiến thầy Khoa nhƣ bạn sinh viên sử dụng tài liệu Địa đóng góp khoa CNTT, Trƣờng Cao Đẳng Nghề Việt Nam – Hàn Quốc, Đƣờng Uy Nỗ – Đông Anh – Hà Nội Xin chân thành cảm ơn! Hà Nội, ngày … tháng … năm 2021 Chủ biên: Đặng Minh Ngọc MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC Chƣơng Tổng quan sở liệu 1.1 Dữ liệu – thông tin 1.2 Các hệ thống xử lý truyền thống 1.3 Phƣơng pháp sở liệu 1.4 Phân loại ngƣời dùng CSDL Chƣơng Các mơ hình liệu 10 2.1 Sơ đồ thực thể liên kết 10 2.2 Mơ hình thực thể, quan hệ 16 2.3 Mơ hình liệu quan hệ: 17 2.4 Mơ hình liệu mạng 19 2.5 Mơ hình liệu phân cấp 19 Chƣơng Mơ hình sở liệu quan hệ 24 3.1 Các khái niệm 24 3.2 Ràng buộc toàn vẹn 27 3.3 Các phép tính sở liệu quan hệ 33 Chƣơng Ngôn ngữ thao tác liệu 40 4.1 Đại số quan hệ 40 4.2 Các phép toán tập hợp 41 4.3 Các phép toán đặc biệt quan hệ 45 4.4 Các phép toán quan hệ bổ sung 49 Chƣơng Ngôn ngữ truy vấn liệu SQL 51 5.1 Cách tạo quan hệ Access 51 5.2 Câu lệnh truy vấn 55 Chƣơng Lý thuyết thiết kế sở liệu 65 6.1 Phụ thuộc hàm 65 6.2 Phép tách lƣợc đồ quan hệ 86 6.3 Các dạng chuẩn 109 6.4 Chuẩn hóa qua phép tách 117 TÀI LIỆU THAM KHẢO 122 CHƢƠNG TRÌNH MƠN HỌC Tên mơn học: Cơ sở liệu Mã số môn học: MH 29 Thời gian môn học: 60 giờ; (Lý thuyết: 30 giờ; Thực hành, thí nghiệm, thảo luận, tập: 26 giờ; Kiểm tra: giờ) I Vị trí, tính chất mơn học: - Vị trí: + Mơn học đƣợc bố trí sau sinh viên học xong môn học chung, môn học, mô đun đào tạo chun mơn nghề + Mơn học đƣợc bố trí sau sinh viên học xong mơn học Lập trình - Tính chất: + Là mơ học chun ngành tự chọn II Mục tiêu môn học: - Về kiến thức: + Hiểu đƣợc công dụng sở liệu + Xây dựng đƣợc mơ hình quan hệ + Thiết kế đƣợc sở liệu + Phân tích đƣợc chƣơng trình: xác định nhiệm vụ chƣơng trình - Về kỹ năng: + Chuyển câu hỏi tối ƣu hố sơ đồ sang ngơn ngữ SQL + Viết đƣợc chƣơng trình thực chƣơng trình máy tính có ứng dụng CSDL - Về lực tự chủ trách nhiệm: + Có ý thức tự giác, tính kỷ luật, tinh thần trách nhiệm học tập + Tính cẩn thận, trách nhiện thao tác Cơ sở liệu III Nội dung môn học: 1.Nội dung tông quát phân phối thời gian Thời gian TT Tên môn học Tổng số Lý thuyết Thực hành, Bài tập Kiểm tra* Tổng quan sở liệu Các mơ hình liệu Mơ hình sở liệu quan hệ Ngôn ngữ thao tác liệu 14 Ngôn ngữ truy vấn liệu SQL 14 6 Lý thuyết thiết kế sở liệu 14 6 60 30 26 Cộng *Ghi chú: Thời gian kiểm tra tích hợp lý thuyết với thực hành tính thực hành Chƣơng Tổng quan sở liệu 1.1 Dữ liệu – thông tin - Dữ liệu có thật đƣợc ghi nhận lại (thủ cơng dùng máy tính) mang ý nghĩa - Thơng tin khái niệm phản ánh tri thức, hiểu biết ngƣời đối tƣợng ฀Dữ liệu khái niệm thô rời rạc ฀Thông tin nội dung liệu - Cơ sở liệu tập hợp liệu đƣợc tổ chức lƣu trữ theo cấu trúc chặt chẽ nhằm phục vụ cho nhiều đối tƣợng với mục đích khác 1.2 Các hệ thống xử lý truyền thống Hệ thống quản lý tệp truyền thống thƣờng đƣợc tổ chức riêng rẽ, phục vụ cho mục đích đơn vị đơn vị trực thuộc cụ thể Hệ thống quản lý tệp truyền thống cho phép ta tạo tệp, truy cập xử lý thông tin tệp thơng qua chƣơng trình ứng dụng Các phần mềm ứng dụng đƣợc viết ngôn ngữ lập trình đa nhƣ PASCAL, C - Ƣu điểm: Việc xây dựng hệ thống tệp tin riêng đơn vị quản lý tốn thời gian khối lƣợng thông tin cần quản lý khai thác nhỏ, khơng địi hỏi đầu tƣ vật chất chất xám nhiều, triển khai ứng dụng nhanh Thông tin đƣợc khai thác phục vụ mục đích hẹp nên khả đáp ứng nhanh chóng, kịp thời - Nhƣợc điểm: Thông tin đƣợc tổ chức riêng rẽ nhiều nơi nên việc cập nhật dễ làm tính qn liệu Hệ thống thơng tin đƣợc tổ chức thành hệ thống file riêng lẻ nên thiếu chia sẻ thông tin nơi Có dƣ thừa liệu lớn qua việc trùng lặp tệp tin ứng dụng khác Khơng gian đĩa bị lãng phí, khó khăn việc bảo trì hệ thống Khó khăn việc truy xuất liệu Một ví dụ điển hình trùng lắp liệu nhƣ Hệ quản lý nguồn nhân lực bao gồm ba hệ chính: Hệ lƣơng, hệ trì ngày cơng lƣơng cho tất nhân viên Hệ nhân sự, hệ trì lý lịch cá nhân, liệu tổ chức, cơng việc đào tạo vị trí thăng tiến Hệ hƣu, hệ quản trị qui tắc liên quan đến nghỉ hƣu, loại nghỉ hƣu Chi tiết hƣu nhân viên Vấn đề bất lợi Hệ quản lý lƣơng thông thƣờng đƣợc quản lý phịng Tài chính, Hệ quản lý nhân Hệ quản lý hƣu đƣợc quản lý phịng Tổ chức cán Rõ ràng, có nhiều liệu nhân viên chung cho ba hệ Thƣờng hệ thực lƣu trữ riêng biệt nên chúng tạo trùng lặp liệu Qua phân tích trên, nhận thấy việc tổ chức liệu theo hệ thống tệp hồn tồn khơng phù hợp với hệ thống thông tin lớn Việc xây dựng hệ thống thông tin đảm bảo đƣợc tính quán liệu, đáp ứng đƣợc nhu cầu khai thác đồng thời nhiều ngƣời thực cần thiết 1.3 Phƣơng pháp sở liệu 1.3.1 Cơ sở liệu Cơ sở liệu (CSDL) hệ thống thơng tin có cấu trúc đƣợc lƣu trữ thiết bị nhƣ băng từ, đĩa từ,để thoả mãn yêu cầu khai thác đồng thời nhiều ngƣời sử dụng CSDL gắn liền với đại số, logic toán số lĩnh vực khác 1.3.2 Hệ quản trị sở liệu Để giải tốt vấn đề mà cách tổ chức CSDL đặt nhƣ nói trên, cần thiết phải có phần mềm chuyên dùng để khai thác chúng Những phần mềm đƣợc gọi hệ quản trị CSDL Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho nhà phân tích thiết kế CSDL nhƣ ngƣời khai thác CSDL 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, Visual Foxpro, SQL Server Oracle,  Mỗi hệ quản trị CSDL đƣợc cài đặt dựa mơ hình liệu cụthể Dù dựa mơ hình liệu nào, hệ quản trị CSDL phải hội đủcác yếu tố sau: - Ngôn ngữ giao tiếp ngƣời sử dụng CSDL, bao gồm : Ngôn ngữ mô tả liệu: Để cho phép khai báo cấu trúc CSDL, khai báo mối liên hệ liệu quy tắc quản lý áp đặt lên liệu Ngơn ngữ thao tác liệu: Cho phép ngƣời sử dụng cập nhật liệu (thêm/sửa/xố) Ngơn ngữ truy vấn liệu: Cho phép ngƣời khai thác sử dụng đểtruy vấn thông tin cần thiết CSDL Ngôn ngữ quản lý liệu: Cho phép ngƣời quản trị hệthống thay đổi cấu trúc bảng liệu, khai báo bảo mật thông tin cấp quyền hạn khai thác CSDL cho ngƣời sử dụng., - Từ điển liệu: Dùng để mô tả ánh xạ liên kết, ghi nhận thành phần cấu trúc CSDL, chƣơng trình ứng dụng, mật mã, quyền hạn sử dụng, - Cơ chế giải vấn đề tranh chấp liệu: Mỗi hệ quản trị CSDL cài đặt chế riêng để giải vấn đề Một số biện pháp sau thƣờng đƣợc sử dụng: thứ nhất: cấp quyền ƣu tiên cho ngƣời sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất dữliệu, phân chia thời gian, ngƣời có yêu cầu trƣớc có quyền truy xuất dữliệu trƣớc, Hệ quản trị CSDL phải có chế lƣu (backup) phục hồi (restore) liệu có cố xảy Điều thực sau thời gian định hệ quản trị CSDL tựđộng tạo CSDL, cách tốn kém, CSDL lớn Hệ quản trị CSDL phải cung cấp giao diện thân thiện, dễ sử dụng 1.4 Phân loại ngƣời dùng CSDL - Ngƣời quản trị sở liệu: Trong tổ chức có nhiều ngƣời sử dụng chung nguồn liệu thiết phải có ngƣời đứng đầu quản lý, chịu trách nhiệm nguồn liệu Đó ngƣời quản trị sở liệu (Database Administrators - DBA ) DBA có nhiệm vụ tổ chức nội dung sở liệu, tạo cấp quyền truy cập sở liệu cho ngƣời dùng, đƣa yêu cầu phần cứng phần mềm… cần thiết DAB phải chịu trách nhiệm bảo vệ an tồn, Backup thơng tin…khi có cố - Ngƣời phân tích thiết kế hệ thống: Là ngƣời chịu trách nhiệm: (a) xác định liệu cần lƣu trữ CSDL; (b) lựa chọn cấu trúc thích hợp để biểu diễn lƣu trữ; (c) vấn tất ngƣời sử dụng CSDL sau để hiểu đƣợc yêu cầu họ CSDL; (d) tiến hành phân tích thiết kế hệ thống sau thống đƣợc tất yêu cầu ngƣời sử dụng - Ngƣời viết chƣơng trình ứng dụng: Là ngƣời viết phần mềm phục vụ cho việc thực chức hệ thống ngơn ngữ phù hợp, ngồi cịn có nhiệm vụ: (a) chạy thử chƣơng trình (test); (b) chữa lỗi gỡ rối chƣơng trình (debug); (c) viết tài liệu, hƣớng dẫn sử dụng; (d) bảo trì hệ thống - Ngƣời dùng cuối (EndUser): Ngƣời dùng cuối ngƣời truy cập CSDL để: (a) cập nhật liệu; (b) cruy vấn liệu; (c) thống kê, báo cáo Mỗi EndUse có quyền hạn phạm vi định đỗi với sở liệu nhƣ quyền đọc, ghi, copy ) Bƣớc 2:Ta chứng minh dịng Q5 bảng chứa tồn giá trị a Thật vậy: Ta lần lƣợt đồng giá trị bảng theo phụ thuộc hàm đƣợc phát theo thuật tốn tìm bao đóng X={HSR}  K; F={CT,HRC,THR,CSG,HSR} X0=HSR X1=HSRC HRC Đồng giá trị theo phụ thuộc hàm Trên dòng Q2 cột C chứa giá trị a nên dịng Q5 có thêm giá trị a cột C X2=HSRCT CT đồng giá trị theo phụ thuộc hàm X3=HSRCTG CSG đồng giá trị theo phụ thuộc hàm C T H R S G Q1(CT) a1 a2 Q2(HRC) a1 a2 a3 a4 Q3(THR) a1 a2 a3 a4 Q4(CSG) a1 a2 Q5(HSR) a1 a2 a3 a4 a5 a a5 a Do X+=Q+ nên dịng Q5 chứa tồn giá trị a Ví dụ 21: Cho Q(ABCDEGH), F={ABD; EHG; GC; DC} phân rã Q thành lƣợc đồ dạng chuẩn vừa bảo tồn thơng tin vừa bảo tồn phụ thuộc Giải: Tìm phủ tối thiểu Ftt F Ftt=F={ABD; EHG; GC; DC} Áp dụng thuật toán, Q đƣợc phân rã thành lƣợc đồ CSDL sau: Q1{ABD), Q2(EHG), Q3(GC), Q4(DC) Tìm khóa Q TN={ABEH} TG={GD} Siêu khóa Xi TN Xi (TN Xi)+  ABEH ABCDEGH ABEH G ABEHG ABCDEGH ABEHG D ABEHD ABCDEGH ABEHD GD ABEHGD ABCDEGH ABEHGD 108 Khóa ABEH Q1,Q2,Q3,Q4 khơng chứa khóa  để bảo tồn thơng tin ta cần có Q5(A,B,E,H).Vậy kết phân rã Q1,Q2,Q3,Q4,Q5 6.3 Các dạng chuẩn Trong thực tế, ứng dụng cụ thể đƣợc thiết kế thành nhiều lƣợc đồ sở liệu khác nhau, tất nhiên chất lƣợng thiết kế lƣợc đồ CSDL khác Chất lƣợng thiết kế lƣợc đồ CSDL đƣợc đánh giá dựa nhiều tiêu chuẩn trùng lắp thơng tin chi phí kiểm tra ràng buộc toàn vẹn hai tiêu chuẩn quan trọng Sau số tiêu chuẩn để đánh giá độ tốt/xấu lƣợc đồ quan hệ Trƣớc tiên ta tìm hiểu số khái niệm liên quan: 6.3.1 Dạng chuẩn Một lƣợc đồ quan hệ Q dạng chuẩn tồn thuộc tính mang giá trị đơn Ví dụ 1: Xét quan hệ MA HOVATEN KHOA TENMONHOC SV DIEM THI 99023 99030 NGUYEN THI THU LE VAN THANH CONG NGHE THONG TIN DIEN TU KY THUAT LAP TRINH TOAN ROI RAC CO SO DU LIEU VI XULY Quan hệ khơng đạt chuẩn thuộc tính TENMONHOC, DIEMTHI thứ khơng mang giá trị đơn (chẳng hạn sinh viên NGUYEN THI THU có thuộc tính TENMONHOC KY THUAT LAP TRINH, TOAN ROI RAC, CO SO DU LIEU) Ta hồn tồn đƣa quan hệ dạng chuẩn nhƣ sau: MASV HOVATEN KHOA TENMONHOC 99023 NGUYENTHITHU CONG NGHE KY THUAT LAP THONG TIN TRINH 99023 NGUYENTHITHU CONG NGHE TOAN ROI RAC THONG TIN 109 DIEM THI 99023 NGUYENTHITHU CONG NGHE CO SO DU LIEU THONG TIN 99030 LE VAN THANH DIEN TU VI XULY Chú ý ràng xét dạng chuẩn, ta không nói thêm, ta hiểu dạng chuẩn xét đạt dạng chuẩn 6.3.2 Dạng chuẩn hai Một lược đồ quan hệ Q dạng chuẩn Q đạt chuẩn thuộc tính khơng khóa Q phụ thuộc đầy đủ vào khóa Thuật toán kiểm tra dạng chuẩn Vào: lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: khẳng định Q đạt chuẩn hay không đạt chuẩn ước 1: Tìm tất c khóa Q ước 2: Với khóa K, tìm bao đóng tất c tập thật S K ước 3:Nếu có bao đóng S+ chứa thuộc tính khơng khóa Q khơng đạt chuẩn Ngược lại Q đạt chuẩn Ví dụ 2: Cho lƣợc đồ quan hệ Q(A,B,C,D) tập phụ thuộc hàm F={ABC; BD; BCA} Hỏi Q có đạt chuẩn khơng? Giải: TN={B}, TG={AC} Xi (TN  Xi) (TN Xi)+  B BD A AB C AC Siêu khóa khóa ABCD AB AB BC ABCD BC BC ABC ABCD ABC Khóa K1=AB K2=BC Ta thấy BK1, BD,D thuộc tính khơng khóa thuộc tính khơng khóa khơng phụ thuộc đầy đủ vào khóa  Q khơng đạt chuẩn Ví dụ 3:Quan hệ sau đạt chuẩn Q(G,M,V,N,H,P) F={GM; GN; GH; GP; MV; NHPM} 110 Giải: TN={G} TG={M,N,H,P} Xi (TN  Xi) (TN Xi)+ Siêu khóa khóa  G Q+ G G M GM Q+ GM N GN Q+ GN MN GMN Q+ GMN H GH Q+ GH MH GMH Q+ GMH NH GNH Q+ GNH MNH GMNH Q+ GMNH P GP Q+ GP MP GMP Q+ GMP NP GNP Q+ GNP MNP GMNP Q+ GMNP HP GHP Q+ GHP MHP GMHP Q+ GMHP NHP GNHP Q+ GNHP MNHP GMNHP Q+ GMNHP Lƣợc đồ quan hệ Q có khóa khóa có thuộc tính nên thuộc tính phụ thuộc đầy đủ vào khóa  Q đạt chuẩn Hệ quả: + Nếu Q đạt chuẩn tập thuộc tính khơng khóa Q rỗng Q đạt chuẩn + Nếu tất khóa quan hệ gồm thuộc tính quan hệ đạt chuẩn Ví dụ 4: Q(A,B,C,D,E,H) F={A  E; C  D; E  DH} Giải: TN={ACB} TG={E} Xi (TN  Xi) (TN Xi)+ Siêu khóa khóa  ACB ABCDEH ACB ACB E ACBE ABCDEH ACBE 111  khóa Q K = {ABC}.CK, CD, D thuộc tính khơng khóa D phụ thuộc khơng đầy đủ vào khóa nên Q khơng đạt chuẩn 6.3.3 Dạng chuẩn ba Thuộc tính phụ thuộc bắc cầu Q lƣợc đồ quan hệ, X,Y hai tập Q+, A thuộc tính Nói A phụ thuộc bắc cầu vào X ba điều sau thỏa: + X  Y,Y  A +Y X + A  XY Định nghĩa 1: Lược đồ quan hệ Q dạng chuẩn phụ thuộc hàm X  A  F+ với A  X có: + Hoặc X siêu khóa + Hoặc A thuộc tính khóa Định nghĩa 2: Lược đồ quan hệ Q dạng chuẩn thuộc tính khơng khóa Q khơng phụ thuộc bắc cầu vào khóa Q Hai định nghĩa tƣơng đƣơng, nhiên việc cài đặt thuật toán kiểm tra dạng chuẩn theo định nghĩa hiệu nhiều khơng phải kiểm tra tính phụ thuộc bắc cầu Ta chứng minh hai định nghĩa tƣơng đƣơng cách: Từ định nghĩa  khơng có phụ thuộc bắc cầu vào khóa Q Thật vậy: Giả sử có phụ thuộc bắc cầu vào khóa nghĩa có K  Y,Y  A,Y K A  KY Y  A phụ thuộc hàm nên theo định nghĩa có hai trƣờng hợp xảy cho Y: + Y siêu khóa  YK điều mâu thuẫn với Y K + Y khơng siêu khóa  A thuộc tính khóa  điều trái với giả thiết A  KY Từ định nghĩa  XAF+ với AX X siêu khóa A thuộc tính khóa 112 Nếu XAF+ với AX có X khơng siêu khóa A khơng thuộc tính khóa dẫn đến số điều sau: A khơng thuộc tính khóa  A  K X khơng siêu khóa  X K Tóm lại ta có KX, XA,X K A  KX  A phụ thuộc bắc cầu vào K điều mâu thuẫn với định nghĩa Hệ 1:Nếu Q đạt chuẩn Q đạt chuẩn Hệ 2:Nếu Q khơng có thuộc tính khơng khóa Q đạt chuẩn Chứng minh: Hệ 1: Giả sử Q đạt dạng chuẩn có thuộc tính khơng khóa A khơng phụ thuộc hàm đầy đủ vào khóa K  K‟ K cho K‟A nhƣ ta có KK‟,K‟A,K‟ K, A  KK‟ Q có phụ thuộc bắc cầu Hệ 2: phụ thuộc hàm Q có vế phải thuộc tính khóa  Q đạt dạng chuẩn Định lý: Q lược đồ quan hệ F tập phụ thuộc hàm có vế ph i thuộc tính Q đạt chuẩn phụ thuộc hàm XAF với AX có X siêu khóa hay A thuộc tính khóa Chứng minh: Q đạt dạng chuẩn theo định nghĩa ta suy phụ thuộc hàm XAF với AX có X siêu khóa A thuộc tính khóa Ngƣợc lại ta phải chứng minh phụ thuộc hàm XAF với AX có X siêu khóa A thuộc tính khóa phụ thuộc hàm XAF+ với AX có X siêu khóa A thuộc tính khóa Giả sử có phụ thuộc hàm XAF+ với AX cho X khơng siêu khóa A khơng thuộc tính khóa dẫn đến A  X+ X  {các thuộc tính khóa} điều mâu thuẫn với A  K.Trƣớc chứng minh A  X+ X  {các thuộc tính khóa} ta có nhận xét sau: 113 X khơng siêu khóa  X+ khơng siêu khóa Theo thuật tốn tìm bao đóng, X+ đƣợc hình thành từ Xi bƣớc Xi khơng siêu khóa Bƣớc sở: X0 = X  X0 X  {các thuộc tính khóa} Bƣớc qui nạp: giả sử có Xi- 1 X  {các thuộc tính khóa} Bao đóng Xi đƣợc hình thành có fj = Xj  Yj để Xi- 1 Xj Xi= Xi- 1 Yj  fj = Xj  Yj phụ thuộc hàm có Xj khơng siêu khóa  fj = Xj  Yj phụ thuộc hàm có Yj thuộc tính khóa  Xi= Xi- 1 Yj  X  {các thuộc tính khóa} Qua chứng minh  AX+  X  {các thuộc tính khóa} A X{các thuộc tính khóa}  A{các thuộc tính khóa} điều nghịch lý với điều A  K Thuật toán kiểm tra dạng chuẩn Vào: lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: khẳng định Q đạt chuẩn hay không đạt chuẩn ước 1: Tìm tất c khóa Q ước 2: Từ F tạo tập phụ thuộc hàm tương đương F1tt có vế ph i thuộc tính ước 3: Nếu phụ thuộc hàm X  A F1tt với AX có X siêu khóa hay A thuộc tính khố Q đạt chuẩn ngược lại Q khơng đạt chuẩn Ví dụ 5: Cho lƣợc đồ quan hệ Q(A,B,C,D) F={ABC; DB; CABD} Hỏi Q có đạt chuẩn không? Giải: TN= TG={ABCD} Xi (TN  Xi) (TN Xi)+    A A A B B B AB AB C Siêu khóa khóa ABCD AB AB C ABCD C C AC AC ABCD AC BC BC ABCD BC 114 ABC ABC ABCD ABC D D BD AD AD ABCD BD BD BD ABD ABD ABCD ABD CD CD ABCD CD ACD ACD ABCD ACD BCD BCD ABCD BCD ABCD ABCD ABCD ABCD AD AD K1 = {AB}; K2 = {AD}; K3={C} khóa  phụ thuộc hàm XAF có A thuộc tính khóa Vậy Q đạt chuẩn Ví dụ 6:Quan hệ sau đạt chuẩn Q(N,G,P,M) F = {NGPM,MP} 6.3.4 Dạng chuẩn Boyce – Codd Một quan hệ Q dạng chuẩn C phụ thuộc hàm XA  F+ với AX có X siêu khóa Hệ 1: Nếu Q đạt chuẩn BC Q đạt chuẩn (hiển nhiên định nghĩa) Hệ 2: Mỗi lƣợc đồ có hai thuộc tính đạt chuẩn BC (xét phụ thuộc hàm có Q ) Định lý: Q lược đồ quan hệ F tập phụ thuộc hàm có vế ph i thuộc tính Q đạt chuẩn C phụ thuộc hàm XAF với AX có X siêu khóa Chứng minh: Q đạt dạng chuẩn BC theo định nghĩa ta suy phụ thuộc hàm XAF với AX có X siêu khóa Ngƣợc lại ta phải chứng minh phụ thuộc hàm XAF với AX có X siêu khóa phụ thuộc hàm ZBF+ với BZ có Z siêu khóa Thật vậy, ZB khơng phụ thuộc hàm hiển nhiên nên theo thuật tốn tìm bao đóng phải có XAF cho ZX (X siêu khóa) Z siêu khóa 115 Thuật tốn kiểm tra dạng chuẩn C Vào: lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: khẳng định Q đạt chuẩn C hay khơng đạt chuẩn C ước 1: Tìm tất c khóa Q ước 2:Từ F tạo tập phụ thuộc hàm tương đương F1tt có vế ph i thuộc tính ước 3:Nếu phụ thuộc hàm X  A  F1tt với AX có X siêu khóa Q đạt chuẩn C ngược lại Q không đạt chuẩn C Ví dụ 7:Q(A,B,C,D,E,I) F={ACDEBI;CEAD} Hỏi Q có đạt chuẩn BC không? Giải: TN={C} TG={ADE} Xi (TN  Xi) (TN Xi)+  C C A AC AC D CD CD AD ACD E Siêu khóa khóa ABCDEI ACD ACD CE ABCDEI CE CE AE ACE ABCDEI ACE DE CDE ABCDEI CDE ADE ACDE ABCDEI ACDE F  F1tt={ACDE,ACDB,ACDI,CEA,CED} Mọi phụ thuộc hàm F1tt có vế trái siêu khóa  Q đạt dạng chuẩn BC Ví dụ 8: Q(SV,MH,THAY)F = {SV,MH  THAY;THAY  MH} Quan hệ đạt chuẩn nhƣng khơng đạt chuẩn BC Ví dụ 9: Chẳng hạn cho Q(A,B,C,D) F={AB  C; D  B; C  ABD} Q 3NF nhƣng không BCNF Nếu F={B  D,A  C,C  ABD} NF nhƣng không NF Thuật toán kiểm tra dạng chuẩn lược đồ quan hệ Vào: lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: khẳng định Q đạt chuẩn gì? 116 ước 1: Tìm tất c khóa Q ước 2: Kiểm tra chuẩn C Q đạt chuẩn C, kết thúc thuật toán ngược lại qua bước ước 3: Kiểm tra chuẩn Q đạt chuẩn 3, kết thúc thuật toán ngược lại qua bước ước 4: Kiểm tra chuẩn Q đạt chuẩn 2, kết thúc thuật tốn ngược lại Q đạt chuẩn Định nghĩa:Dạng chuẩn lược đồ sở liệu dạng chuẩn thấp dạng chuẩn lược đồ quan hệ 6.4 Chuẩn hóa qua phép tách Q trình chuẩn hóa lƣợc đồ CSDL nhằm mục đích nâng cao chất lƣợng thiết kế hay cụ thể đƣa lƣợc đồ quan hệ từ dạng chuẩn thấp lên dạng chuẩn cao mà tối thiểu phải dạng chuẩn Phƣơng pháp tách phƣơng pháp dùng để chuẩn hóa lƣợc đồ CSDL Sự bảo tồn thơng tin: Việc chuẩn hóa lƣợc đồ quan hệ hay lƣợc đồ CSDL phải bảo đảm u cầu: bảo tồn thơng tin Phép phân rã Q thành Q1, Q2, … đƣợc gọi bảo toàn thông tin nếu: TQ: TQ = TQ [Q1] ►◄ TQ [Q2] … ►◄ … Định lý Delobel: Cho lƣợc đồ quan hệ Q(XYZ) tập phụ thuộc hàm F Nếu X  Y F+ phép phân rã Q thành lƣợc đồ quan hệ con: Q1(XY) Q2(XZ) bảo tồn thơng tin Phƣơng pháp phân rã: Begin F+ = F \ { f F+ / VT(f) VP(f) Q+ } IF (F+ ) Then Begin F+ B2.Tạo lƣợc đồ quan hệ Q1 Q2: Q1=X Y F1 ={ f F+ / VT(f) VP(f) Q1+ } 117 Q2=Q+\Y F2 = { f F+ / VT(f) VP(f) Q2+ } B3.Phân rã đệ quy Q1 Q2 End; End; Ví dụ: Cho lƣợc đồ quan hệ Q(ABCDEG) tập pth F = { AE  C (f1), CG  A (f2), BD  G (f3), GA  E (f4) } Khóa Q {BDA}, {BDC} BD  G: Khơng đạt dạng chuẩn BÀI TẬP CHƢƠNG Bài 1: Cho quan hệ sau: R( A B C D E) a1 b1 c1 d1 e1 a1 b2 c2 d2 d1 a2 b1 c3 d3 e1 a2 b1 c4 d3 e1 a3 b2 c5 d1 e1 Phụ thuộc hàm sau thỏa R:AD,ABD,CBDE,EA,AE Bài 2: Cho Q+={ABCD} a.Tìm tất các tập Q b Tìm tất phụ thuộc hàm có Q (khơng liệt kê phụ thuộc hàm hiển nhiên) Bài 3: Tìm bao đóng F+ quan hệ phanCong(PHICONG,MAYBAY,NGAYKH,GIOKH) Bài 4: Cho F = {ABC,BD,CDE,CEGH,GA} a Hãy chứng tỏ phụ thuộc hàm ABE,ABG đƣợc suy diễn từ F nhờ luật dẫn Armstrong b Tìm bao đóng AB(với tốn khơng nói lƣợc đồ quan hệ Q ta ngầm hiểu Q+ tập thuộc tính có F nghĩa Q+={ABCDEGH}) Bài 5: Cho F = {AD,ABDE,CEG,EH} Hãy tìm bao đóng AB 118 Bài 6: Cho F={ABE,AGI,BEI,EG,GIH} a Hãy chứng tỏ phụ thuộc hàm ABGH đƣợc suy diễn từ F nhờ luật dẫn Armstrong b Tìm bao đóng {AB} Bài 7: Cho F={AD,ABE,BIE,CDI,EC} tìm bao đóng {AE}+={ACDEI} Bài 8: Chứng minh tính chất sau: a Tính cộng đầy đủ X  Y Z  W  XZ  YW b Tính tích lũy X  Y Y  ZW  X  YZW Bài 9: Cho G={ABC,AB,BC,AC} F={ABC,AB,BC} có tƣơng đƣơng với G khơng? Bài 10: Cho lƣợc đồ CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN) F={NGAY,GIO,PHONG  MONHOC; MONHOC,NGAY  GIAOVIEN; NGAY,GIO,PHONG GIAOVIEN; MONHOC GIAOVIEN} a.Tính {NGAY,GIO,PHONG}+ ;{MONHOC}+ b.Tìm phủ tối thiểu F c.Tìm tất khóa Kehoach Bài 11: Cho lƣợc đồ CSDL Q(TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG,NGAY) F={TENTAU LOAITAU MACHUYEN TENTAU, LUONGHANG TENTAU,NGAY BENCANG, MACHUYEN} a Hãy tìm tập phủ tối thiểu F b.Tìm tất khóa Q Bài 12: Q(A,B,C,D,E,G) 119 Cho ={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CE  AG} F X={B,D}, X+=? Y={C,G}, Y+=? Bài 13: Cho lƣợc đồ quan hệ Q tập phụ thuộc hàm F a F={ABE;AGI;BEI;EG;GI H} chứng minh AB  GH b F={ABC;BD;CDE;CEGH;GA}chứng minh rằngAB  E;AB G Bài 14: Cho quan hệ r A B C D x u x Y y x z x z y y y y z w z Trong phụ thuộc hàm sau đây, PTH không thỏa A  B; A  C; B  A; C  D; D  C; D  A Bài 15: Hãy tìm tất khóa cho lƣợc đồ quan hệ sau: Q(BROKER,OFFICE,STOCK,QUANTITY,INVESTOR,DIVIDENT) F={STOCK  DIVIDENT INVESTOR  BROKER INVESTOR,STOCK  QUANTITY BROKER OFFICE } Bài 16: Xét lƣợc đồ quan hệ tập phụ thuộc liệu: Q(C,T,H,R,S,G) f={f1: C T; f2: HR C;f3: HT R; f4: CS G; f5: HS R} Tìm phủ tối thiểu F Bài 17: Cho lƣợc đồ quan hệ tập phụ thuộc liệu Q(A,B,C,D,E,H) F={A  E; C  D; E  DH} 120 Chứng minh K={A,B,C} khóa Q Bài 18: Cho lƣợc đồ quan hệ tập phụ thuộc liệu Q(A,B,C,D) F={ABC; DB; CABD} Hãy tìm tất khóa Q Bài 19: Cho lƣợc đồ quan hệ tập phụ thuộc liệu Q(A,B,C,D,E,G) F={ABC;C A;BCD;ACDB;DEG;BEC;CGBD;CEG} Hãy tìm tất khóa Q Bài 20: Xác định phủ tối thiểu tập phụ thuộc hàm sau: a Q(A,B,C,D,E,G), F={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CEAG} b Q(A,B,C) F={AB,AC,BA,CA,BC} Bài 21: Xác định phủ tối thiểu tập phụ thuộc hàm sau: a Q1(BCDEGH) F1={A H,ABC,BCD;GB} b Q2(ABCSXYZ) F2={SA;AXB;SB;BYC;CZX} c Q3(ABCDEGHIJ) F3={BGD;GJ;AIC;CEH;BDG;JHA; DI } d Q4(ABCDEGHIJ) F4={BHI;GCA;IJ;AEG;DB;IH} 121 TÀI LIỆU THAM KHẢO Nguyễn Tuệ Giáo trình nhập mơn hệ sở liệu Nhà xuất giáo dục, năm 2007 Phạm Đức Nhiệm Giáo trình sở liệu quan hệ Nhà xuất Hà Nội, năm 2012 Tô Văn Nam Giáo trình sở liệu Nhà xuất giáo dục, năm 2009 Đỗ Trung Tuấn Cơ sở liệu Nhà xuất giáo dục, năm 2009 Nguyễn Xuân Huy, Lê Hoài Bắc Bài tập sở liệu Nhà xuất thống kê, năm 2009 Trần Đức Quang, Hồ Thuần, Cơ sở liệu sở tri thức tâp1, tập 2, NXB Thống kê, 2003 122 ...LỜI NÓI ĐẦU Ngày nay, sở liệu có nhiều ứng dụng hoạt động xã hội Muốn thiết kế sử dụng sở liệu phải nắm đƣợc kỹ thuật sở liệu Tài liệu học tập nhằm trình bày kỹ thuật sở sở liệu truyền thống, mơ... chuẩn hóa sở liệu quan hệ Tài liệu học tập ? ?Cơ sở liệu? ?? sách hƣớng dẫn học tập dùng cho sinh viên ngành công nghệ thơng tin ngành mạng máy máy tính & truyền thông liệu Tài liệu ? ?Cơ sở liệu? ?? không... gia vào xây dựng cơng trình Cơng ty xây dựng ABC tổ chức quản lý nhƣ sau: Cùng lúc cơng ty tham gia xây dựng nhiều cơng trình, cơng trình có mã số cơng trình (MACT), mã số cơng trình xác định thơng

Ngày đăng: 29/12/2022, 16:00

Tài liệu cùng người dùng

Tài liệu liên quan