Tài liệu Nghiên cứu phụ thuộc mạnh trong cơ sở dữ liệu

  • Số trang: 72 |
  • Loại file: PDF |
  • Lượt xem: 84 |
  • Lượt tải: 1
nhattuvisu

Đã đăng 27125 tài liệu

Mô tả:

i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ MẠNH HÀ NGHIÊN CỨU PHỤ THUỘC MẠNH TRONG CƠ SỞ DỮ LIỆU Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC GS.TS. VŨ ĐỨC THI Thái Nguyên - 2014 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và thực hiện. Nội dung lý thuyết trong trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong phần tài liệu tham khảo. Chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình nào khác. Thái Nguyên, ngày7 tháng 6 năm 2014 Học viên thực hiện Lê Mạnh Hà Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iii LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến GS.TS Vũ Đức Thi người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn. Em cũng xin gửi lời cảm ơn đến các giảng viên trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy Viện Công nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học của mình. Tôi cũng xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có thể hoàn thành tốt luận văn. Tôi cũng xin gửi lời cảm ơn tới Ban giám hiệu Trường Cao đẳng Sư phạm Quảng Ninh đã tạo kiện thuận lợi cho tôi tham gia khóa học và trong suốt quá trình hoàn thành luận văn. Một lần nữa, xin chân thành cảm ơn. Thái Nguyên, ngày 7 tháng 6 năm 2014 Học viên thực hiện Lê Mạnh Hà Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iv MỤC LỤC Lời cam đoan ....................................................................................................................... Lời cảm ơn ........................................................................................................................... Mục lục ................................................................................................................................. Phần mở đầu ........................................................................................................................ Bảng các kí hiệu ................................................................................................................... Bảng các hình vẽ .................................................................................................................. Chƣơng 1: Phụ thuộc hàm ................................................................................................ 1.1. Định nghĩa............................................................................................................ 1.2. Hệ tiên đề ArmStrong .......................................................................................... 1.3. Bao đóng của tập phụ thuộc hàm và tập thuộc tính ............................................. 1.4. Khoá tối thiểu của sơ đồ quan hệ và quan hệ ...................................................... 1.5. Các dạng chuẩn .................................................................................................... 1.6. Hệ Sperner ........................................................................................................... 1.7. Các dạng tương đương của họ phụ thuộc hàm .................................................... 1.8. Kết luận ................................................................................................................ Chƣơng 2: Phụ thuộc mạnh và một số tính chất đặc trƣng của phụ thuộc mạnh........................................................................................................................... 2.1. Định nghĩa............................................................................................................ 2.2. Hệ tiên đề phụ thuộc mạnh .................................................................................. 2.3. Bao đóng của tập phụ thuộc mạnh và tập thuộc tính ........................................... 2.4. Khoá tối thiểu của sơ đồ mạnh và quan hệ .......................................................... 2.5. Các dạng tương đương của họ phụ thuộc mạnh .................................................. 2.6. Một số tính chất cơ bản của bao đóng của tập thuộc tính ................................... 2.7. Thuật toán tính bao đóng của tập thuộc tính trên quan hệ................................... 2.8. Họ các tập tối thiểu .............................................................................................. 2.9. Quan hệ ArmStrong của phụ thuộc mạnh ........................................................... Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ v 2.9.1. Sự tồn tại của quan hệ ArmStrong ......................................................... 2.92. Các thuật toán .......................................................................................... 2.9.3. Một số bài toán quan trọng ..................................................................... 2.10. Kết luận .............................................................................................................. Chƣơng 3: Cài đặt một số thuật toán về phụ thuộc mạnh trong CSDL ........................ 3.1. Lựa chọn bài toán. ............................................................................................... 3.2 Thuật toán sử dụng trong chương trình................................................................. 3.3.Cài đặt chương trình ........................................................................................................ 3.4.Một số mã lệnh ................................................................................................................ 3.5. Hướng dẫn sử dụng chương trình. ....................................................................... 3.6Chương trình minh họa .......................................................................................... 3.7 Đánh giá kết quả thực nghiệm ............................................................................. Kết luận ................................................................................................................................ Tài liệu tham khảo .............................................................................................................. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ vi MỞ ĐẦU Cơ sở dữ liệu (CSDL) là một trong những lĩnh vực được tập trung nghiên cứu và phát triển của công nghệ thông tin, nhằm giải quyết các bài toán quản lý, tìm kiếm thông tin trong những hệ thống lớn đa dạng, phức tạp cho nhiều người sử dụng trên máy tính điện tử. Có thể nói E. F. Codd là người đầu tiên đề xuất mô hình dữ liệu quan hệ cho CSDL với công trình [6] mà ngày nay đã trở thành kinh điển. Đây là mô hình được xây dựng trên cơ sở lý thuyết toán học về các quan hệ, bao gồm các thực thể (đối tượng) và các mối quan hệ qua lại giữa chúng. Chỉ điều này đã tạo cơ sở toán học với cấu trúc hoàn chỉnh làm nền tảng cho các vấn đề nghiên cứu lý thuyết về CSDL. Người ta xem CSDL quan hệ như là một tập hợp hữu hạn các quan hệ. Trong đó mỗi quan hệ có thể được hình dung một cách trực quan như là một bảng chữ nhật gồm có các hàng và các cột. Mỗi hàng là một bản ghi (record) lưu trữ các dữ liệu. Mỗi cột là một thuộc tính. Trong lý thuyết thiết kế CSDL quan hệ, ràng buộc dữ liệu hay còn gọi là phụ thuộc dữ liệu có một ý nghĩa quan trọng trong việc đảm bảo tính nhất quán của dữ liệu. Nghiên cứu ràng buộc dữ liệu là một vấn đề cần thiết. Ý nghĩa của việc nêu ra khái niệm ràng buộc dữ liệu là nhằm đảm bảo cho dữ liệu trong CSDL không mâu thuẫn, phản ánh đúng thế giới hiện thực. Các nhà nghiên cứu đã đưa ra nhiều loại ràng buộc dữ liệu khác nhau để đáp ứng phù hợp với thực tế rất phong phú và đa dạng. Loại ràng buộc dữ liệu đầu tiên là phụ thuộc hàm được giới thiệu bởi E. F. Codd [6] vào những năm 1970. Ba loại ràng buộc dữ liệu khác sau đó cũng được xem xét đến là phụ thuộc đối ngẫu, phụ thuộc mạnh và phụ thuộc yếu bởiCzédli [7, 8] (1980). Tiếp sau đó J. Demetrovics và G.Gyepesi [11] (1983), vànhững người khác [1, 15, 26] Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ vii cũng tiếp tục nghiên cứu các ràng buộc dữ liệu này. Với ba loại ràng buộc dữ liệu này, người sử dụng đôi khi có thể lấy được các thông tin thực mong muốn, ngay cả khi không tồn tại một phụ thuộc hàm nào giữa các tập thuộc tính và chỉ cần biết ít nhất một giá trị của các thuộc tính chứ không phải tập toàn bộ các giá trị của các thuộc tính của vế trái. Hơn thế nữa, đôi khi việc xử lý và tìm kiếm thông tin được tiến hành nhanh chóng hơn vì chỉ cần phải tìm kiếm trên một phần của quan hệ mà thôi. Mục tiêu của luận văn là tiếp tục nghiên cứu phụ thuộc hàm và phụ thuộc mạnh. Luận văn bao gồm: Phần mở đầu, 3 chương và phần kết luận. Chương 1: Nhắc lại một số khái niệm cơ bản về phụ thuộc hàm và quan hệ Armstrong. Chương 2: Mục đích của chương này là trình bày nghiên cứu quan hệ Armstrong đối với phụ thuộc mạnh. Có thể nói, trong nghiên cứu về các ràng buộc dữ liệu nói chung và phụ thuộc mạnh nói riêng, khái niệm bao đóng của tập thuộc tính thật sự đóng một vai trò quan trọng. Kết quả chính là trình bày một số nghiên cứu về quan hệ Armstrong. Đầu tiên, khái niệm họ các tập tối tiểu của thuộc tính của một sơ đồ mạnh được đề xuất. Đây là khái niệm đóng vai trò quan trọng trong việc xây dựng quan hệ Armstrong của sơ đồ mạnh Cuối cùng, luận văn đề cập đến bốn bài toán quan trọng đối với việc nghiên cứu cấu trúc và lôgic của họ phụ thuộc mạnh: bài toán xây dựng quan hệ Armstrong của một sơ đồ mạnh cho trước, bài toán xây dựng sơ đồ mạnh đúng trên một quan hệ cho trước, bài toán kéo theo phụ thuộc mạnh-quan hệ và bài toán tương đương phụ thuộc mạnh-quan hệ. Tất cả các bài toán này được chứng tỏ có thể được giải quyết bằng các thuật toán thời gian đa thức. Chương 3: Cài đặt chương trình để minh họa phụ lý thuyết phụ thuộc mạnh. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ viii BẢNG CÁC KÍ HIỆU Trong luận văn, có sử dụng các quy ước về kí hiệu và chữ viết tắt sau: S=(U,F): Sơ đồ quan hệ, với U là tập các thuộc tính và F là tập các phụ thuộc hàm trên U G=(U,S): Sơ đồ mạnh, với U là tập thuộc tính và S là tập các phụ thuộc mạnh trên U. R: quan hệ trên tập thuộc tính U. FR: (tương ứng SR) tập tất cả các phụ thuộc hàm (tương ứng phụ thuộc mạnh) đúng trên quan hệ R. F+: (tương ứng S+) bao đóng của tập phụ thuộc hàm (tương ứng phụ thuộc mạnh). KS: (tương ứng KG, KR) tập tất cả các khóa tối tiểu của sơ đồ quan hệ s (tương ứng sơ đồ mạnh, quan hệ R). KS-1: (tương ứng KR-1) tập phản khóa của KS (tương ứng KR). Ka: họ các tập tối tiểu của thuộc tính a. Fn: (tương ứng Dn) tập tất cả các thuộc tính không cơ bản (tương ứng thuộc tính phụ thuộc). : (tương ứng NR) hệ bằng nhau (tương ứng không bằng nhau) quan R hệ của R. IS: họ các tập độc lập tối tiểu của sơ đồ quan hệ s. LS: (tương ứng LR) họ tất cả các bao đóng của tập thuộc tính của sơ đồ quan hệ s (tương ứng quan hệ R). CSDL: cơ sở dữ liệu. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ix BẢNG CÁC HÌNH VẼ Hình 1.1: Phụ thuộc hàm. Hình 1.2 : Tương quan giữa lớp quan hệ với lớp phụ thuộc hàm. Hình 1.3 : Tương quan giữa lớp phụ thuộc hàm với lớp hàm đóng. Hình 1.4 : Lớp các dạng chuẩn. Hình 1.5 : Tương quan giữa họ phụ thuộc hàm với hệ Sperner. Hình 1.6 : Tương quan lớp các hàm đóng với hàm chọn đặc biệt. Hình 1.7 : Tương quan giữa lớp các hàm đóng và nửa dàn giao. Hình 1.8 : Tương quan giữa lớp các nửa dàn giao và tập không giao. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 1 Chƣơng 1: PHỤ THUỘC HÀM Khái niệm phụ thuộc hàm được đề xuất bởi E.F.Codd và sau đó lần đầu tiên được tiên đề hoá bởi W.W.Armstrong [4](1974). Đây là một loại ràng buộc dữ liệu xảy ra tự nhiên nhất giữa các tập thuộc tính, về cơ bản các hệ quản trị cơ sở dữ liệu lớn đều sử dụng phụ thuộc này. 1.1 Định nghĩa Cho U là tập hữu hạn khác rỗng các thuộc tính. Một phụ thuộc hàm làmộtmệnh đề có dạng X Y, trong đóX, Y U. Ta nói phụ thuộc hàm X Y đúngtrong quan hệ R={h1,..,hm} trên U nếu: ( hi,hj R)(( a X)(hi(a)=hj(a)) ( b Y)(hi(b)=hj(b))) Ta cũng nói rằng R thỏa phụ thuộc hàm X Y. Gọi FR là họ tất cả các phụ thuộc hàm đúng trên quan hệ R. Ta có thể nhận thấy rằng X mà phụ thuộc hàm vào Y, nếu hai dòng bất kỳ mà các giá trị của tập thuộc tính X mà bằng nhau từng cặp một, thì kéo theo các giá trị trên tập thuộc tính Y cũng phải bằng nhau từng cặp một. Với định nghĩa này dễ thấy rằng trong các file dữ liệu cột, mã số hoặc thứ tự không thể bằng nhau. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 2 Ví dụ:Một cửa hàng cần quản lý về các loại mặt hàng mà họ bán ra. Giả sử mỗi loại hàng có một mầu duy nhất và một giá duy nhất. Khi đó kí hiệu hàng hóa (KIHIEU) xác định hàm màu (MAU) và đơn giá (DONGIA) của loại hàng đó. Trong trường hợp đơn giản đó, ta có tập thuộc tính U = {KIHIEU, MAU, DONGIA} và tập các phụ thuộc hàm F = {KIHIEU MAU, KIHIEU R DONGIA}. KIHIEU MAU DONGIA S KIHIEU MAU DONGIA A1 Xanh 10 A1 Xanh 10 A2 Vàng 20 A2 Vàng 20 B1 Đỏ 30 A1 Đỏ 10 (a) (b) Hình 1.1. Phụ thuộc hàm. Hình 1.1(a) mô tả quan hệ r thỏa F vì nó thỏa cả hai phụ thuộc hàm của F. Trong hình 1.1(b), quan hệ s mặc dù thỏa phụ thuộc hàm KIHIEU DONGIA. Tuy nhiên, s không thỏa KIHIEU MAU vì nó chứa hai bộ bằng nhau trên KIHIEU(“A1”) nhưng không bằng nhau trên MAU (“Xanh” và “Đỏ”) do đó nó không thỏa F. Tất cả nhưng quan hệ thỏa F như r lập thành lược đồ quan hệ R(U) = (U, F). Trong ví dụ này, rõ ràng mọi quan hệ thỏa F đều thỏa (KIHIEU MAU DONGIA) nên phụ thuộc hàm này là được suy diễn từ F hay F = (KIHIEU MAU DONGIA). Khái niệm phụ thuộc hàm miêu tả một loạt ràng buộc (phụ thuộc dữ liệu) xảy ra tự nhiên nhất giữa các tập thuộc tính Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 3 1.2 Hệ tiên đề Arsmtrong Năm 1974, Armstrong đã chỉ ra được bốn đặc trưng cho một tập phụ thuộc hàm của một file dữ liệu nào đó. Chúng được gọi là hệ tiên đề Armstrong Giả sửU là tập hữu hạn khác rỗng các thuộc tính và X,Y,Z,V,W U. Ta nói F là một f - họ hay họ đầy đủ trên U nếu: F1.X X F. F2.X Y F, Y Z F F3.X Y F, X V, W Y V W F. F4.X Y F, V W F X V Y W F. Rõ ràng FR là một X Z F. - họ trên U. Trong [4]W.W.Armstrong đã chứng minh một kết quả rất quan trọng: nếu F là một họ bất kỳ, thì luôn tồn tại một quan hệ R trên U sao cho FR = F. Kết quả này cùng với định nghĩa của phụ thuộc hàm chứng tỏ rằng hệ tiên đề Armstrong là đúng đắn và đầy đủ. Có nghĩa là bốn tính chất (Fl)-(F4) đúng là các đặc trưng của họ phụ thuộc hàm. Nhờ có hệ tiên đề này từ nay trở đi nghiên cứu và khảo sát họ phụ thuộc hàm không bị lệ thuộc vào các quan hệ (bảng) cụ thể. Các công cụ của toán học được áp dụng để nghiên cứu làm sáng tỏ cấu trúc lôgic của mô hình dữ liệu quan hệ. Đặc biệt, sử dụng công cụ thuật toán để thiết kế các công đoạn xây dựng các hệ quản trị cơ sở dữ liệu. Ví dụ chỉ ra có nhiều quan hệ khác nhau xong các họ đầy đủ các phụ thuộc hàm của chúng lại như nhau. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 4 Cho R1 và R2 là các quan hệ sau: a b a B 0 0 0 0 R1 1 1 R2 1 1 2 1 2 1 3 2 3 1 Có thể thấy r1 và r2 khác nhau nhưng Fr1 = Fr2. Như vậy, tương quan giữa lớp các quan hệ với lớp các họ phụ thuộc hàm có thể được thể hiện bằng hình vẽ sau.    Lớp các quan hệ Lớp các phụ thuộc hàm Hình1.2 : Tương quan giữa lớp quan hệ với lớp phụ thuộc hàm 1.3 Bao đóng của tập phụ thuộc hàm và tập thuộc tính Ta gọi sơ đồ quan hệ s là một cặp (U,F) trong đó U là tập hữu hạn khác rỗng các thuộc tính vàF là tập các phụ thuộc hàm trên U. Như vậy khi cho một sơ đồ quan hệ có nghĩa ta cho một đầu biểu gồm nhiều cột, nhưng không có dữ liệu và áp đặt các các ràng buộc giữa các tập cột (bằng việc cho phụ thuộc hàm). Sự thật việc cho các ràng buộc này phải Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 5 tuân theo nghĩa của các cột. Khi đóbao đóng của tập phụ thuộc hàm F, ký hiệu F+, được định nghĩa là tập tất cả các phụ thuộc hàm được dẫn xuất từ F bằng cách áp dụng các quy tắc từ (F1)-(F4). Ta thấy có một tương ứng 1-1 giữa lớp các hàm đóng và lớp các họf ,có hình vẽ sau       Lớp các hàm đóng Lớp các họ phụ thuộc hàm Hình 1.3 : Tương quan giữa lớp phụ thuộc hàm với lớp hàm đóng Trong [4] W.W.Armstrong đã chứng minh rằng nếu s = (U, F) là một sơ đồ quan hệ thì luôn tồn tại một quan hệ R trên U sao cho FR = F+.Một quan hệ R như vậy được gọi là quan hệ Armstrong của s. Trong trường hợp này hiển nhiên các phụ thuộc hàm của s đều đúng trên R. Gọi X là tập con thuộc tính của U. Ký pháp X+ ={a U|X {a} F+}. Khi đó X+ được gọi là bao đóng của tập thuộc tính X trên s. Bài toán xác định bao đóng X+ có độ phức tạp là đa thức theo kích thước của s(D.Maier [23]). Do đó, bài toán thành viên đối với sơ đồ quan hệ (nghĩa là cho sơ đồ quan hệ s=(U, F) và phụ thuộc hàm X Y, kiểm tra xem X Y có thuộc F+ hay không) có thể được giải quyết bằng một thuật toán thời gian đa thức (D.Maier [23]). Đối với quan hệ R Số hóa bởi Trung tâm Học liệu trên tập thuộc tính U, ta http://www.lrc-tnu.edu.vn/ đặt 6 XR+={a U|X {a} FR}. Khi đó, XR+ được gọi bao đóng của tập thuộc tính X trên R. Bài toán xác định bao đóng XR+ cũng có độ phức tạp là đa thức theo kích thước của R(Vũ Đức Thi [25]). Lưu ý rằng, khi bàn về phụ thuộc hàm thì quan hệ R được xét là quan hệ của một sơ đồ quan hệ s = (U, F) nào đó, nghĩa là tập thuộc tính của R là U và R thoả mọi phụ thuộc hàm của F. Dưới đây là một số tính chất cơ bản của bao đóng của tập thuộc tính trên sơ đồ quan hệ (trên quan hệ vẫn còn đúng). Các tính chất này có thể tìm thấy trong[2]. Định lý 1.3.1. [2]Giả sử s = (U, F) là một sơ đồquan hệ và X,Y U. Khi đó 1. Tính phản xạ: X X+ . 2. Tính đơn điệu: nếu X Y thì X+ Y+. 3. Tính lũy đẳng: X++ = X+. 4. X+ Y+ (X Y)+. 5. (X+ Y)+ = (X Y+)+ = (X+ Y+)+. 6. X Y F+ khi và chỉ khi Y 7. X Y F+ khi và chỉ khi Y+ X+. 8. X X+ F+ và X+ X 9. X+ = Y+ khi và chỉ khi X X+ . F+ Y F+ và Y X F+. Trong phần này cùng giới thiệu thêm khái niệm phủ (D.Maier [23]). Tập phụ thuộc hàm F được gọi là một phủ của tập phụ thuộc hàm G nếu F+ = Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 7 G+. Phủ F được gọi là không dư thừa nếu với mọi phụ thuộc hàm X Y F thì X Y (F-{X Y})+. Phủ F được gọi tốitiểu nếu |F|≤|F’| với mọi phủF’. 1.4 Khoá tối tiểu của sơ đồ quan hệ và quan hệ Cho s =(U, F) là một sơ đồ quan hệ, R là một quan hệ và K là một tập con thuộc tính của U. Khi đó K được gọi là một khoá tối tiểu của s(tương ứng của R) nếu K thỏa các điều kiện sau: 1. K U F+(tương ứng K U FR). X K sao cho X U F+(tương ứng X U FR). Nếu K thỏa điều kiện (1) thì K được gọi là khoá của s (tương ứng của R). Ký pháp Ks(tương ứng KR) là tập tất cả khoá tối tiểu của s(tương ứng R). Đã có nhiều tác giả nghiên cứu về khoá tối tiểu của sơ đồ quan hệ và quan hệ. Chẳng hạn, những kết quả này có thể tìm thấy trong [9, 14, 17]. Đối với việc tìm một khoá tối tiểu của sơ đồ quan hệ và quan hệ,cácthuậttoán tương ứng của nó đều có độphức tạp thời gian đa thức. Biếtrằng,trong[3] để tìm một khoá tối tiểu của sơ đồ quan hệs = (U,F)dịch chuyển sơ đồ quan hệ s về sơ đồ quan hệ là sơ đồ quan hệ có số thuộc tính ít hơn và số phụ thuộc hàm “gọn hơn”, ở đây F= {Xi Yi|Xi,Yi L= U,Xi Yi= ,i = 1,2,... ,m} R)+và , R= Yi |Xi Yi , Xi Yi F Khi đó, tachứng minh được một mối quan hệ tương đương khoá như sau: Định lý 1.4.1.K là một khóa tối tiểu của Số hóa bởi Trung tâm Học liệu nếu và chỉ nếu K (U-R) là một http://www.lrc-tnu.edu.vn/ 8 khoá tối tiểu của s. Rõ ràng, việc tìm một khoá tối tiểu trên sơ đồ quan hệ tốt hơn (bài toán này có độ phức tạp là đa thức theo kích thước của ) trên sơ đồ quan hệ s ban đầu. Những kết quả nghiên cứu về phép dịch chuyển sơ đồ quan hệ, chẳng hạn có thể tìm thấy trong [12]. Thuật toán xác định tập tất cả khoá tối tiểu của sơ đồ quan hệ cũng đã được nghiên cứu nhiều. Trong đó thuật toán của C.L.Lucchesi và S.L.Osborn [21] là khá hiệu quả, dù rằng độ phức tạp của nó cũng là hàm mũ. Thuật toán này được xem là thuật toán cơ bản để tìm tất cả khoá tối tiểu của một sơ đồ quan hệ. Đối với quan hệ R, bài toán tìm tập tất cả khoá tối tiểu cũng có độ phức tạp là hàm mũ theo kích thước của R(C.Beeri, M.Dowd, R.Fagin và R.Staman [5], J. Demetrovics và Vũ Đức Thi [14], G.Gottlob và L.Libkin [19]). Thuộc tính a được gọi là thuộc tính cơ bản của sơ đồ quan hệ s(tương ứng của quan hệ R) nếu tồn tại một khoá tối tiểu K Ks(tương ứng K KR) để a là một thuộc tính của K. Trong trường hợp ngược lạia được gọi là thuộc tính không cơ bản. Ký pháp Fn là tập tất cả các thuộc tính không cơ bản. Thuộc tính cơ bản và thuộc tính không cơ bản đóng một vai trò quan trọng trong việc chuẩn hoá các sơ đồ quan hệ cũng như quan hệ. Bài toán xác định a là thuộc tính cơ bản hay không của một sơ đồ quan hệ là bài toán NP-đầy đủ (C.L.Lucchesi và S.L.Osborn [21]) Có nghĩa là cho đến nay chưa có một thuật toán có độ phức tạp thời gian đa thức để giải quyết bài toán này. Tuy nhiên, đối với quan hệ thì bài toán này được giải quyết bằng một thuật toán thời gian đa thức (J.Demetrovics và Vũ Đức Thi [14]). Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 9 1.5 Các dạng chuẩn Do việc cập nhật dữ liệu thông qua các thao tác thêm, xoá và sửa đổi gây nên những dị thường, mà nguyên nhân chính là do lặp lại một số dữ liệu trong quan hệ nên các quan hệ cần thiết phải được phân tách thành các quan hệ nhỏ hơn hay biến đổi về các dạng chuẩn thích hợp. Quá trình đó được gọi là quá trình chuẩn hoá. Như vậy, việc chuẩn hoá các quan hệ cũng như sơ đồ quan hệ đóng một vai trò cực kỳ quan trọng trong thiết kế các hệ quản trị CSDL trên mô hình dữ liệu quan hệ của E.F.Codd. Nhờ có chuẩn hoá, chúng ta tránh được dư thừa dữ liệu, dị thường trong cập nhật và tăng tốc độ của các phép toán xử lý quan hệ. Cho F là tập phụ thuộc hàm trên U và X Y là một phụ thuộc hàm trong F. Tập Y được gọi là phụ thuộc hàm đầy đủ vào X nếu X Y là rút gọn trái, nghĩa là không tồn tại một tập con thật sự Z của X sao cho Z Y F+. Ngược lại, Y được gọi là phụ thuộc bộ phận vào X. Cho F là tập phụ thuộc hàm trên U và X, Y F+. Tập Y được gọi là phụ thuộc bắc cầu vào X nếu tồn tại Z U sao cho X Z Z X F+và Y F+, Z Y F +, Z. Ngược lại, Y được gọi là phụ thuộc trực tiếp vào X. Cho s = (U,F) là một sơ đồ quan hệ. Khi đó s được gọi là: 1. Ởdạng chuẩn một(1NF) ứng với tập phụ thuộc hàm F nếu toàn bộ miền giá trị của các thuộc tính trong s chỉ chứa các giá trị nguyên tố 2. Ởdạng chuẩn hai(2NF) ứng với tập phụ thuộc hàm F nếu s ở dạng chuẩn một và mọi thuộc tính không cơ bản của s đều phụ thuộc đầy đủ vào mọi khoá tối tiểu của s. 3. Ởdạng chuẩn ba(3NF) ứng với tập phụ thuộc hàm F nếu s ở dạng chuẩn một và không có thuộc tính không cơ bản của s phụ thuộc bắc cầu vào Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 10 bất kỳ một khoá tối tiểu của s. 4. Ởdạng chuẩn Boyce-Codd(BCNF) ứng với tập phụ thuộc hàm F nếu s ở dạng chuẩn một và không có thuộc tính nào của s phụ thuộc bắc cầu vào bất kỳ một khoá tối tiểu của s. Như vậy việc phân lớp các dạng chuẩn có thể được thể hiện quan hình vẽ sau BCNF 3NF 2NF 1NF Hình 1.4 : Lớp các dạng chuẩn Đối với quan hệ R trên tập thuộc tính U, thì R được gọi ở dạng chuẩn một (tương ứng dạng chuẩn hai, dạng chuẩn ba, dạng chuẩn Boyce-Codd) nếu R xác định trên sơ đồ quan hệ ở dạng chuẩn một (tương ứng dạng chuẩn hai, dạng chuẩn ba, dạng chuẩn Boyce-Codd). Từ các định nghĩa trên, rõ ràng chúng ta có nhận xét sau: nếu sơ đồ quan hệ s (tương ứng quan hệ R) là BCNF thì s(tương ứng R) là 3NF, nếu s(tương ứng R) là 3NF thì s (tương ứng R) là 2NF và nếu s(tương ứng R) là 2NF thì s(tương ứng R) là 1NF. Tuy nhiên điều ngược lại của nhận xét này là không đúng. Cho trước một sơ đồ quan hệ hay một quan hệ, kiểm tra xem sơ đồ quan hệ hay quan hệ đó đã là ở BCNF, hay 3NF hay chưa là rất quan trọng. Những kết quả nghiên cứu về vấn đề này đã có khá nhiều [10, 13, 15, 16, 18]. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 11 Đối với một quan hệ R(tương ứng sơ đồ quan hệ s) trên U cho trước, bài toán xác định R(s)có phải là dạng chuẩn Boyce-Codd hay không là được tính bằng thời gian đa thức theo kích thước của R(s). Đối với quan hệ R trên U cho trước, bài toán xác định R có phải là dạng chuẩn 3 hay không cũng là đa thức theo kích thước của R. Tuy nhiên, đối với sơ đồ quan hệ s trên U cho trước, khi đó bài toán xác định s có phải dạng chuẩn 3 hay không là NP-đầy đủ [25]. Có nghĩa là cho đến nay, độ phức tạp thời gian của bài toán này không là đa thức. Đối với dạng chuẩn 2, các câu hỏi tương tự cho R lẫn s vẫn còn là bài toán mở. Chúng ta phỏng đoán có độ phức tạp thời gian là hàm mũ trở lên. 1.6 Hệ Sperner Cho U là một tập hữu hạnP(U) là tập luỹ thừa của U và K là một tập con của P(U). Ta nói K là một hệ Sperner trên U nếu với mọi A,B K kéo theo A B. Từ định nghĩa này, rõ ràng chúng ta thấy Ks và KR(tập tất cả khoá tối tiểu của sơ đồ quan hệ s và quan hệ R) là các hệ Sperner. Trong [10] J.Demetrovics đã chứng minh rằng, nếu s=(U, F) là một sơ đồ quan hệ thì Ks là một hệ Sperner trên U. Ngược lại, nếu Ks là một hệ Sperner bất kỳ trên U thì luôn tồn tại một sơ đồ quan hệ s sao cho Ks = K. Mối quan hệ giữa lớp họ phụ thuộc hàm và lớp các hệ Sperner thể hiện qua hình vẽ sau Lớp các họ phụ thuộc hàm Số hóa bởi Trung tâm Học liệu Lớp các hệ Sperner http://www.lrc-tnu.edu.vn/
- Xem thêm -