Mọi lược đồ quan hệ có tối thiểu bao nhiêu siêu khóa

Siêu Khóa Là Gì – Khoá Và Siêu Khoá

2019

Khóa là những nhân tố thiết yếu của bất kể cơ sở dữ liệu quan hệ. Nó khẳng định mỗi bộ dữ liệu trong một mối quan hệ duy nhất. Những khóa rất được áp dụng để thiết lập mối quan hệ giữa những bảng trong một lược đồ. Trong bài hethongbokhoe.vnết này, chúng tôi sẽ đàm luận về hai khóa căn bản của bất kể cơ sở dữ liệu nào là siêu khóa and khóa ứng hethongbokhoe.vnên. Mỗi khóa ứng hethongbokhoe.vnên là một siêu khóa, nhưng, mọi siêu khóa có thể hoặc không còn là khóa ứng hethongbokhoe.vnên. Có nhiều nhân tố nhận thấy khác giữa siêu khóa and khóa ứng hethongbokhoe.vnên, mà tôi đã đàm luận ngắn gọn trong biểu đồ so sánh bên dưới đây.

Bài Viết: Siêu khóa là gì

Biểu đồ so sánh

Cơ sở để so sánhSiêu chìa khóaKhóa ứng hethongbokhoe.vnên
Cơ bản Một thuộc tính duy nhất hoặc một tập hợp những thuộc tính khẳng định duy nhất toàn bộ những thuộc tính trong một mối quan hệ là siêu khóa. Một tập hợp con đúng của một siêu khóa, cũng là một siêu khóa là một khóa ứng cử hethongbokhoe.vnên.
Một trong các Không bắt buộc rằng toàn bộ những siêu khóa sẽ là khóa ứng cử hethongbokhoe.vnên. Toàn bộ những khóa ứng cử hethongbokhoe.vnên là siêu khóa.
Chọn lựa Tập hợp những siêu khóa tạo thành cơ sở để chọn lựa những khóa ứng cử hethongbokhoe.vnên. Tập hợp những khóa ứng cử hethongbokhoe.vnên tạo thành cơ sở để chọn lựa một khóa chính duy nhất.
Đếm Có tương đối nhiều siêu khóa trong một mối quan hệ. Có những khóa ứng hethongbokhoe.vnên tương đối tiết kiệm hơn trong một mối quan hệ.

Xem Ngay:  Grind Là Gì - Daily Grind Nghĩa Là Gì

Định nghĩa siêu khóa

Một siêu khóa là một khóa căn bản của bất kể mối quan hệ. Nó đc định nghĩa là một khóa có thể khẳng định toàn bộ những thuộc tính khác trong một mối quan hệ . Siêu khóa có thể là một thuộc tính đơn hoặc một tập hợp những thuộc tính. Hai thực thể không có cùng giá thành cho những thuộc tính tạo thành một siêu khóa. Có tối thiểu một hoặc nhiều hơn một siêu khóa trong một mối quan hệ.

Một siêu khóa ít nhất rất được gọi là khóa ứng cử hethongbokhoe.vnên. Do đó, các bạn có thể nói một số siêu khóa đc xác minh là khóa ứng hethongbokhoe.vnên. Sau này các bạn sẽ cảm nhận thấy cách thức một siêu khóa đc check để biến thành khóa ứng hethongbokhoe.vnên.

Các bạn hãy lấy một mối quan hệ R (A, B, C, D, E, F); chúng tôi đã tuân theo những chịu ràng buộc cho một mối quan hệ R and chúng tôi đã check từng chịu ràng buộc cho siêu khóa.

Xem Ngay: Vải Tuyết Mưa Là Gì, Tìm Hiểu Về Vải Thun Tuyết Mưa

Dùng khóa, AB các bạn có thể khẳng định phần còn lại của những thuộc tính của bảng tức là CDEF . Y như, áp dụng những khóa CD, ABD, DF and DEF, các bạn có thể khẳng định những thuộc tính còn lại của bảng R. Do đó, toàn bộ đấy là những siêu khóa.

Nhưng khi áp dụng CB chính, các bạn chỉ có thể tìm cảm nhận thấy những giá thành cho thuộc tính D and F, các bạn không còn tìm cảm nhận thấy giá thành cho những thuộc tính A and E. Bởi vậy, CB không cần là một siêu khóa. Y như là tình huống với khóa D, các bạn không còn tìm cảm nhận thấy những giá thành của toàn bộ những thuộc tính trong một bảng bằng khóa D. Do đó, D không cần là một siêu khóa.

Xem Ngay:  thuế truy thu thuế tiếng anh là gì ?

Định nghĩa khóa ứng hethongbokhoe.vnên

Một siêu khóa là một tập hợp con đúng của một siêu khóa khác có cùng quan hệ đc gọi là siêu khóa ít nhất . Khóa siêu ít nhất đc gọi là khóa Ứng hethongbokhoe.vnên . Y hệt như siêu khóa, một khóa ứng cử hethongbokhoe.vnên cũng khẳng định từng bộ dữ liệu trong một bảng duy nhất. Thuộc tính của khóa ứng hethongbokhoe.vnên có thể chấp nhận giá thành NULL .

Một trong những khóa ứng cử hethongbokhoe.vnên đc DBA chọn làm khóa chính. Với trường hợp là những giá thành thuộc tính khóa cần là duy nhất and không chứa NULL. Những thuộc tính của khóa Ứng hethongbokhoe.vnên đc gọi là thuộc tính nguyên tố .

Trong ví dụ trên, chúng tôi đã tìm cảm nhận thấy những siêu khóa cho mối quan hệ R. Hôm nay, các bạn hãy check toàn bộ những siêu khóa để biến thành khóa Ứng hethongbokhoe.vnên.

Super key AB là tập con thích hợp của super key ABD . Do đó, khi một siêu khóa AB ít nhất cô quạnh, có khả năng khẳng định toàn bộ những thuộc tính trong một bảng, thì các bạn không cần khóa ABD to hơn. Bởi vậy, siêu khóa AB là một khóa ứng cử hethongbokhoe.vnên trong khi ABD sẽ chỉ là siêu khóa. Y như, một siêu khóa DF cũng là một tập hợp con đúng của siêu khóa DEF . Do đó, khi DF cô quạnh có khả năng khẳng định toàn bộ những thuộc tính trong mối quan hệ tại sao các bạn cần DEF . Bởi vậy, siêu khóa DF biến thành khóa ứng hethongbokhoe.vnên trong khi DEF chỉ là siêu khóa.

CD siêu khóa không cần là tập hợp con của bất kể siêu khóa nào khác. Do đó, các bạn có thể nói CD là một siêu khóa ít nhất khẳng định toàn bộ những thuộc tính trong một mối quan hệ. Bởi vậy, CD là một khóa ứng cử hethongbokhoe.vnên.

Xem Ngay:  Ngành Tiếng Anh Là Gì, Ngành Học Tiếng Anh Là Gì

Trong khi đó khóa CB and D không cần là siêu khóa vì thế, chúng thậm chí không còn là khóa ứng cử hethongbokhoe.vnên. Xem bảng trên bạn cũng có thể kết luận rằng mỗi khóa ứng hethongbokhoe.vnên là một siêu khóa nhưng điều ngược lại là không đúng.

Sự khác biệt chính giữa Super Key and Ứng hethongbokhoe.vnên chính

Một thuộc tính duy nhất hoặc một tập hợp những thuộc tính có thể khẳng định duy nhất toàn bộ những thuộc tính của một mối quan hệ rõ nét đc gọi là Siêu khóa. Mặt khác, một siêu khóa là một tập hợp con đúng của một siêu khóa khác đc gọi là khóa ứng hethongbokhoe.vnên.Toàn bộ những khóa ứng cử hethongbokhoe.vnên là siêu khóa nhưng điều ngược lại là không đúng.Bộ siêu khóa đc xác minh để tìm khóa ứng hethongbokhoe.vnên trong khi đó, bộ khóa ứng hethongbokhoe.vnên đc xác minh để chọn một khóa chính duy nhất.Những siêu khóa có số lượng tương đối nhiều hơn những khóa ứng cử hethongbokhoe.vnên.

Xem Ngay: Tải trò chơi Người Dơi – Drop Everything Và Tải về: 6 Free Batman Games

Phần kết luận:

Super key là một khóa căn bản của bất kể mối quan hệ. Chúng phải đc vẽ đầu tiên trước khi phân biệt những khóa khác cho mối quan hệ khi chúng tạo thành cơ sở cho những khóa khác. Khóa ứng hethongbokhoe.vnên rất quan trọng vì nó cứu phân biệt khóa quan trọng nhất của bất kể mối quan hệ nào là khóa chính.

Thể Loại: San sẻ Kiến Thức Cộng Đồng

Cho lược đồ R = <U,F>, trong đó U là tập thuộc tính, F là tập phụ thuộc hàm. K được gọi là khoá tối thiểu của R nếu như số thuộc tính trong K là ít nhất nhưng vẫn thoả mãn K+ =U .

Cho lược đồ quan hệ R = <U, F>

Hãy tìm một khoá (tối thiểu) của quan hệ R.

từ nay nếu không có sự nhầm lẫn thì ta gọi tắt khoá tối thiểu là Khoá

Cho lược đồ R = <U, F> : U = {ABCDE} , F = {A→B, B→C, B→DE, A→E, A→D}

Hãy tìm một khoá tối thiểu K của lược đồ R ?

  1. Đặt

    T = {AB} (T là tập các thuộc tính xuất hiện phía trái)

    P = {BCDE} (P là tập các thuộc tính xuất hiện phía phải)

    K = U\P = {A}

  2. Tính thử K+

    Ta có K+ = {ABCDE}

    Vì K+ = U, nên K = {A} là một khoá của R.

Cho lược đồ quan hệ R = <U, F>, Trong đó : U = {ABCDE} , F = {AB→DE, E→AD, D→C}

Hãy tìm một khoá tối thiểu K của lược đồ R

  1. Đặt:

    T = {ABED}

    P = {DEAC}

    K = U\P = {B}

  2. Tính thử K +

    Ta có K+ = {B} U, nên tiếp tục Bước 3

  3. Tính K = K (TP)

    Ta có K = K (TP) = {ABDE}

  4. Thử xóa từng thuộc tính trong TP = {AED} khỏi K

    Thử loại bỏ A khỏi K, ta có :

    K = {BED} và K + = {BEDAC} vẫn bằng U nên ta loại được A

    Thử loại bỏ {E} khỏi K, Ta có:

    K = {BD} và K+ = {BDC}

    Do K+ U nên không thể loại được {E}. K vẫn là {BDE}

    Thử loại bỏ {D} khỏi K ta có

    K = {BE} và K+ = {BEADC}= U

    Đến đây ta đã thử hết. Vậy khóa tối thiểu tìm được là : K = {BE}

Cho lược đồ quan hệ R = <U, F>, Trong đó :

U = {ABCDEG}

F = {AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→AG}

Hãy tìm một khoá tối thiểu K của lược đồ R.

  1. Đặt
    • T = {ABCDEG}
    • P = {ABCDEG} (P là tập các thuộc tính xuất hiện phía phải)
    • K = U\P = {}
  2. Tính thử K +

    Ta có K+ = { } ≠ U, nên tiếp tục bước 3

  3. Tính K = K (T P)

    Ta có K = K (T P) = {ABCDEG}

  4. Thử xoá từng thuộc tính trong T P = {ABCDEG} khỏi K
    • Thử loại bỏ {A} khỏi K, Ta có:

      K = {BCDEG} và K+ = {BCDEGA} vẫn bằng U, nên ta loại được A

    • Thử loại bỏ {B} khỏi K, Ta có:

      K = {CDEG} và K+ = {CDEGAB} vẫn bằng U, nên ta loại được B

    • Thử loại bỏ {C} khỏi K, Ta có:

      K = {DEG} và K+ = {DEG}

      Do K+ ≠ U nên không loại được {C}. K vẫn là {DEGC}

    • Thử loại bỏ {D} khỏi K, Ta có:

      K = {EGC} và K+ = {EGCABD} vẫn bằng U, nên ta loại được D

    • Thử loại bỏ {E} khỏi K, Ta có:

      K = {GC} và K+ = {GCABDE} vẫn bằng U, nên ta loại được E

    • Thử loại bỏ {G} khỏi K, Ta có:

      K = {C} và K+ = {CA}

      Do K+ = ≠ U nên không loại được {G}. K vẫn là {CG} → Đã thử hết !

    Đến đây ta đã thử hết. Vậy khoá tối thiểu tìm được là : K = {CG}

Cho lược đồ quan hệ R = <U, F>, Trong đó :

U = {ABCDEGH}

F = {A→C, AB→C, C→DG, CD→G, EC→ABEG,C, H→C}

Hãy tìm một khoá tối thiểu K của lược đồ R

  1. Đặt

    T = {ABCDEH}

    P = {ABCDEG}

    K = U\P = {H}

  2. Tính thử K +

    Ta có K+ = {HCDG} ≠ U, nên tiếp tục bước 3

  3. Tính K = K (T P)

    Ta có K = K (T P) = {HABCDE}

  4. Thử xoá từng thuộc tính trong T P= {ABCDE} khỏi K

    Thử loại bỏ {A} khỏi K, Ta có:

    K = {HBCDE} và K+ = {HBCDEGA}

    Do K+ ≠ U nên không loại được {A}. K vẫn là {HBCDEA}

    Thử loại bỏ {B} khỏi K, Ta có:

    K = {HCDEA} và K+ = {HCDEAGB}

    Do K+ ≠ U nên không loại được {B}. K vẫn là {HCDEAB}

    Thử loại bỏ {C} khỏi K, Ta có:

    K = {HDEAB} và K+ = {HDEABCG}

    Do K+ ≠ U nên không loại được {C}. K vẫn là {HDEABC}

    Thử loại bỏ {D} khỏi K, Ta có:

    K = {HEABC} và K+ = {HEABCDG}

    Do K+ ≠ U nên không loại được {D}. K vẫn là {HEABCD}

    Thử loại bỏ {E} khỏi K, Ta có:

    K = {HABCD} và K+ = {HABCDG}

    Do K+ ≠ U nên không loại được {E}. K vẫn là {HABCDE}.

    Đến đây ta đã thử hết. Vậy khoá tối thiểu tìm được là : K = {HABCDE}

Cho lược đồ quan hệ R = <U, F>, Trong đó :

U = {ABC}

F = {A→B, B→A, C→B}

Hãy tìm một khoá tối thiểu K của lược đồ R

  1. Đặt

    T = {ABC}

    P = {AB}

    K = U\P = {C}

  2. Tính thử K +

    Ta có K+ = {CBA} = U

    Vì K+ = U, nên K = {C} là một khoá của R.

Video liên quan

Chủ đề