Giáo trình Cơ sở dữ liệu (Nghề Ứng dụng phần mềm Trình độ Cao đẳng)

68 7 0
Giáo trình Cơ sở dữ liệu (Nghề Ứng dụng phần mềm  Trì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

1 UDPM-CĐ-MĐ12-CSDL TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Cơ sở liệu môn học sở chuyên ngành quan trọng tin học Mục đích giáo trình Cơ sở liệu nhằm chuẩn hóa tài liệu học tập cho sinh viên hệ cao đẳng nghề chuyên ngành Công Nghệ Thông Tin, đồng thời tài liệu tham khảo chuyên ngành khác lĩnh vực Tin học Giáo trình giúp học viên tiếp cận vấn đề cốt lõi mặt lý thuyết: định nghĩa, khái niệm, hệ quả, định lý, giải thuật,…từ áp dụng vào tốn thực tế thiết kế chuẩn hóa sở liệu nói riêng thiết kế hệ thống thơng tin nói chung Giáo trình khơng sâu vào việc chứng minh định lý mà trọng đến việc giải thích ý nghĩa thực tế cơng thức lý thuyết để từ hướng dẫn học viên cách tiếp cận tư logic, nắm vững kỹ thuật tính tốn bước triển khai giải tốn thực tế khía cạnh cơng nghệ Nội dung giáo trình chia làm chương: Chương I: Mơ hình quan hệ Chương II: Ngơn ngữ truy vấn (SQL) Chương III : Ràng buộc toàn vẹn quan hệ Chương IV: Phụ thuộc hàm Chương V: Phủ tập phụ thuộc hàm Chương VI: Chuẩn hóa sở liệu Hy vọng sách tài liệu tham khảo hữu ích cho đồng nghiệp giảng dạy, nghiên cứu lĩnh vực có liên quan Giáo trình ngồi tài liệu tham khảo cịn có sử dụng tài liệu tham khảo nội đồng nghiệp khác Rất mong nhận nhiều ý kiến đóng góp, trao đổi bạn đọc Xin chân thành cảm ơn! Cần Thơ, ngày 16 tháng năm 2018 Tham gia biên soạn Nguyễn Thị Thúy Lan MỤC LỤC TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU MỤC LỤC CHƯƠNG TRÌNH MƠ ĐUN CƠ SỞ DỮ LIỆU Chương 1: MƠ HÌNH QUAN HỆ Nguyên nhân đời mơ hình quan hệ Hệ quản trị sở liệu 2.1 Cơ sở liệu 2.2 Hệ quản trị sở liệu 2.3 Người dùng Mơ hình quan hệ 3.1 Mơ hình quan hệ gì? 3.2 Các khái niệm mô hình quan hệ 3.3 Các phép toán tập hợp 10 3.4 Các phép toán quan hệ 11 Mô hình thực thể kết hợp 13 4.1 Giới thiệu mô hình thực thể kết hợp 13 4.2 Chuyển từ mơ hình thực thể kết hợp sang lược đồ sở liệu 16 Chương 2: NGÔN NGỮ TRUY VẤN SQL 24 Cách tạo quan hệ Access 24 Câu lệnh truy vấn (STRUCTURE QUERY LANGUAGE) 26 Chương RÀNG BUỘC TOÀN VẸN 37 Ràng buộc toàn vẹn - Các yếu tố ràng buộc toàn vẹn 37 Phân loại ràng buộc toàn vẹn 39 Chương 4: PHỤ THUỘC HÀM 44 Khái niệm phụ thuộc hàm 44 1.1 Định nghĩa phụ thuộc hàm 44 1.2 Phụ thuộc hàm hiển nhiên 44 1.3 Thuật toán Satifies 44 Hệ luật dẫn Armstrong 45 2.1 Phụ thuộc hàm suy diễn logic từ F 45 2.2 Hệ luật dẫn Armstrong 46 Chương PHỦ CỦA TẬP PHỤ THUỘC HÀM 47 Định nghĩa 47 Phủ tối thiểu tập phụ thuộc hàm 47 2.1 Phụ thuộc hàm có vế trái dư thừa 47 2.2 Phụ thuộc hàm có vế phải thuộc tính 48 2.3 Tập phụ thuộc hàm không dư thừa 48 2.4 Thuật tốn tìm phủ tối thiểu 48 Khóa lược đồ quan hệ 48 3.1 Định nghĩa 48 3.2 Thuật toán tìm tất khóa 49 Chương CHUẨN HÓA CƠ SỞ DỮ LIỆU 51 Dạng chuẩn lược đồ quan hệ 51 1.1 Dạng chuẩn (First Normal Form) 51 1.2 Dạng chuẩn (Second Normal Form) 51 1.3 Dạng chuẩn (Third Normal Form) 52 1.4 Dạng chuẩn Boyce – Codd 53 Phép tách kết nối bảo toàn 54 Thiết kế sở liệu cách phân rã 59 TÀI LIỆU THAM KHẢO 66 CHƯƠNG TRÌNH MƠ ĐUN CƠ SỞ DỮ LIỆU Tên mô đun: CƠ SỞ DỮ LIỆU Mã mô đun: MĐ12 Thời gian thực mô đun: 90 giờ; (Lý thuyết: 30 giờ; Thực hành: 54 giờ; Kiểm tra: giờ) I VỊ TRÍ, TÍNH CHẤT CỦA MƠ ĐUN: - Vị trí: Mơn học học sau mơn Tin học - Tính chất: Cơ sở liệu mơn học sở nghề bắt buộc chương trình đào tạo Cao đẳng Công nghệ thông tin (ứng dụng phần mềm) II MỤC TIÊU CỦA MÔ ĐUN:  Kiến thức: + Hiểu nguyên lý thiết kế sở liệu quan hệ; + Hiểu mơ hình liệu công cụ mô tả liệu; + Hiểu khái niệm, tính phương thức xử lý liệu hệ quản trị sở liệu SQL; + Biết cách xây dựng ràng buộc, phụ thuộc hàm, cách chuẩn hóa sở liệu quan hệ;  Kỹ năng: Nghiêm túc, tỉ mỉ, sáng tạo trình tiếp thu kiến thức vận dụng vào việc xây dựng sở liệu cụ thể  Năng lực tự chủ trách nhiệm: Chủ động, tích cực tìm hiểu tài liệu nguồn tập liên quan III NỘI DUNG MÔ ĐUN: Nội dung tổng quát phân bổ thời gian: Số TT I Thời gian Tên mô đun Lý thuyết Thực hành, 12 0.5 0.5 0.5 0.5 Bài tập 0 Mơ hình quan hệ Mơ hình thực thể kết hợp Bài 1: Mơ hình quan hệ Ngun nhân đời mơ hình quan hệ Hệ quản trị sở liệu Tổng số Kiểm tra* (LT TH) 0 Kiểm tra 0 Bài 2: Ngôn ngữ truy vấn SQL 32 10 21 Cách tạo quan hệ Access Câu lệnh truy vấn 26 18 Kiểm tra 0 Bài 3: Ràng buộc toàn vẹn quan hệ Ràng buộc toàn vẹn-Các yếu tố ràng buộc toàn vẹn Phân loại ràng buộc toàn vẹn Bài 4: Phụ thuộc hàm 4 1 0 12 4 0 Khái niệm phụ thuộc hàm 1 0 Hệ luật dẫn Armstrong 11 V Bài 5: Phủ tập phụ thuộc hàm 14 VI Định nghĩa Phủ tối thiểu tập phụ thuộc hàm Khóa lược đồ quan hệ Kiểm tra Bài 6: Chuẩn hóa Cơ sở liệu Các dạng chuẩn lược đồ quan hệ Phép tách kết nối bảo toàn Thiết kế sở liệu cách tách Kiểm tra Tổng cộng 6 12 90 1 1 30 56 0 1 0 II III IV Chương 1: MƠ HÌNH QUAN HỆ Mã chương: MĐ12-01 Mục tiêu:  Hiểu khái niệm sở liệu, hệ quản trị sở liệu mơ hình quan hệ;  Biết cách chuyển đổi từ lược đồ sở liệu sang mơ hình quan hệ liệu;  Áp dụng phép toán đại số quan hệ để biểu diễn lược đồ quan hệ;  Nghiêm túc, tỉ mỉ việc học làm tập Nội dung: Nguyên nhân đời mô hình quan hệ Trong nhiều năm, cơng nghệ tính tốn thông tin phát triển từ hệ thống lớn, đắt tiền, độc quyền đến hệ thống mở mạnh không đắt tiền Sự phát triển mang lại lợi ích to lớn cho người dùng cuối phát triển gói ứng dụng số xử lý văn bản, bảng tính điện tử, văn phịng xuất bản, hệ quản lý sở liệu, máy tính trợ giúp cơng nghệ phần mềm Trước máy tính hóa sở liệu đươc giới thiệu, liệu lưu trữ theo kiểu điện tử thành nhiều tập tin riêng biệt sử dụng hệ tập tin (từ sau ta gọi hệ tập tin theo lối cũ) Những tập tin xử lý ngôn ngữ hệ thứ ba COBOL, FORTRAN, PASCAL BASIC để tạo giải pháp cho vấn đề doanh nghiệp Mỗi ứng dụng, chẳng hạn hệ tính lương, hệ kho hay hệ thống kế tốn có tập tập tin riêng chứa liệu riêng Các ứng dụng tạo ba vấn đề sau: - Có liên kết chặt chẽ cấu trúc luận lý cấu trúc vật lý tập tin chương trình ứng dụng khai thác chúng Điều khiến việc tạo nên ứng dụng khó khăn, tốn nhiều thời gian mà tốn bảo trì hệ thống - Có dư thừa liệu lớn qua việc trùng lắp tập tin ứng dụng khác Điều tạo vấn đề như: liệu thiếu quán, không gian đĩa bị lãng phí, thời gian bảo trì lưu phịng hờ tập tin gia tăng, vấn đề quản trị không trọng bảo mật tổ chức liệu thiếu thống Một ví dụ điển hình trùng lắp liệu là: 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 đề phức tạp Hệ lương thơng thường quản lý phịng tài chánh, Hệ nhân Hệ hưu quản lý phịng tổ chức Rõ ràng, có nhiều liệu nhân viên chung cho ba hệ Thường hệ thực giữ gìn riêng biệt chúng tạo trùng liệu nhân viên mà chúng dùng - Người sử dụng có khả khai thác trực tiếp liệu Hệ quản trị sở liệu Khởi đầu, giới thiệu CSDL HQTCSDL nhằm giải vấn đề hệ thông tin dựa tập tin theo lối cũ (C1.I) Điều tạo việc phát triển hai mươi lăm năm qua hệ CSDL quan hệ thương mại xuất cuối năm thập niên 70 năm đầu thập niên 80 Trước xem xét CSDL hệ QTCSDLQH giải vài vấn đề hệ thông tin theo lối cũ cần làm rõ vài khái niệm 2.1 Cơ sở liệu Một sở liệu định nghĩa tạm sau: chỗ chứa có tổ chức tập hợp tập tin liệu có tương quan, mẫu tin cột Ngày CSDL tồn ứng dụng thơng dụng, ví dụ: - Hệ kho kiểm kê - Hệ đặt chỗ máy bay - Hệ nguồn nhân lực - Hệ dịch vụ công cộng cấp nước, điện, khí đốt - Điều khiển trình chế tạo sản xuất 2.2 Hệ quản trị sở liệu Một hệ quản trị CSDL (HQTCSDL) là: - Một tập phần mềm quản lý CSDL cung cấp dịch vụ xử lý CSDL cho người phát triển ứng dụng người dùng cuối - HQTCSDL cung cấp giao diện người sử dụng liệu - HQTCSDL biến đổi CSDL vật lý thành CSDL logic Dựa vào cách tổ chức liệu, HQTCSDL chia thành năm loại: - Loại phân cấp hệ IMS IBM - Loại mạng IDMS Cullinet Software - Loại tập tin đảo ADABAS Software AG - Loại quan hệ như ORACLE Oracle, DB2 IBM, ACCESS Microsoft Access - Loại đối tượng tiếp cận thiết kế HQTCSDL việc sử dụng loại sớm trở nên phổ biến Hiện tại, loại HQTCSDL sử dụng cơng nghệ loại QTCSDL quan hệ (RDBMS) Loại chiếm lĩnh công nghệ 10-15 năm cuối đánh bật loại HQTCSDL phân cấp gần HQTCSDL mạng 2.3 Người dùng Người dùng khai thác CSDL thông qua HQTCSDL phân thành ba loại: người quản trị CSDL, người phát triển ứng dụng lập trình, người dùng cuối - Người quản trị CSDL, hàng ngày, chịu trách nhiệm quản lý bảo trì CSDL như: + Sự xác tồn vẹn liệu ứng dụng CSDL, bảo mật CSDL + Lưu phòng hờ phục hồi CSDL + Giữ liên lạc với người phát triển ứng dụng, người lập trình người dùng cuối + Bảo đàm hoạt động trôi chảy hiệu CSDL HQTCSDL Người phát triển lập trình ứng dụng người chuyên nghiệp máy tính có trách nhiệm thiết kế, tạo dựng bảo trì hệ thơng tin cho người dùng cuối Người dùng cuối người không chuyên máy tính họ chuyên gia lãnh vực khác có trách nhiệm cụ thể tổ chức Họ khai thác CSDL thông qua hệ phát triển người phát triển ứng dụng hay công cụ truy vấn HQTCSDL Mơ hình quan hệ 3.1 Mơ hình quan hệ gì? Mơ hình liệu quan hệ (Relational Data Model) – cịn gọi tắt mơ hình quan hệ (Relation Model) E.F.Codd đề xuất năm 1970 Nền tảng khái niệm lý thuyết tập hợp quan hệ, tức tập giá trị (Value Tuples) Trong mơ hình liệu khái niệm sử dụng bao gồm thuộc tính (Attribute), quan hệ (Relation), lược đồ quan hệ (Relation Schema), (Typle), khóa (Key) Mơ hình liệu quan hệ mơ hình nghiên cứu nhiều nhất, cho thấy có sở lý thuyết vững Mơ hình liệu với mơ hình liệu thực thể kết hợp sử dụng rộng rãi việc phân tích thiết kế CSDL Chúng ta nghiên cứu chi tiết mô hình liệu chương sau 3.2 Các khái niệm mơ hình quan hệ  Thuộc tính Thuộc tính đặc điểm riêng đối tượng (đối tượng hiểu loại thực thể mơ hình thực thể kết hợp), thuộc tính có tên gọi phải thuộc kiểu liệu định Kiểu liệu (data type): Các thuộc tính phân biệt qua tên gọi phải thuộc kiểu liệu định (số, chuỗi, ngày tháng, logic, hình ảnh,…) Kiểu liệu kiểu vơ hướng kiểu có cấu trúc Nếu thuộc tính có kiểu liệu vơ hướng gọi thuộc tính đơn hay thuộc tính nguyên tố, thuộc tính có kiểu liệu có cấu trúc ta nói khơng phải thuộc tính ngun tố Chẳng hạn với sinh viên Nguyễn Văn Thành thuộc tính họ tên, mã số sinh viên thuộc kiểu chuỗi, thuộc tính ngày sinh thuộc kiểu ngày tháng, hộ thường trú kiểu chuỗi, thuộc tính hình ảnh kiểu hình ảnh,… Miền giá trị (domain of values): Thơng thường thuộc tính chọn lấy giá trị tập kiểu liệu tập hợp gọi miền giá trị thuộc tính Chẳng hạn thuộc tính NỮ có miền giá trị {nam,nữ}, thuộc tính màu da có miền giá trị {da trắng, da vàng, da đen, da đỏ}, thuộc tính điểm thi số thuộc tập {0; 1; 2;…,10] Lưu ý không lưu ý đến ngữ nghĩa tên thuộc tính thường ký hiệu chữ in hoa bảng chữ la tinh: A,B,C,D,… Những chữ in hoa X,Y,Z,W,… thường dùng thay cho nhóm nhiều thuộc tính Đơi cịn dùng ký hiệu chữ với số A1,A2,…,An để thuộc tính trường hợp tổng quát hay muốn đề cập đến số lượng thuộc tính Tên thuộc tính phải đặt cách gợi nhớ, khơng nên đặt tên thuộc tính dài (vì làm cho việc viết câu lệnh truy vấn trở nên vất vả hơn), khơng nên đặt tên thuộc tính q ngắn (vì khơng cho thấy ngữ nghĩa thuộc tính), đặc biệt khơng đặt trùng tên hai thuộc tính mang ngữ nghĩa khác thuộc hai đối tượng khác Trong nhiều hệ quản trị sở liệu, người ta thường đưa thêm vào miền giá trị thuộc tính giá trị đặc biệt gọi giá trị rỗng (NULL) Tuỳ theo ngữ cảnh mà giá trị đặc trưng cho giá trị xác định giá trị chưa xác định vào thời điểm nhập tin xác định vào thời điểm khác  Lược Đồ Quan Hệ (relation schema) Tập tất thuộc tính cần quản lý đối tượng với mối liên hệ 52 Bước 2: Với khóa K, tìm bao đóng tất tập thực K Bước 3: Nếu có bao đóng S+ chứa thuộc tính khơng khóa R khơng đạt chuẩn Ngược lại đạt chuẩn Ví dụ: Cho lược đồ quan hệ R(ABCD) tập phụ thuộc hàm F={AB→C; B→D; BC→A} Hỏi R có đạt chuẩn hay khơng? Giải: - Tìm tất khóa R: TN = {B}, TG = {AC} Xi TN  Xi (TN  Xi)+ Siêu khóa Khóa  B BD A BA BACD BA BA C BC BCAD BC BC AC BAC BACD BAC Tất khóa R K1 = {BA}, K2 = {BC} Gọi Z tập thuộc tính khóa, X tập thuộc tính khơng khóa, ta có: Z = K1  K2 = {BAC} X = R+ \ Z = {ABCD} \ {BAC} = {D} Ta thấy B⊂K1, B→D, mà D thuộc tính khơng khóa Vì thuộc tính khơng khóa D khơng phụ thuộc đầy đủ vào khóa nên R khơng đạt chuẩn 1.3 Dạng chuẩn (Third Normal Form) Định nghĩa: Một lược đồ quan hệ R đạt chuẩn (3NF) 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 Hệ quả: Nếu R đạt chuẩn R đạt chuẩn 2 Nếu R khơng có thuộc tính khơng khóa R đạt chuẩn Định lý: R lược đồ quan hệ F tập phụ thuộc hàm có vế phải thuộc tính R đạt 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 (Việc chứng minh định lý xem tập nâng cao) Thuật toán kiểm tra dạng chuẩn 3: Vào: lược đồ quan hệ R, tập phụ thuộc hàm F Ra: Khẳng định R đạt không đạt chuẩn Bước 1: Tìm tất khóa R Bước 2: Từ F tạo tập phụ thuộc hàm tương đương Ftt có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X→A ∈ Ftt với A ∉ X có X siêu khóa A thuộc tính khóa R đạt chuẩn Ngược lại R khơng đạt chuẩn Ví dụ: Cho lược đồ quan hệ R(ABCD), F = {AB→C; D→B; C→ABD} Hỏi R có đạt chuẩn hay khơng? Giải: - Tìm tất khóa R: 53 TN={∅} TG={ABCD} Xi TN    Xi (TN Xi)+  Siêu khóa Khóa  A A A B B B C C CABD C C D D DB AB AB ABCD AB AB AC AC ACBD AC AD AD ADBC AD AD BC BC BCAD BC BD BD BD CD CD CDAB CD ABC ABC ABCD ABC ABD ABD ABDC ABD ACD ACD ACDB ACD BCD BCD BCDA BCD ABCD ABCD ABCD ABCD Tất khóa R K1 = {C}, K2 = {AB}, K3 = {AD} Gọi Z tập thuộc tính khóa, X tập thuộc tính khơng khóa, ta có: Z = K1  K2  K3 = {CABD} X = R+ \ Z = {ABCD} \ { CABD } = {  } Vì tập thuộc tính khơng khóa X = {  } nên R đạt chuẩn (theo hệ 2) 1.4 Dạng chuẩn Boyce – Codd Định nghĩa: Một lược đồ quan hệ R đạt dạng chuẩn BC phụ thuộc hàm X→A ∈ F+ với A∉X có X siêu khóa Hệ quả: Nếu R đạt chuẩn BC R đạt chuẩn (hiển nhiên định nghĩa) Mỗi lược đồ có hai thuộc tính đạt chẩn BC (xét phụ thuộc hàm có R) Định lý: R lược đồ quan hệ F tập phụ thuộc hàm có vế phải thuộc tính R đạt chuẩn BC phụ thuộc hàm X→A ∈ F+ với A∉X có X siêu khóa (Việc chứng minh định lý xem tập nâng cao) Thuật toán kiểm tra dạng chuẩn BC: Vào: lược đồ quan hệ R, tập phụ thuộc hàm F Ra: Khẳng định R đạt khơng đạt chuẩn BC Bước 1: Tìm tất khóa R Bước 2: Từ F tạo tập phụ thuộc hàm tương đương Ftt có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X→A ∈ Ftt với A ∉ X có X siêu khóa R đạt chuẩn BC Ngược lại R khơng đạt chuẩn BC Ví dụ: 54 Cho lược đồ quan hệ R(ABCDEI), F = {ACD→EBI; CE→AD} Hỏi R có đạt chuẩn BC hay khơng? Giải: - Tìm tất khóa R: TN={C} TG={ADE} Xi TN  Xi (TN  Xi)+ Siêu khóa Khóa  C C A CA CA D CD CD E CE CEADBI CE CE AD CAD CADEBI CAD CAD AE CAE CAEDBI CAE DE CDE CDEABI CDE ADE CADE CADEBI CADE Tất khóa R K1 = {CE}, K2 = {CAD} Gọi Z tập thuộc tính khóa, X tập thuộc tính khơng khóa, ta có: Z = K1  K2 = {CEAD} X = R+ \ Z = { ABCDEI } \ { CEAD } = {BI} - Tìm Ftt có vế phải thuộc tính Ftt = { ACD→E; ACD→B; ACD→I; CE→A; CE→D } Ta nhận thấy phụ thuộc hàm Ftt có vế trái siêu khóa nên R đạt chuẩn BC Thuật tốn kiểm tra dạng chuẩn lược đồ quan hệ Vào : lược đồ quan hệ R, tập phụ thuộc hàm F Ra : khẳng định R đạt chuẩn gì? Bước 1: Tìm tất khóa R Bước 2: Kiểm tra chuẩn BC, R đạt chuẩn BC, kết thúc thuật toán Ngược lại qua bước Bước 3: Kiểm tra chuẩn 3, R đạt chuẩn 3, kết thúc thuật toán, ngược lại qua bước Bước 4: Kiểm tra dạng chuẩn 2, R đạt chuẩn 2, kết thúc thuật toán, ngược lại R đạ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ệ Phép tách kết nối bảo toàn Phép tách lược đồ quan hệ Định nghĩa Phép tách lược đồ quan hệ R={A1, A2, , An}là việc thay lược đồ quan hệ R thành lược đồ {R1, , Rk}, Ri⊆R R=R1 ∪ R2…∪ Rk Cho quan hệ R với phụ thuộc hàm sau 55 Lược đồ quan hệ R Ta tách thành lược đồ R1(MaSV, TenSV, Lop) Phép tách không mát thông tin Cho R lược đồ quan hệ, phép rã ρ=(R1,R2, ,Rn) D tập phụ thuộc liệu Phép tách ρ không mát thông tin thực phép toán kết nối tự nhiên quan hệ thành phần R1, R2,…,Rn ta nhận kết quan hệ ban đầu Ví dụ phép tách có mát thơng tin: Cho quan hệ Quan hệ mẫu MaSV MaMH Điem A A A B C Nếu ta tách quan hệ thành quan hệ: R1(MaSV, MaMH) R2(MaMH, Điem) sau: R1 R2: R1 MaSV MaMH A A A B C R2 MaMH Điem 56 A A A B C Thực phép kết nối tự nhiên quan hệ R1 R2: R1*R2= R1*R2 MaSV MaMH Điem A A A A A A A 3 A A B C Như vậy, nối tự nhiên bảng, ta nhận quan hệ không giống quan hệ ban đầu→ Phép tách mát thông tin Vấn đề đặt người thiết kế phải tìm phép tách khơng làm mát thơng tin (chi tiết trình bày phần sau) Bây tìm hiểu thuật toán để kiểm tra phép tách có thơng tin hay khơng    Thuật tốn kiểm tra phép tách khơng thơng tin Input Lược đồ quan hệ R={A1, A2, , An} Tập phụ thuộc hàm F Phép tách ρ(R1, R2, , Rk) Output 57     Kết luận phép tách ρ không mát thơng tin Các bước thuật tốn Bước Thiết lập bảng với n cột (tương ứng với n thuộc tính) k dịng (tương ứng với k quan hệ), cột thứ j ứng với thuộc tính Aj, dòng thứ i ứng với lược đồ Ri Tại dòng i cột j, ta điền ký hiệu aj thuộc tinh Aj∈Ri.Ngược lại ta điền ký hiệu bij Bước Xét phụ thuộc hàm F áp dụng cho bảng Giả sử ta có phụ thuộc hàm X→Y∈F, xét dịng có giá trị thuộc tính X làm bằngcác giá trị chúng Y Ngược lại làm chúng ký hiệu bij Tiếp tục áp dụng pth cho bảng (kể việc lặp lại phụ thuộc hàm áp dụng) khơng cịn áp dụng Bước Xem xét bảng kết Nếu xuất dịng chứa tồn giá trị a1, a2 ,…,an kết luận phép tách ρ khơng mát thông tin Cho quan hệ Minh họa liệu quan hệ EMP_DEPT Tách quan hệ thành quan hệ 58 Quan hệ EMPLOYEE tách (tách) thành quan hệ Tập phụ thuộc hàm F Tập phụ thuộc hàm F Kiểm tra phép tách không mát thông tin: Bước Bước EName SSN BDate Address DNumber DName DMgrSsn EMPLOYEE a1 DEPARTMENT b21 a2 a3 a4 a5 b16 b17 b22 b23 b24 a5 a6 a7 Bước 2: Xét phụ thuộc hàm DNumber→ DName, DMgrSsn Ta nhận thấy có giá trị a5 dịng thứ 2, nên ta làm giá trị a6, a7 cho dòng thứ Bước 3: Tồn dòng chứa giá trị a1, a2, a7 Kết luận, phép tách không mát thông tin 59 Bước EName SSN BDate Address DNumber DName DMgrSsn EMPLOYEE a1 DEPARTMENT b21 a2 a3 a4 a5 a6 a7 b22 b23 b24 a5 a6 a7 Sinh viên thực phép nối tự nhiên quan hệ EMPLOYEE DEPARTMENT để kiểm tra có quan hệ ban đầu EMP_DEPT Thiết kế sở liệu cách phân rã Thiết kế sở liệu cách phân rã lược đồ quan hệ thành lược đồ dạng chuẩn BCNF cho bảo toàn phụ thuộc khơng liệu Thuật tốn phân rã lược đồ quan hệ thành lược đồ 3NF         o o o   Input Lược đồ quan hệ R Tập phụ thuộc hàm F, không làm tính tổng qt giả sử phủ tối thiểu Output Phép phân rã không mát thông tin R thành lược đồ dạng chuẩn cho bảo toàn phụ thuộc hàm Các bước thuật toán Bước 1: Loại bỏ thuộc tính R thuộc tính khơng liên quan đến phụ thuộc hàm F.(khơng có mặt hai vế phụ thuộc hàm) Bước 2: Nếu có phụ thuộc hàm F liên quan đến tất thuộc tính R kết R Bước 3: Ngồi ra, phép phân rã ρ đưa lược đồ gồm thuộc tính XA ứng với phụ thuộc hàm X→A ∈F Nếu tồn phụ thuộc hàm X→A1, X→A2, …,X→An thuộc F thay XAi (1

Ngày đăng: 16/12/2023, 20:12

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

Tài liệu liên quan