Khóa tối thiểu là gì

    Cách tìm khóa, phủ tối thiểu, tìm bao đóng

    Tìm tất cả các khóa trong lược đồ quan hệ

    Trước khi đi vào chi tiết chúng ta tìm hiểu một số khái niệm:
    - 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 pth và các thuộc tính không xuất hiện ở vế trái lẫn vế phải của pth.
    - 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 pth.
    - Tập thuộc tính trung gian (TG): Chứa thuộc tính ở vế trái lẫn vế phải của pth.

    Thuật toán:
    Bước 1:
    - Tạo tập nguồn TN và tập trung gian TG
    Bước 2:
    - Nếu TG=0(rỗng) thì K=TN, kết thúc. 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)+=Q+ 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ệ Q={CSZ} 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.
    Bước 1:
    - TN={S}, TG={CZ}
    Bước 2:
    - TG khác rỗng nên qua bước 3
    Bước 3:
    - tập con Xi của tập trung gian X={0,C,Z,CZ} ghi chú 0: là rỗng
    Bước 4:
    - S+=S Khác Q có nghĩa không có siêu khóa.
    - SC+=CZS bằng với Q nên siêu khóa SC.
    - SZ+=CZ bằng với Q nên Siêu khóa là CZ
    - SCZ+= bằng với Q 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}

    Thuật toán tìm một khóa trên lược đồ quan hệ
    SUNDAY, 31. MAY 2009, 17:05:46
    COSODULIEU
    Mục tiêu : cho một lược đồ U có các thuộc tính {A1,A2,...An} và tập Phụ thuộc hàm F. hãy tìm một khóa cho lược đồ đó.
    Thuật toán:
    Bước 1 :
    + Gán K0=U+ (U+ là tập thuộc tính của U)
    Bước 2 : ta có A là thuộc tính của U.
    + Tính bao đóng của (Ki-1\A)+ nếu bằng U+ ((Ki-1\A)+ =U+) thì loại bỏ A ra khỏi K tức là Ki =(Ki-1\A). nếu (Ki-1\A)+ !=U+ thì Ki =Ki-1.
    Lặp lại bước trên n lần
    Bước n: kết quả K=Kn

    Ví dụ : cho U={A,B,C,D,E} và F={AB->C, AC->B, BC->DE} tìm một khóa của lược đồ quan hệ r xác định trên U và F ?
    Bước 1:
    + K=U tức là K=ABCDE
    Bước 2:
    + Tính Bao đóng của (K\A)+ nghĩa là tính (BCDE)+ = BCDE ta thấy kết quả tính bao đóng không bằng U+ nên K=ABCDE
    Bước 3:
    + Tính Bao đóng của (K\B)+ nghĩa là tính (ACDE)+ = ABCDE ta thấy kết quả tính bao đóng bằng U+ nên loại B ra tập K ban đầu K=ACDE
    Bước 4:
    + Tính Bao đóng của (K\C)+ nghĩa là tính (ADE)+ = ADE ta thấy kết quả tính bao đóng Không bằng U+ nên không bỏ C ra tập K ta có K=ACDE
    Bước 5:
    + Tính Bao đóng của (K\D)+ nghĩa là tính (ACE)+ = ACEBD ta thấy kết quả tính bao đóng bằng U+ nên bỏ D ra tập K ta có K=ACE
    Bước 6:
    + Tính Bao đóng của (K\E)+ nghĩa là tính (AC)+ = ACBDE ta thấy kết quả tính bao đóng bằng U+ nên bỏ E ra tập K ta có K=AC

    =>>Kết quả Khóa là K=AC

    Thuật toán tìm phủ tối thiểu của một tập phụ thuộc hàm
    1. Tách các phụ thuộc hàm sao cho vế phải chỉ còn một thuộc tính. (ví dụ: A->BC thành A->B và A->C)
    2. Bỏ các thuộc tính dư thừa ở vế trái. (ví dụ: cho F = {A B, B C, AB D} các phụ thuộc hàm có vế trái 1 thuộc tính là đầy đủ nên ta không xét, xét AB D có B dư thừa(bỏ B) vì bao đóng của A có chứa B. A+=ABC) (dễ hiểu là chúng ta bỏ thuộc tính bên vế trái, khi và chỉ khi bao đóng của các thuộc tính còn lại có chứa thuộc tính đó)
    3. Loại khỏi F các phụ thuộc hàm dư thừa. (Các thuộc tính ở vế phải của PTH chỉ xuất hiện di nhất 1 lần thì không thể loại bỏ. Còn lại tính bao đóng của tập thuộc tính vế trái nếu có xuất hiện thuộc tính vế phải thì có thể loại bỏ thuộc tính đó và đó là PTH dư thừa.)

    Ví dụ: Cho lược đồ quan hệ Q(A,B,C,D) và tập pth F={AB->CD, B->C, C->D} Tìm phủ tối thiểu?
    1. Tách các phụ thuộc hàm sao cho vế phải chỉ còn một thuộc tính.
    + ta có F={AB->C, AB->D, B->C, C->D}
    2. Bỏ các thuộc tính dư thừa ở vế trái.
    + B->C, C->D Không xét vì vế trái chỉ có một thuộc tính.
    + xét AB->C : Nếu Bỏ A thì B+=BCD không chứa A nên không thể Bỏ A. Nếu Bỏ B thì A+=A. không bỏ được thuộc tính nào.
    + xét AB->D : Nếu Bỏ A thì B+=BCD không chứa A nên không thể Bỏ A. Nếu Bỏ B thì A+=A. không bỏ được thuộc tính nào.
    3. Loại khỏi F các phụ thuộc hàm dư thừa.
    + xét AB->C : Tính AB+=ABCD = Q nên loại bỏ AB->C
    + xét AB->D : tính AB+=ABCD = Q nên loại bỏ AB->D
    + B->C : tính B+=B không thể bỏ.
    + C->D : tính C+=C không thể bỏ.

    Phủ tối thiểu là Ftt = {B->C, C->D}

    Tìm bao đóng

    Khóa tối thiểu là gì


    Ví dụ: Cho lược đồ quan hệ R(U, F)
    Với U = ABCDE và F = { AB -->CD, E --> C, D -->CE, A -->E}. Tìm A+

    - Đầu tiên gán A+=A
    - Tiếp theo xét xem có PTH nào A->X không? nếu có bỏ X vào A+, ở đây ta có A->E nên A+=AE
    - Ta thấy E->C nên A+=ACE
    - Cuối cùng ta có A+=ACE
    Khóa tối thiểu là gì

    phamtuananhCống hiến
    Khóa tối thiểu là gì


    Tổng số bài gửi : 165
    Join date : 16/09/2009

    LikeDislike

    Khóa tối thiểu là gì
    Khóa tối thiểu là gì

      Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

      Good! Tuấn Anh à
      Khóa tối thiểu là gì

      nguyenducCống hiến
      Khóa tối thiểu là gì


      Tổng số bài gửi : 312
      Join date : 17/09/2009
      Age : 42
      Đến từ : Bến tre - Hồ chí minh

      LikeDislike

      Khóa tối thiểu là gì
      Khóa tối thiểu là gì

        Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

        thk tuấn anh , nếu bạn tìm được lý thuyết các phần: tiếp cận phân rã,tổng hợp, phân rã bảo toàn thông tin,bảo toàn phụ thuộc hàm thì post lên lun nhé, phần này khó,
        môn này lại là môn thi tốt nghiệp,hic
        Khóa tối thiểu là gì

        itlinhGóp sức
        Khóa tối thiểu là gì


        Tổng số bài gửi : 84
        Join date : 27/09/2009
        Đến từ : HCM

        LikeDislike

        Khóa tối thiểu là gì
        Khóa tối thiểu là gì

          Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

          Thật là ngưỡng mộ Pác Tuấn Anh hết sức ah nha..!!
          Tks nhiều hen..!!
          Khóa tối thiểu là gì

          nanalyCống hiến
          Khóa tối thiểu là gì


          Tổng số bài gửi : 376
          Join date : 18/09/2009
          Age : 38
          Đến từ : QNgai

          LikeDislike

          Khóa tối thiểu là gì
          Khóa tối thiểu là gì

            Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

            Quá hay
            Khóa tối thiểu là gì

            NamThangKhởi đầu
            Khóa tối thiểu là gì


            Tổng số bài gửi : 40
            Join date : 18/09/2009

            LikeDislike

            Khóa tối thiểu là gì
            Khóa tối thiểu là gì

              Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

              Thank TuanAnh !

              ThuHangCống hiến
              Khóa tối thiểu là gì


              Tổng số bài gửi : 193
              Join date : 25/09/2009

              LikeDislike

              Khóa tối thiểu là gì
              Khóa tối thiểu là gì

                Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                Cám ơn sự nhiệt tình của bạn Tuấn Anh !
                Khóa tối thiểu là gì
                Khóa tối thiểu là gì

                ThuyLinhKhởi đầu
                Khóa tối thiểu là gì


                Tổng số bài gửi : 41
                Join date : 24/09/2009
                Age : 38
                Đến từ : Tiền Giang

                LikeDislike

                Khóa tối thiểu là gì
                Khóa tối thiểu là gì

                  Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                  Minh cung phai nhanh nhanh copy ve thui. Hoc ma khong hieu gi het. hixhix..Thanks pac T.A nhe!
                  Khóa tối thiểu là gì

                  angel_hbKhởi đầu
                  Khóa tối thiểu là gì


                  Tổng số bài gửi : 28
                  Join date : 21/09/2009
                  Age : 34
                  Đến từ : Thủ Đức - TP HCM

                  LikeDislike

                  Khóa tối thiểu là gì
                  Khóa tối thiểu là gì

                    Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                    duoc do thank nhieu
                    Khóa tối thiểu là gì

                    quocanhGóp sức
                    Khóa tối thiểu là gì


                    Tổng số bài gửi : 86
                    Join date : 18/09/2009
                    Age : 38
                    Đến từ : HỐ CHÍ MINH CITY

                    LikeDislike

                    Khóa tối thiểu là gì
                    Khóa tối thiểu là gì

                      Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                      Cảm ơn Tuấn Anh nhìu nhìu. Mai mốt mà V thi đậu thì V mời Tuấn Anh đi nhậu hén...*.^
                      Khóa tối thiểu là gì

                      VirusGóp sức
                      Khóa tối thiểu là gì


                      Tổng số bài gửi : 94
                      Join date : 29/09/2009
                      Age : 37

                      LikeDislike

                      Khóa tối thiểu là gì
                      Khóa tối thiểu là gì

                        Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                        Em co mot bai nhu the nay cac bac giai dum em voi:
                        Cho lược đồ quan hệ R { ABCDEGH} và tập phụ thuộc hàm
                        F={ AECGH, AC G, CDABC, AHCE, BGA}
                        Tìm phủ tối thiểu
                        Tìm mọi khóa (theo thuật toán tìm mọi khóa)
                        Thanks!

                        Lamborghini_MU
                        Tổng số bài gửi : 1
                        Join date : 13/12/2010

                        LikeDislike

                        Khóa tối thiểu là gì
                        Khóa tối thiểu là gì

                          Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                          Thực sự trong giáo trình thầy cô dạy hơn rờm rà ko hiểu nhahh đuọc, cảm bạn nhiều lắm

                          thanhhue163
                          Tổng số bài gửi : 2
                          Join date : 14/05/2011

                          LikeDislike

                          Khóa tối thiểu là gì
                          Khóa tối thiểu là gì

                            Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng


                            2. Bỏ các thuộc tính dư thừa ở vế trái.
                            + B->C, C->D Không xét vì vế trái chỉ có một thuộc tính.
                            + xét AB->C : Nếu Bỏ A thì B+=BCD không chứa A nên không thể Bỏ A. Nếu Bỏ B thì A+=A. không bỏ được thuộc tính nào.
                            + xét AB->D : Nếu Bỏ A thì B+=BCD không chứa A nên không thể Bỏ A. Nếu Bỏ B thì A+=A. không bỏ được thuộc tính nào.
                            3. Loại khỏi F các phụ thuộc hàm dư thừa.
                            + xét AB->C : Tính AB+=ABCD = Q nên loại bỏ AB->C
                            + xét AB->D : tính AB+=ABCD = Q nên loại bỏ AB->D
                            + B->C : tính B+=B không thể bỏ.
                            + C->D : tính C+=C không thể bỏ.

                            Ở trên xét AB->C thì B+=BCD
                            Còn xét B->C thì B+=B
                            Mình không hiểu chỗ này lắm mong bạn có thể giải thích rõ được không
                            Còn nữa nếu như là các PTH mà có bao đóng của thuộc tính vế trái chứa thuộc tính vế phải thì là dư thừa thì PTH nào cũng dư thừa à, vì theo cách tính bao đóng thì sẽ đưa các thuộc tính của vế phải vào mà, mong bạn giải thích giùm luôn, thanks

                            linhtinh
                            Tổng số bài gửi : 1
                            Join date : 03/12/2011

                            LikeDislike

                            Khóa tối thiểu là gì
                            Khóa tối thiểu là gì

                              Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                              ai giup minh voi tim

                              Một cơ sở dữ liệu cho một công ty đầu tư gồm các thuộc tính sau : B (người buôn cổ phiếu), O (văn phòng của người buôn cổ phiếu), I (người đầu tư), S (loại cổ phiếu), Q (số lượng của loại cổ phiếu mà người đầu tư có) và D (giá trị lãi của loại cổ phiếu đó). Như vậy có các phụ thuộc hàm sau :
                              S D, I B, IS Q, B O
                              a) Tìm khoá tối tiểu của lược đồ quan hệ R(BOSQID)
                              b) Tìm một phép tách R thành những lược đồ ở dạng chuẩn 3, phép tách này vừa là tách kết nối không mất thông tin vừa bảo toàn các phụ thuộc đã cho

                              phuongtoan
                              Tổng số bài gửi : 3
                              Join date : 25/12/2011

                              LikeDislike

                              Khóa tối thiểu là gì
                              Khóa tối thiểu là gì

                                Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                                Một thư viện dùng một hệ cơ sở dữ liệu gồm 3 quan hệ sau đây để quản lý sách, mượn-trả và đọc giả : B (B#, TITLE, AUNAME, PNUM),
                                BR (B#, R#, BDATE, RAL),
                                R (R#, RNAME, YDATE, ADD) ,
                                Trong đó R# là số thẻ đọc giả, B# là số hiệu sách
                                RNAME là tên đọc giả, TITLE là tên sách
                                YDATE và ADD là năm sinh và địa chỉ của đọc giả
                                PNUM là số trang, BDATE là ngày mượn và RAL cho biết đã trả hay chưa (giả sử miền giá trị của RAL là {true, false})
                                Hãy dùng các biểu thức đại số quan hệ (hoặc ngụn ngữ tõn từ) và ngôn ngữ SQL để biểu diễn các yêu cầu sau:
                                a) Cho biết số hiệu của các quyển sách mà người có số thẻ S3 đã từng mượn
                                b) Tìm địa chỉ người mượn quyển sách MARTIN của tác giả có tên là J. D. BERWILL
                                c) Tìm số hiệu những quyển sách đã từng có một người mượn hơn một lần
                                Giai giup minh bai nay voi

                                phuongtoan
                                Tổng số bài gửi : 3
                                Join date : 25/12/2011

                                LikeDislike

                                Khóa tối thiểu là gì
                                Khóa tối thiểu là gì

                                  Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                                  phuongtoan đã viết:ai giup minh voi tim

                                  Một cơ sở dữ liệu cho một công ty đầu tư gồm các thuộc tính sau : B (người buôn cổ phiếu), O (văn phòng của người buôn cổ phiếu), I (người đầu tư), S (loại cổ phiếu), Q (số lượng của loại cổ phiếu mà người đầu tư có) và D (giá trị lãi của loại cổ phiếu đó). Như vậy có các phụ thuộc hàm sau :
                                  S D, I B, IS Q, B O
                                  a) Tìm khoá tối tiểu của lược đồ quan hệ R(BOSQID)
                                  b) Tìm một phép tách R thành những lược đồ ở dạng chuẩn 3, phép tách này vừa là tách kết nối không mất thông tin vừa bảo toàn các phụ thuộc đã cho
                                  Mọi người dùng phần mềm này nhé. mediafire.com ?muynxnzcj1k
                                  - Có thể tìm được khóa tối thiểu.
                                  - Xác định chuẩn
                                  ...................


                                  VANTHUAN986
                                  Tổng số bài gửi : 19
                                  Join date : 29/09/2009

                                  LikeDislike

                                  Khóa tối thiểu là gì
                                  Khóa tối thiểu là gì

                                    Re: Cách tìm khóa, phủ tối thiểu, tìm bao đóng

                                    bài viết thật ý nghĩa và thật hay... mình đang cần cái này quá... tự dưng như gặp được vàng,,, thanks bác nhé,,,,,,,,,,

                                    trungthot
                                    Tổng số bài gửi : 1
                                    Join date : 30/05/2012

                                    LikeDislike

                                    Khóa tối thiểu là gì
                                    Khóa tối thiểu là gì