Bỏ qua nội dung
  • TASTE OF KNOWLEDGE
    • Giới thiệu
    • -
    • TASTE OF KNOWLEDGE
    Taste of KnowlegdeTaste of Knowlegde
    • Menu
    • Office
      • Power Point
      • Excel
      • Word
    • Giao trinh
      • HTML
      • HTMLCSS
      • PHP
      • Xây dựng trang web
      • kiểm thử
        • testcase
        • tester
        • testlink
    • KHÓA HỌC
      • Phân tích và Trực quan hóa dữ liệu cùng Power BI
      • Data Analysic with Microsoft
      • ỨNG DỤNG MICROSOFT OFFICE 2019
      • Kỹ năng giảng dạy Trực Tuyến – Elearning
      • Tin học Đại Cương – Y Dược
      • Xay dựng trang Web với HTML và CSS
    • Data Science
      • Data Analysis
        • Phân tích hoạt động truyền thông với Tableau
        • Data analysic – Tableau
        • LookerStudio
      • Big Data
      • rapitminer
      • topic modeling
    • Giới thiệu
      • văn hóa
        • tản mạn
    • TỪ THIỆN – NỤ CƯỜI VIỆT
    • CHUYỂN ĐỔI SỐ
    • -
      • Trang chủ
      • Khóa học

      Lý thuyết cơ sở dữ liệu

      Chương trình giáo dục

      • 7 Sections
      • 38 Lessons
      • 1 Week
      Expand all sectionsCollapse all sections
      • Chương 1: CÁC KHÁI NIỆM CƠ BẢN
        Các khái niệm cơ bản
        5
        • 2.1
          1.1. Định nghĩa CSDL
        • 2.2
          1.2. Đối tượng sử dụng CSDL
        • 2.3
          1.3. Hệ quản trị CSDL
        • 2.4
          1.4. Mô hình CSDL
        • 2.5
          Câu hỏi bổ trợ
      • Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT
        Mô hình thực thể liên kết
        6
        • 3.1
          2.1. Quá trình thiết kế CSDL
        • 3.2
          2.2. Mô hình thực thể – liên kết ( ER)
        • 3.3
          2.3. BƯỚC Thiết kế MÔ HÌNH ER VÀ MINH HỌA
        • 3.4
          2.4. Mô hình thực thể liên kết mở rộng (EER)
        • 3.5
          BÀI TẬP TỰ PHÂN TÍCH
        • 3.6
          TOOLS HÕ TRỢ
      • Chương 3: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
        Mô hình cơ sở dữ liệu quan hệ
        5
        • 4.1
          3.1. Giới thiệu mô hình quan hệ
        • 4.2
          3.2. Các khái niệm của mô hình quan hệ
        • 4.3
          3.3. Các đặc trưng của quan hệ
        • 4.4
          3.4. Ràng buộc lược đồ quan hệ
        • 4.5
          3.5. Chuyển đổi mô hình ER sang mô hình CSDL quan hệ
      • Chương 4: ĐẠI SỐ QUAN HỆ
        Các phép toán trên dữ liệu
        7
        • 5.1
          4.1. Các phép toán cập nhật
        • 5.2
          4.2. Các phép toán đại số quan hệ
        • 5.3
          4.2. Hàm nhóm Các phép toán gom nhóm trên quan hệ – (tiếp theo)
        • 5.4
          4.3 Tính chất của đại số quan hệ
        • 5.5
          4.4 Truy vấn dữ liệu trong đại số quan hệ
        • 5.6
          4. 5 Tối ưu hóa quan hệ
        • 5.7
          Kiểm tra giữa kỳ
      • Chương 5: RÀNG BUỘC TOÀN VẸN
        3
        • 6.1
          5.1. Khái niệm cơ bản
        • 6.2
          5.2. Các đặc trưng của RBTV
        • 6.3
          5.3. Phân loại RBTV
      • Chương 6: PHỤ THUỘC HÀM
        9
        • 7.1
          6.1. KHái niệm phụ thuộc hàm
        • 7.2
          6.2. Hệ tiên đề Amstrong
        • 7.3
          6.3. Bao đóng
        • 7.4
          6.4. Tập phụ thuộc hàm tương đương
        • 7.5
          6.5. Phụ thuộc hàm dư thừa
        • 7.6
          6.6. phu thuộc hàm không dư thừa
        • 7.7
          6.7. Khóa của quan hệ
        • 7.8
          6.8. Tập PTH tối thiểu – Phut tối thiểu
        • 7.9
          Bài tập thực hành
      • Chương 7: CHUẨN HÓA CƠ SỞ DỮ LIỆU
        3
        • 8.1
          7.2. Phép tách – kết nối không mất thông tin
        • 8.2
          7.3. Chuẩn hóa lược đồ quan hệ
        • 8.3
          7.4. Chuẩn hóa quan hệ

      6.7. Khóa của quan hệ

      Khóa của lược đồ quan hệ

      Định nghĩa:

      • Cho R(A1, …,An) là lược đồ quan hệ;
      • Tập các thuộc tính U = { A1, A2, .. , An}
      • Tập các phụ thuộc hàm F= { f1, f2, .. ,fn} xác định trên R.
      • K Í U là khoá của R nếu thoả mãn hai điều kiện sau :

      (1):  K ® U

      (2):  Không tồn tại K’ Ì K mà K’ ® U

      Tập thuộc tính S được gọi là siêu khóa nếu S ⊇ K

      Thuộc tính A được gọi là thuộc tính khóa nếu A ∈ K với K là khóa bất kì của lược đồ R, ngược lại A là thuộc tính không khóa.

      Một lược đồ quan hệ có thể có nhiều khóa và tập thuộc tính không khóa có thể là rỗng.

      Khi thiết kế một hệ thống thông tin thì việc tạo được một lược đồ quan hệ đạt một tiêu chuẩn nào đó là rất quan trọng và việc xác định chuẩn của một lược đồ quan hệ liên quan mật thiết với thuật toán tìm khóa.

      Thuật toán tìm một khóa của lược đồ quan hệ R

      Input:

      • Lược đồ quan hệ R(A1,A2,…An)
      • Tập thuộc tính U {A1,A2,…An}
      • Tập PTH F

      Output: Khóa K của quan hệ R

      Ý tưởng: Bắt đầu từ tập U vì U+ = U. Ta bớt dần các phần tử của U để nhận được tập bé nhất mà bao đóng của nó vẫn bằng U.

      Các bước:

      Bước 1: Gán K = U

      Bước 2: Loại khỏi K lần lượt từng thuộc tính A mà ( K\A)+ =U

      Lặp lại bước 2 đến khi không loại khỏi K được nữa

      Nhận xét: Thuật toán trên chỉ tìm được một khoá trong sơ đồ quan hệ. Nếu cần tìm nhiều khoá, ta thay đổi trật tự loại bỏ các phần tử của K.

      Ví dụ:

      Cho R(ABCD) và tập phụ thuộc hàm F = { AB ® C; D ® B; C ® ABD}

      Giải:

      Bước 1: K=ABCD

      Bước 2: Lần lượt loại các thuộc tính của K

      Loại A ta có (BCD)+ = {BCDA} = U nên K= BCD

      Loại B ta có (CD)+ = {CDAB} = U nên K = CD

      Loại C ta có D+ = {DB} ≠ U nên không thể loại C

      Loại D ta có C+ = {CABD} = U nên K = C

      Kết luận: C là  một khóa của lược đồ R đã cho.

      Nhận xét: Ta có thể cải thiện tốc độ thực hiện thuật toán trên bằng cách trong bước 1 ta thay K= U bởi K=Left(U) U (U\(Left U Right)) – tập các thuộc tính xuất hiện ở vế trái và không xuất hiện ở cả hai vế của phụ thuộc hàm.

      Thuật toán tìm khóa cải tiến

      • Bước 1: Gán K = Left(U) U (U\(Left U Right))
      • Bước 2: Loại khỏi K lần lượt từng thuộc tính A mà ( K\A)+ =U
      • Lặp lại bước 2 đến khi không loại khỏi K được nữa

      Ví dụ:

      Cho R(ABCD) và tập F = {AB → C, B → D, D → B}

      Giải:

      • K=ABD
      • Loại A ta có BD+ = {BD} ≠ U nên không loại được A
      • Loại B ta có AB+ = {ABCD}= U nên K= AD
      • Loại D ta có A+ = {A} ≠ U nên không loại được D

      Kết luận khóa của lược đồ đã cho là AD.

      Thuật toán tìm tất cả các khóa

      Một số khái niệm cơ bản:

      • Tập thuộc tính nguồn (TN): bao gồm các thuộc tính chỉ xuất hiện ở vế trái, không xuất hiện ở vế phải của phụ thuộc hàm và các thuộc tính không xuất hiện ở vế trái lẫn vế phải của phụ thuộc hàm
      • Tập thuộc tính đích (TĐ): bao gồm các thuộc tính chỉ xuất hiện ở vế phải không xuất hiện ở vế trái của phụ thuộc hàm
      • Tập thuộc tính trung gian (TG): Chứa thuộc tính xuất hiện ở cả vế trái lẫn vế phải của phụ thuộc hàm.

      Input: Lược đồ R(U) và tập phụ thuộc hàm F

      Output: Tất cả các khóa của phụ thuộc hàm

      Các bước:

      • Bước 1: Tạo tập nguồn TN và tập trung gian TG
      • Bước 2: Tính TN+, nếu TN+ = U, kết luận chỉ có một khóa duy nhất là TN. Ngược lại qua bước 3.
      • Bước 3: Tìm tất cả tập con Xi của tập trung gian.
      • Bước 4: Tìm siêu khóa Si bằng cách với mọi Xi, nếu (TN U Xi)+=R+ thì Si = TN U {Xi}
      • Bước 5:
      • Tìm khóa bằng cách loại bỏ các siêu khóa không tối thiểu
      • với mọi Si, Sj thuộc S nếu Si chứa trong Sj thì loại bỏ tập Sj ra khỏi siêu khóa (VD: Si=AB, Sj=ABC thì loại bỏ Sj ra khỏi tập siêu khóa)
        S còn lại chính là tập khóa cần tìm.

      Ví dụ: Cho lược đồ quan hệ R(CSZ) và tập phụ thuộc hàm F={CS → Z; Z → C}. Tìm tất cả các khóa của lược đồ quan hệ trên.

      Giải:

      Bước 1: TN={S}, TG={CZ}

      Bước 2: TN+ ≠ U nên qua bước 3

      Bước 3: Tập con Xi của tập trung gian X={∅,C,Z,CZ}

      Bước 4:

      S+=S Khác R có nghĩa không có siêu khóa.

      SC+=SCZ bằng với R nên siêu khóa SC.

      SZ+=SZC bằng với R nên Siêu khóa là CZ

      SCZ+= bằng với R nên Siêu khóa là CSZ

      Bước 5:

      Vậy tập siêu khóa S={SC, CZ, CSZ}

      Vì SC chứa trong CSZ và CZ chứa trong CSZ nên loại bỏ siêu khóa CSZ khỏi tập siêu khóa.

      Kết quả khóa của lược đồ quan hệ trên là SC và CZ. K={SC, CZ}

      Ta có thể lập bảng để thực hiện bước 4 và 5 như sau:

      XiTN U Xi(TN U Xi)+Siêu khóaKhóa
      ∅SS  
      CSCSCZ = USCSC
      ZSZSZC = USZSZ
      CZSCZSCZ=USCZ 

       

      Quan hệ đã cho có 2 khóa là SC và SZ.

       

      Để lại một bình luận Hủy

      6.6. phu thuộc hàm không dư thừa
      Trước
      6.8. Tập PTH tối thiểu – Phut tối thiểu
      Tiếp
      Giới thiệu
      Kiến thức cho đi là kiến thức nhận về. Những chú gõ kiến miệt mài cảm nhận hương vị của Kiến Thức mỗi ngày. Toktips
      Bài viết mới
      • 22
        Th10
        7 Trục Quản Trị Dữ Liệu Cho Doanh Nghiệp Chức năng bình luận bị tắt ở 7 Trục Quản Trị Dữ Liệu Cho Doanh Nghiệp
      • 22
        Th10
        TRỤC QUẢN TRỊ DỮ LIỆU” (Data Management Axes) Chức năng bình luận bị tắt ở TRỤC QUẢN TRỊ DỮ LIỆU” (Data Management Axes)
      • 17
        Th11
        Bảo vệ dữ liệu trong Power BI – Power BI Data Protection Chức năng bình luận bị tắt ở Bảo vệ dữ liệu trong Power BI – Power BI Data Protection
      • 14
        Th11
        Phân quyền RLS – trong Power BI Chức năng bình luận bị tắt ở Phân quyền RLS – trong Power BI
      Đăng ký nhận bản tin mới
      Bạn nhập địa chỉ email để luôn nhận được những tin bài viết mới nhất của Toktipsvn

      Lỗi: Không tìm thấy biểu mẫu liên hệ.

      • Giới thiệu
      Giangtranvn.com
      • Office
        • Power Point
        • Excel
        • Word
      • Giao trinh
        • HTML
        • HTMLCSS
        • PHP
        • Xây dựng trang web
        • kiểm thử
          • testcase
          • tester
          • testlink
      • KHÓA HỌC
        • Phân tích và Trực quan hóa dữ liệu cùng Power BI
        • Data Analysic with Microsoft
        • ỨNG DỤNG MICROSOFT OFFICE 2019
        • Kỹ năng giảng dạy Trực Tuyến – Elearning
        • Tin học Đại Cương – Y Dược
        • Xay dựng trang Web với HTML và CSS
      • Data Science
        • Data Analysis
          • Phân tích hoạt động truyền thông với Tableau
          • Data analysic – Tableau
          • LookerStudio
        • Big Data
        • rapitminer
        • topic modeling
      • Giới thiệu
        • văn hóa
          • tản mạn
      • TỪ THIỆN – NỤ CƯỜI VIỆT
      • CHUYỂN ĐỔI SỐ
      • -