CHƯƠNG VI: CHUẨN HÓA CSDL

20 2 0
CHƯƠNG VI: CHUẨN HÓA CSDL

Đ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

Kỹ Thuật - Công Nghệ - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Kế toán CHƯƠNG VI: CHUẨN HÓA CSDL Cơ sở dữ liệu 2 NỘI DUNG  Nguyên tắc thiết kế CSDL  Phép tách các lược đồ quan hệ  Các dạng chuẩn của lược đồ quan hệ I. Nguyên tắc thiết kế CSDL Cơ sở dữ liệu 3 Cơ sở dữ liệu 4 Cơ sở dữ liệu 5 II. Các dạng chuẩn của lược đồ quan hệ  Chuẩn hóa là quá trình phân tích các quan hệ cho trước dựa trên tập phụ thuộc hàm và khóa chính để: - Tối thiểu việc dư thừa thông tin - Tránh dị thường thông tin - Truy cập nhanh  Chuẩn hóa các bảng: là việc áp dụng một số quy tắc để đưa các bảng từ dạng chuẩn thấp lên dạng chuẩn cao hơn  quá trình này thực hiện theo phương pháp trên xuống bằng việc đánh giá mối quan quan hệ và tách quan hệ nếu cần  Cơ sở của chuẩn hóa dựa trên: phụ thuộc hàm, phụ thuộc đầy đủ, khóa, thuộc tính không khóa,… Cơ sở dữ liệu 6  Các loại dạng chuẩn gồm: - Dạng chuẩn 1 (1NF – First Normal Form) - Dạng chuẩn 2 (2NF – Second Normal Form) - Dạng chuẩn 3 (3NF) - Dạng chuẩn Boye Code (BCNF) Cơ sở dữ liệu 7 1. Một số khái niệm cơ bản  Thuộc tính khoá và không khoá: Cho lược đồ quan hệ R trên tập thuộc tính U={A1, .., An}. - Thuộc tính A U được gọi là thuộc tính khoá nếu A là một thành phần thuộc một khoá tối thiểu nào đó của R - ngược lại A được gọi là thuộc tính không khóa - Ví dụ: Cho lược đồ R = U = { A, B, C, D } F = { AB C, B D, BC A }  Ta thấy AB và BC là khoá. A, B, C là thuộc tính khoá D là thuộc tính không khoá Cơ sở dữ liệu 8  Phụ thuộc hàm đầy đủ: Cho lược đồ quan hệ R(U) với U = { A1, ... ,Ak}. X,Y U, và X ≠ Y. Nói rằng, Y là phụ thuộc hàm đầy đủ vào X nếu: - X Y thuộc F+ - với mọi tập con thực sự X’ của X thì X’ Y không thuộc F+  Y phụ thuộc hàm đầy đủ vào X nếu Y phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của X  Ví dụ: Cho tập F={AB->C; A->C} thì ta thấy AB->C là phụ thuộc hàm không đầy đủ vì C còn phụ thuộc hàm vào A. Cơ sở dữ liệu 9  Phụ thuộc bắc cầu: Cho lược đồ quan hệ R(U); X U, A U, F là phụ thuộc hàm trên R  A được gọi là phụ thuộc bắc cầu vào X trên R nếu Y, Y U sao cho X Y, Y A thuộc F+ nhưng Y X không thuộc F+  Ngược lại, nói rằng A không phụ thuộc bắc cầu vào X hay A phụ thuộc trực tiếp vào X  Ví dụ: Cho tập F={A->B; B->C; A->D} =>C phụ thuộc bắc cầu vào A Và D phụ thuộc trực tiếp vào A Cơ sở dữ liệu 10 2. Dạng chuẩn 1NF  Định nghĩa: Quan hệ được gọi là ở chuẩn 1NF nếu các giá trị của tất cả các thuộc tính đều phải là nguyên tử (đơn, không phân chia được) => không chứa các thuộc tính có giá trị lặp hoặc đa trị  Cách khác: bảng ở dạng 1NF là bảng có tồn tại PTH có nguồn là một phần của khóa (phụ thuộc bộ phận) .  Chú ý: khi xét dạng chuẩn nếu không nói gì thêm thì dạng chuẩn đang xét ít nhất là đạt dạng chuẩn một  Biểu diễn sơ đồ: R(A1,A2,A3, A4, A5) Cơ sở dữ liệu 11 VD: Cho bảng quan hệ GD (TenGV, MONGD) C, VISUAL BASIC, TK WEPHà PASCAL, NM CSDNLan MonGDTenGV Không ở 1NF TK WEPHà VISUAL BASICHà NM CSDNLan CHà PASCALLan MonGDTenGV ở 1NF Cơ sở dữ liệu 12  Kết luận: Để kiểm tra một lược đồ có là dạng 1NF không thực hiện kiểm tra nếu thỏa mãn: - Không có thuộc tính là thuộc tính đa trị - Không có thuộc tính là thuộ...

CHƯƠNG VI: CHUẨN HÓA CSDL NỘI DUNG  Nguyên tắc thiết kế CSDL  Phép tách các lược đồ quan hệ  Các dạng chuẩn của lược đồ quan hệ Cơ sở dữ liệu 2 I Nguyên tắc thiết kế CSDL Cơ sở dữ liệu 3 Cơ sở dữ liệu 4 II Các dạng chuẩn của lược đồ quan hệ  Chuẩn hóa là quá trình phân tích các quan hệ cho trước dựa trên tập phụ thuộc hàm và khóa chính để: - Tối thiểu việc dư thừa thông tin - Tránh dị thường thông tin - Truy cập nhanh  Chuẩn hóa các bảng: là việc áp dụng một số quy tắc để đưa các bảng từ dạng chuẩn thấp lên dạng chuẩn cao hơn  quá trình này thực hiện theo phương pháp trên xuống bằng việc đánh giá mối quan quan hệ và tách quan hệ nếu cần  Cơ sở của chuẩn hóa dựa trên: phụ thuộc hàm, phụ thuộc đầy đủ, khóa, thuộc tính không khóa,… Cơ sở dữ liệu 5  Các loại dạng chuẩn gồm: - Dạng chuẩn 1 (1NF – First Normal Form) - Dạng chuẩn 2 (2NF – Second Normal Form) - Dạng chuẩn 3 (3NF) - Dạng chuẩn Boye Code (BCNF) Cơ sở dữ liệu 6 1 Một số khái niệm cơ bản  Thuộc tính khoá và không khoá: Cho lược đồ quan hệ R trên tập thuộc tính U={A1, , An} - Thuộc tính A U được gọi là thuộc tính khoá nếu A là một thành phần thuộc một khoá tối thiểu nào đó của R - ngược lại A được gọi là thuộc tính không khóa - Ví dụ: Cho lược đồ R = U = { A, B, C, D } F = { AB C, B D, BC A }  Ta thấy AB và BC là khoá A, B, C là thuộc tính khoá D là thuộc tính không khoá Cơ sở dữ liệu 7  Phụ thuộc hàm đầy đủ: Cho lược đồ quan hệ R(U) với U = { A1, ,Ak} X,Y U, và X ≠ Y Nói rằng, Y là phụ thuộc hàm đầy đủ vào X nếu: - X Y thuộc F+ - với mọi tập con thực sự X’ của X thì X’ Y không thuộc F+  Y phụ thuộc hàm đầy đủ vào X nếu Y phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của X  Ví dụ: Cho tập F={AB->C; A->C} thì ta thấy AB->C là phụ thuộc hàm không đầy đủ vì C còn phụ thuộc hàm vào A Cơ sở dữ liệu 8  Phụ thuộc bắc cầu: Cho lược đồ quan hệ R(U); X U, A U, F là phụ thuộc hàm trên R  A được gọi là phụ thuộc bắc cầu vào X trên R nếu Y, Y U sao cho X Y, Y A thuộc F+ nhưng Y X không thuộc F+  Ngược lại, nói rằng A không phụ thuộc bắc cầu vào X hay A phụ thuộc trực tiếp vào X  Ví dụ: Cho tập F={A->B; B->C; A->D} =>C phụ thuộc bắc cầu vào A Và D phụ thuộc trực tiếp vào A Cơ sở dữ liệu 9 2 Dạng chuẩn 1NF  Định nghĩa: Quan hệ được gọi là ở chuẩn 1NF nếu các giá trị của tất cả các thuộc tính đều phải là nguyên tử (đơn, không phân chia được) => không chứa các thuộc tính có giá trị lặp hoặc đa trị  Cách khác: bảng ở dạng 1NF là bảng có tồn tại PTH có nguồn là một phần của khóa (phụ thuộc bộ phận)  Chú ý: khi xét dạng chuẩn nếu không nói gì thêm thì dạng chuẩn đang xét ít nhất là đạt dạng chuẩn một  Biểu diễn sơ đồ: R(A1,A2,A3, A4, A5) Cơ sở dữ liệu 10 VD: Cho bảng quan hệ GD (Ten_GV, MON_GD) Ten_GV Mon_GD Lan PASCAL, NM CSDN Không ở 1NF Hà C, VISUAL BASIC, TK WEP ở 1NF Ten_GV Mon_GD 11 Lan PASCAL Lan NM CSDN Hà C Hà VISUAL BASIC Hà TK WEP Cơ sở dữ liệu  Kết luận: Để kiểm tra một lược đồ có là dạng 1NF không thực hiện kiểm tra nếu thỏa mãn: - Không có thuộc tính là thuộc tính đa trị - Không có thuộc tính là thuộc tính phức hợp Cơ sở dữ liệu 12 2 Dạng chuẩn 2NF  Định nghĩa: Lược đồ quan hệ R ở 2NF khi và chỉ khi - R đã là 1NF - Mọi thuộc tính không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính  Cách khác: lược đồ quan hệ R được gọi là 2NF nếu tồn tại phụ thuộc hàm bắc cầu vào khóa  Biểu diễn sơ đồ: R(A1,A2,A3, A4, A5)  Mục đích: - giản ước sự dư thừa dữ liệu - tránh các dị thường cập nhật gây nên do sự dư thừa dữ liệu này Cơ sở dữ liệu 14 Cơ sở dữ liệu 15 Thuật toán kiểm tra dạng chuẩn 2  Bước 1: Tìm tất cả các khóa của quan hệ  Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả các tập con thực sự S của K - Chú ý: nếu khóa có một thuộc tính đơn thì không cần phải kiểm tra  Bước 3: nếu có bao đóng S+ chứa thuộc tính không khóa thì quan hệ không đạt chuẩn 2 ngược lại thì quan hệ đạt chuẩn 2  Nhận xét: - Nếu mọi khóa của lược đồ quan hệ R chỉ có 1 thuộc tính thì R là 2NF - R là 2NF X → A F+, với X K (K là khóa của R) thì:  hoặc A là thuộc tính khóa  hoặc A X (X → A là phụ thuộc hàm tầm thường) Cơ sở dữ liệu 16  Ví dụ 1: Cho LĐQH R = {A,B,C,D,E,G} và - F = { A → BC, C → DE, E → G }  Ta thấy A là khóa vì A+ = R (tập thuộc tính của quan hệ)  Các thuộc tính không khóa là {B,C,D,E,G}  Do khóa chỉ có một thuộc tính (các thuộc tính khác phụ thuộc đầy đủ vào khóa) => quan hệ R ở 2NF Cơ sở dữ liệu 17  Ví dụ 2: Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F = {AB C, B D, BC A} Hỏi Q có đạt chuẩn 2 không?  Khóa là K1 = AB và K2 = BC  Ta thấy B+ = BD  Vậy: - D là thuộc tính không khóa - thuộc tính không khóa D không phụ thuộc đầy đủ vào khóa  => Q không đạt chuẩn 2 Cơ sở dữ liệu 18  Chú ý: nếu quan hệ không thỏa mãn điều kiện 2NF có thể chuẩn hóa để có 2NF như sau: - nhóm vào một quan hệ gồm các thuộc tính phụ thuộc hoàn toàn vào khoá và giữ lại khoá của quan hệ đó - nhóm vào một quan hệ khác các thuộc tính phụ thuộc vào một phần của khoá, lấy phần đó làm khoá chính cho quan hệ  Ví dụ 1: - Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F = {AB C, B D, BC A} => Không đạt chuẩn 2 - Tách thành: Q1( B,D) và Q2( A, B, C)  Ví dụ 2: - trong quan hệ R2 (Số hoá đơn, Số sản phẩm, Tên sản phẩm, Lượng yêu cầu) có phụ thuộc hàm : Số sản phẩmTên sản phẩm trong đó Số sản phẩm là một phần của khoá => quan hệ chưa ở dạng chuẩn 2 - ta tách R2 thành R3 và R4 như sau :  R3 (Số hoá đơn, Số sản phẩm, Lượng yêu cầu)  R4 (Số sản phẩm, Tên sản phẩm) Cơ sở dữ liệu 19  Ví dụ: xét lược đồ quan hệ: NHÂNVIÊN_DỰÁN( MãsốNV, MãsốDA, Sốgiờ, HọtênNV, TênDA, ĐịađiểmDA)  với các phụ thuộc hàm: - MãsốNV, MãsốDA → Sốgiờ - MãsốNV → HọtênNV - MãsốDA →TênDA, ĐịađiểmDA  NX: có những thuộc tính không khoá phụ thuộc vào một bộ phận của khoá chính, như vậy nó không thoả mãn điều kiên 2NF  Áp dụng phương pháp chuẩn hoá trên, lược đồ được tách thành các lược đồ như sau: - N_D1(MãsốDA, TênDA, ĐịađiểmDA) - N_D2(MãsốNV , HọtênNV) - N_D3(MãsốNV, MãsốDA, Sốgiờ) Cơ sở dữ liệu 20  Ví dụ 3: cho R = {A, B, C, D, E, G}  F = { ABC, DEG, CA,BEC, BCD, CGBD, ACDB, CEAG }  Kiểm tra lược đồ có ở dạng 2NF  Nếu chưa ở dạng chuẩn 2NF thì đưa về dạng 2NF Cơ sở dữ liệu 21

Ngày đăng: 13/03/2024, 00:58

Từ khóa liên quan

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

Tài liệu liên quan