Ứng dụng phép dịch chuyển lược đồ quan hệ trong cơ sở dữ liệu

33 349 0
Ứng dụng phép dịch chuyển lược đồ quan hệ trong cơ sở dữ liệu

Đ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

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN _ VŨ TRÍ DŨNG VŨ TRÍ DŨNG ỨNG DỤNG PHÉP DỊCH CHUYỂN ỨNG DỤNG PHÉP DỊCH CHUYỂN LƯỢC ĐỒ QUAN HỆ TRONG CƠ SỞ DỮ LIỆU LƯỢC ĐỒ QUAN HỆ TRONG CƠ SỞ DỮ LIỆU CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ : 60 48 35 01 LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học PGS TSKH NGUYỄN XUÂN HUY Thái Nguyên - 2009 T há i N gu y ê n - 00 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC LỜI NÓI ĐẦU CHƢƠNG TỔNG QUAN VỀ ĐỀ TÀI VÀ CÁC KHÁI NIỆM CƠ SỞ 1.1 TỔNG QUAN VỀ ĐỀ TÀI 1.1.1 Giới thiệu đề tài 1.1.2 Nội dung đề tài, vấn đề cần giải 1.1.3 Phƣơng pháp nghiên cứu 1.1.4 Phạm vi ứng dụng 1.1.5 Kết đạt đƣợc 1.2 CÁC KHÁI NIỆM CƠ SỞ 1.2.1 Quan hệ, thuộc tính, 1.2.2 Đại số quan hệ 10 1.2.3 Phụ thuộc hàm, Hệ tiên đề Armstrong, Lƣợc đồ quan hệ 13 1.2.4 Bao đóng tập thuộc tính 18 1.2.5 Phủ tập phụ thuộc hàm 21 1.2.6 Khóa lƣợc đồ quan hệ 27 1.2.7 Chuẩn hoá LĐQH sở phụ thuộc hàm 31 CHƢƠNG PHÉP DỊCH CHUYỂN LƢỢC ĐỒ QUAN HỆ 36 2.1 Phép dịch chuyển LĐQH 37 2.2 Thuật toán dịch chuyển LĐQH 38 2.3 Định lý phép dịch chuyển LĐQH 39 2.4 Dạng biểu diễn thứ khóa 43 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2.5 Dạng biểu diễn thứ hai khóa 45 2.6 Kết luận 50 CHƢƠNG CÀI ĐẶT CHƢƠNG TRÌNH 51 3.1 Giới thiệu 51 3.2 Các chức chƣơng trình 51 3.3 Một số giao diện chƣơng trình 52 3.4 Các thí dụ 54 DANH MỤC BÀI BÁO, CÔNG TRÌNH NCKH 57 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 58 TÀI LIỆU THAM KHẢO 60 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT LỜI NÓI ĐẦU Trong quản lý sở liệu (CSDL), phụ thuộc liệu hiểu 1NF normal form - dạng chuẩn mệnh đề mô tả ràng buộc mà liệu phải đáp ứng thực tế Nhờ có 2NF 2nd normal form - dạng chuẩn mô tả phụ thuộc mà hệ quản trị sở liệu quản lý tốt chất st 3NF normal form - dạng chuẩn lượng liệu Lý thuyết phụ thuộc liệu đóng vai trò quan trọng việc CSDL Cơ sở liệu mô tả giới thực, phản ánh ngữ nghĩa liệu sở liệu Phụ thuộc LĐQH Lƣợc đồ quan hệ liệu Codd, tác giả mô hình liệu quan hệ đặt móng từ năm 70 PTH phụ thuộc hàm với khái niệm phụ thuộc hàm Sau loạt tác giả khác tiếp tục phát triển FD phụ thuộc hàm dạng phụ thuộc bậc cao, phụ thuộc mờ xây dựng hệ tiên đề cho ╞ suy dẫn theo tiên đề (theo logic) lớp phụ thuộc - tức đặt sở lý thuyết phụ thuộc liệu ├ suy dẫn theo quan hệ        X+  khác với thuộc chứa giao (của tập thuộc tính) hợp (của tập thuộc tính) bao đóng tập thuộc tính X tƣơng đƣơng sở liệu, logic chọn ngôn ngữ hữu hiệu để đặc tả phụ thuộc ≢ \ không tƣơng đƣơng phép trừ logic bao đóng, khóa phản khoá Các kết thu sử dụng trình thiết kế rd Một điều tự nhiên từ ngày đầu phát triển lý thuyết thiết kế liệu, đó, số loại hình phụ thuộc liệu đa dạng đề xuất phát triển sau này, phụ thuộc logic luôn trọng tâm ý nhóm nghiên cứu Đề tài tập trung vào tìm hiểu nghiên cứu khái niệm chuyển dịch lược đồ quan hệ, đưa chúng dạng thu gọn nhận biểu diễn quan trọng cho sở liệu Nội dung đề tài cấu trúc sau: Chương giới thiệu đề tài khái niệm chung mô hình quan hệ với trọng tâm khái niệm hình thức mô hình quan hệ, vận dụng chủ yếu cấu trúc rời rạc Phụ thuộc hàm (PTH) lớp phụ thuộc phụ thuộc logic đồng thời lớp phụ thuộc kinh điển theo nghĩa, Codd, tác giả mô hình liệu quan hệ, đề xuất sớm sử dụng công cụ thiết kế sở liệu chuẩn hóa Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang http://www.lrc-tnu.edu.vn Chương trình bày kỹ thuật thu gọn lược đồ quan hệ (LĐQH) gọi Em xin chân thành cảm ơn Ban lãnh đạo Liên đoàn Lao động tỉnh Hà phép dịch chuyển lược đồ quan hệ Bản chất kỹ thuật loại bỏ khỏi Nam, Ban giám hiệu Trường trung cấp nghề Kinh tế - Kỹ thuật Hà Nam, gia đình, LĐQH ban đầu số thuộc tính không quan trọng theo nghĩa chúng không làm người thân bạn bè tạo điều kiện thuận lợi, động viên giúp đỡ em suốt ảnh hưởng đến kết tính toán đối tượng quan tâm bao đóng, thời gian học tập, nghiên cứu làm luận văn tốt nghiệp khóa, phản khóa Mặc dù LĐQH thu qua phép dịch chuyển không tương đương với LĐQH ban đầu, ta thu đối tượng cần tìm Học viên phép toán đơn giản loại bỏ thêm số thuộc tính Điều lý thú sau loại bỏ số thuộc tính số PTH loại bỏ theo chúng trở Vũ Trí Dũng thành PTH tầm thường (có vế trái chứa phải) mang thông tin tiền định (đó PTH dạng   X) Các phép dịch chuyển LĐQH phát triển cho lớp phụ thuộc logic phụ thuộc hàm cho ta số kết lý thú biểu diễn bao đóng, khóa, phản khóa số dấu hiệu cần đủ để nhận biết đặc trưng tương quan đối tượng nói Chương cài đặt chương trình mô ứng dụng phép dịch chuyển lược đồ quan hệ vào thiết kế sở liệu với số thí dụ Phần cuối luận văn kết luận hướng phát triển tài liệu tham khảo Em xin bày tỏ lòng chân thành cảm ơn PGS TSKH Nguyễn Xuân Huy người Thầy tận tình hướng dẫn, giúp đỡ em hoàn thành luận văn Em xin chân thành cảm ơn Khoa Công nghệ thông tin - Đại học Thái Ngyên tạo điều kiện tinh thần sở vật chất để em học tập, nâng cao kiến thức thực luận văn tốt nghiệp Em xin chân thành cảm ơn Thầy, Cô giáo Viện Công nghệ thông tin Viện Khoa học Công nghệ Việt Nam, Thầy, Cô giáo Khoa Công nghệ thông tin - Đại học Thái Nguyên nhiệt tình giảng dạy, hướng dẫn cung cấp cho em kiến thức vô quí báu, để em có điều kiện nâng cao kiến thức hiểu biết lĩnh vực công nghệ thông tin Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang http://www.lrc-tnu.edu.vn 1.1.2 Nội dung đề tài, vấn đề cần giải CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI VÀ CÁC KHÁI NIỆM CƠ SỞ Luận văn tập trung tìm hiểu cải tiến kỹ thuật thuật toán thu gọn lược đồ quan hệ p thông qua phép dịch chuyển lược đồ quan hệ theo tập thuộc tính X Khảo sát phụ thuộc phép dịch chuyển thông qua tính chất tập 1.1 TỔNG QUAN VỀ ĐỀ TÀI thuộc tính X Khảo sát hai dạng biểu diễn khóa lược đồ quan hệ qua phép dịch 1.1.1 Giới thiệu đề tài chuyển Xây dựng hệ trình minh họa đánh giá kết lý thuyết Trong quản lý sở liệu lớn phức tạp đòi hỏi nhiều thuật toán hữu 1.1.3 Phương pháp nghiên cứu hiệu để tính toán đối tượng bao đóng, khóa, phủ Một số thuật toán tốt Tiếp cận chủ yếu để giải vấn đề đặt phạm vi đề tài tiên theo nghĩa độ phức tạp tính toán giới hạn hàm tuyến tính đa thức theo đề hóa Các hệ tiên đề xây dựng sở hệ suy dẫn hình thức chiều dài liệu vào công bố thuật toán tính bao đóng tập thuộc với tính chất đối tượng sở mối liên hệ tính, thuật toán tìm khóa, thuật toán xác định thành viên hay thuật toán xác định chúng Cơ sở toán học hệ tiên đề định lý tính xác đáng đầy phụ thuộc hàm suy dẫn, thuật toán tìm giao khóa, thuật toán xác định lược đủ với định lý điều kiện cần đủ cho hệ tiên đề tương đồ quan hệ có khóa nhất… [1, 2, 8] đương Một nhận xét tự nhiên kích thước lược đồ quan hệ nhỏ Tiếp cận hình thức vận dụng chủ yếu phương pháp cấu trúc thuật toán phát huy hiệu Một số hướng nghiên cứu tinh giản toán học rời rạc (bao gồm logic hình thức), kết hợp với phương pháp lược đồ sở liệu thực thông qua phép biến đổi tương đương, đối sánh, mô hình hóa, tối ưu quy hoạch rời rạc chẳng hạn đưa tập phụ thuộc hàm dạng thu gọn thu gọn tự nhiên, dạng không dư, dạng tối ưu (chứa ký hiệu nhất)… công bố [3, 5, 6, 7] Trong phép dịch chuyển lược đồ quan hệ Bản chất kỹ thuật loại bỏ khỏi lược đồ quan hệ ban đầu số thuộc tính không quan trọng theo nghĩa chúng không làm ảnh hưởng đến kết tính toán đối tượng quan tâm bao đóng, khóa, Mặc dù lược đồ quan hệ thu qua phép thu gọn không tương đương với lược đồ quan hệ ban đầu, ta thu đối tượng cần tìm phép toán đơn giản loại bỏ thêm số thuộc tính Điều lý thú sau loại bỏ số thuộc tính số phụ thuộc hàm loại bỏ theo, chúng trở thành phụ thuộc hàm tầm thường (có vế trái chứa phải) mang thông tin tiền định (đó phụ thuộc hàm dạng   X) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Kết hợp chặt chẽ lý thuyết thực hành, sử dụng phát triển phần mềm nói chung phần mềm toán học nói riêng để kiểm định thể kết lý thuyết 1.1.4 Phạm vi ứng dụng Các kết thu vận dụng cho quy trình thiết kế sở liệu quan hệ dùng hệ thống thông tin, cụ thể là: - Tính bao đóng tập thuộc tính, - Tìm khóa lược đồ quan hệ - Chuẩn hoá LĐQH Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang http://www.lrc-tnu.edu.vn 1.1.5 Kết đạt Mục trình bày số khái niệm mở đầu mô hình quan hệ Trọng tâm Về lý thuyết, luận văn tập trung vào kết sau đây: tập trung vào khái niệm hình thức mô hình quan hệ, vận dụng chủ yếu cấu trúc rời rạc Phần mục giới thiệu định nghĩa - Khái niệm phép dịch chuyển lược đồ quan hệ, quan hệ, thuộc tính Phần thứ hai giới thiệu đại số quan hệ ngôn - Phát biểu chứng minh công thức tính bao đóng qua phép dịch chuyển lược đồ quan hệ, ngữ truy nhập liệu sở liệu quan hệ Phần thứ ba mô tả phụ thuộc hàm công cụ toán học trợ giúp cho việc biểu đạt ngữ nghĩa liệu đảm - Phát biểu chứng minh kết dạng biểu diễn khóa thứ nhất, - Phát biểu chứng minh kết dạng biểu diễn khóa thứ hai, - Phân tích thuật toán tìm khóa, phát triển thuật toán tìm tất khoá Về thực hành luận văn cài đặt kết lý thuyết dạng chương trình bao gồm chức sau: bảo tính quán liệu sở liệu, phụ thuộc hàm lớp phụ thuộc phụ thuộc logic đồng thời lớp phụ thuộc kinh điển theo nghĩa, Codd, tác giả mô hình liệu quan hệ đề xuất sớm sử dụng công cụ thiết kế sở liệu chuẩn hóa Các tính chất phụ thuộc hàm hệ tiên đề cho phụ thuộc hàm mô tả đầy đủ, hệ tiên đề Armstrong sử dụng nhiều Một khái niệm quan trọng  Nạp cập nhật liệu: thuộc tính phụ thuộc hàm phụ thuộc hàm bao đóng tập thuộc tính tính chất phép toán lấy bao đóng trình bày phần thứ tư mục Phần thứ năm giới  Tính bao đóng thiệu loại phủ quan trọng nhất, đóng vai trò thu gọn tập phụ thuộc hàm, tạo  Tìm khóa lược đồ quan hệ thuận tiện cho tối ưu hóa thao tác ngữ nghĩa Hai khái niệm chủ chốt liên quan  Chuẩn hoá LĐQH đến phụ thuộc hàm khóa dạng chuẩn lược đồ quan hệ trình bày hai phần cuối, phần thứ sáu thứ bảy mục 1.2.1 Quan hệ, thuộc tính, 1.2 CÁC KHÁI NIỆM CƠ SỞ Trong mô hình liệu mô hình liệu quan hệ sử dụng rộng rãi Định nghĩa tính trực quan, kiến trúc đơn giản có sở toán học chặt chẽ Ngoài ra, Cho tập hữu hạn U = {A1, A2 , , An} khác rỗng (n 1) Các phần tử U người ta chứng minh tương đương cung cấp phép chuyển đổi gọi thuộc tính Ứng với thuộc tính AiU, i = 1,2, ,n có tập mô hình liệu quan hệ với mô hình mạng phân cấp Một cách giải thích chứa hai phần tử dom(Ai) gọi miền trị thuộc tính Ai Gọi D trực quan cho mô hình liệu quan hệ liệu toán quản lý hợp dom(Ai), i = 1,2, ,n Một quan hệ R với thuộc tính U, ký tổ chức theo hàng cột, cột biểu thị thuộc tính thông tin cần quản lý đối hiệu R(U), tập ánh xạ t: UD cho với AiU ta có tượng, thuộc tính gọi tiêu đề cột giá trị cột có t(Ai)dom(Ai) Mỗi ánh xạ gọi quan hệ R kiểu Tập hợp tất giá trị thuộc tính hàng (gọi bộ) liệu đối tượng quản lý Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Mỗi quan hệ R(U) có hình ảnh bảng, cột ứng với thuộc tính, dòng http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang http://www.lrc-tnu.edu.vn Ta ký hiệu t(U) tập thuộc tính U Ta chấp nhận quy ước sau đây: Mọi cặp t v quan hệ giống Một quan hệ rỗng, ký hiệu , quan hệ không chứa miền rỗng thuộc tính, t. = v.  Hàm Attr(R) cho tập thuộc tính quan hệ R Vì quan hệ tập nên quan hệ hai trùng lặp  Hàm Card(R) cho lực lượng (số bộ) quan hệ R Các ký hiệu số quy ước Theo truyền thống lý thuyết sở liệu chấp nhận quy Trong trường hợp tập thuộc tính U cho trước ta viết đơn giản R thay định sau đây: cho R(U) Các thuộc tính ký hiệu chữ LATIN HOA đầu bảng chữ A, B, C, Ký hiệu REL(U) tập toàn thể quan hệ tập thuộc tính U, REL_p(U) Tập thuộc tính ký hiệu chữ LATIN HOA cuối bảng chữ X, Y, tập toàn thể quan hệ có không qúa p tập thuộc tính U, p  Hai quan hệ R S gọi tương thích chúng có tập thuộc Z, Các phần tử tập thường liệt kê xâu ký tự, tính, tức Attr(R) = Attr(S) biểu diễn tập, chẳng hạn ta viết X = ABC thay viết Với t quan hệ R(U) v quan hệ S(V) ta ký hiệu tv X = A, B, C XY biểu diễn hợp hai tập X Y, X Y Phép trừ hai tập X phép dán hai t v tv cho ta r tập thuộc tính UV thoả điều Y ký hiệu X\Y, X-Y kiện: r.U = t r.V = v Một phân hoạch tập M (thành tập rời có hợp M), X1, Với t quan hệ R(U) với quan hệ S(V) ta ký hiệu tS X2, , Xm ký hiệu phép dán t với quan hệ S tS cho ta quan hệ P(UV) = { tv | vS } ký hiệu M = X1 | X2 | | Xm Thí dụ với ý nghĩa M = X1  X2   Xm Xi  Xj = ,  i, j  m, i  j Cho U = ABC, V = BD, t(U) = (a,b,c), v(V) = (b,d) Ta có r(UV) = t * v = Các biểu diễn chữ Latin thường kèm số, thí dụ t, (a,b,c,d) tập thuộc tính UV = ABCD u, v, t1 Cho thêm quan hệ S(BD) Với t quan hệ R(U) tập thuộc tính X  U ta ký hiệu t[X] t.X hạn chế (ánh xạ) t tập thuộc tính X Ta chấp nhận quy ước tự nhiên miền trị thuộc tính chứa hai phần tử Trong trường hợp miền trị thuộc tính chứa giá trị ta loại bỏ cột tương ứng thuộc tính quan hệ S (B D) b d x d b e Khi t*S cho ta quan hệ P(ABCD) sau P (A B C D) a b c d a b c e Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang http://www.lrc-tnu.edu.vn 1.2.2 Đại số quan hệ (ii) Lược bớt dòng giống bảng kết quả: giữ lại dòng số dòng giống Đại số quan hệ xây dựng tập quan hệ với phép toán sở chọn, chiếu, kết nối tự nhiên, chia, hợp, giao trừ Mục sử dụng ký pháp theo tài liệu [7] Phép kết nối tự nhiên Định nghĩa Phép chọn (phép lọc) Cho hai quan hệ R(U) S(V) Đặt M = UV Phép kết nối (tự nhiên) hai quan hệ R(U) S(V), ký hiệu RS, cho ta quan hệ chứa dán từ Định nghĩa Cho quan hệ R(U) biểu thức điều kiện (còn gọi biểu thức lọc hay biểu u quan hệ R với v quan hệ S (sao cho trị miền thuộc thức chọn) e Phép chọn quan hệ R theo điều kiện e, ký hiệu R(e) cho ta tính chung M hai giống nhau) P(UV) = R S ={ uv | uR, vS, u.M = v.M } quan hệ: P(U) = R(e) = { t  R | Sat(t, e) } Nếu M = UV = , R S cho ta tích Descartes, quan hàm logic Sat(t, e) kiểm tra t thoả điều kiện e xác định theo hai bước sau: hệ R ghép với quan hệ S Phép cộng (hợp) 1) Thay xuất thuộc tính A biểu thức chọn e trị tương ứng A t, t.A, ta thu mệnh đề logic b Định nghĩa Phép hợp (theo lý thuyết tập hợp nối dọc) hai quan hệ tương thích R(U) 2) Tính trị b Nếu (True) t thoả điều kiện e; ngược lại, S(U), ký hiệu RS, R+S, cho ta quan hệ chứa quan hệ trị b sai (False) t không thoả điều kiện e thành phần, Trong biểu thức chọn ta sử dụng ký hiệu cho phép toán logic sau: Hội: Tuyển: Phủ định: ¬, Kéo theo:  P(U) = R S = { t | tR  tS } Phép trừ Phép chiếu Định nghĩa Định nghĩa Phép trừ (theo lý thuyết tập hợp lấy phần riêng) hai quan hệ tương thích Phép chiếu quan hệ R(U) tập thuộc tính X  U, ký hiệu R[X], cho ta R(U) S(U), ký hiệu R\S, R-S, cho ta quan hệ chứa quan hệ quan hệ R quan hệ S, P(U) = R \ S = { t | tR, t S } P(X) = R[X] = { t.X | tR } Phép giao R[X] tính theo bước sau: Định nghĩa (i) Xoá cột không thuộc X bảng R, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 10 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 11 http://www.lrc-tnu.edu.vn Phép giao (theo lý thuyết tập hợp lấy phần chung) hai quan hệ tương MaxR, A: cho giá trị lớn thuộc tính cột A quan hệ R thích R(U) S(U), ký hiệu RS, R&S cho ta quan hệ chứa xuất MinR, A: cho giá trị nhỏ thuộc tính cột A quan hệ R đồng thời hai quan hệ thành phần, Nếu biểu thức quan hệ có chứa hàm tiện ích hàm P(U) = R S ={ t | tR, tS } thực sớm ngữ cảnh cho phép Các phép toán hợp, trừ giao đựơc gọi phép toán tập hợp quan hệ (tương thích) Thí dụ Biểu thức quan hệ P = SR(A > Avg(S,A))[AB] thực theo trật tự sau Phép chia đây: Định nghĩa Tính hàm c = Avg(S,A) Cho hai quan hệ R(U) S(V) thỏa V  U Đặt M = U\V Phép chia quan hệ R cho quan hệ S, ký hiệu R:S, cho ta quan hệ Thực phép chọn P1 = R(A > c) Thực phép chiếu P2 = P1[AB] P(M) = R : S = { t.M | t R, (t.M)*S R } Thứ tự thực phép toán quan hệ Thực phép kết nối P = S*P2 1.2.3 Phụ thuộc hàm, hệ tiên đề Armstrong, lược đồ quan hệ Trong biểu thức quan hệ phép toán có độ ưu tiên cao (do thực sớm hơn) phép toán hai Tiếp đến nhóm phép toán kết nối, giao chia, cuối nhóm phép toán cộng trừ Thứ tự ưu tiên từ cao đến thấp phép toán quan hệ liệt kê sau: Phụ thuộc hàm Định nghĩa Cho tập thuộc tính U Một phụ thuộc hàm (PTH) U biểu thức dạng f: XY ; X,Y  U (), []  ,, : Nếu f: XY phụ thuộc hàm U ta nói tập thuộc tính Y phụ thuộc  ,\ vào tập thuộc tính X, tập thuộc tính X xác định hàm tập thuộc tính Y X Dãy phép toán thứ tự ưu tiên thực từ trái qua phải Nếu biểu thức quan hệ có chứa cặp ngoặc (*) biểu thức xác định vế trái vế phải PTH f, cụ thể f:XY LS(f) = X, RS(f)=Y cặp ngoặc thực trước Cho quan hệ R(U) PTH f: XY U Ta nói quan hệ R thoả PTH f Một số hàm tiện ích viết R(f), hai tuỳ ý R giống X chúng giống SumR, A: cho tổng giá trị số thuộc tính cột A quan hệ R AvgR, A: cho trung bình cộng giá trị thuộc tính cột A quan hệ R Số hóa Trung tâm Học liệu – Đại học Thái Nguyên vế trái Y vế phải PTH f Ta dùng hai toán tử LS(f) RS(f) để http://www.lrc-tnu.edu.vn Y, R(XY)  (u,v  R): (u.X = v.X)  (u.Y = v.Y) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 12 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 13 http://www.lrc-tnu.edu.vn Ta dùng ký hiệu X ↛ Y với ý nghĩa tập thuộc tính Y không phụ thuộc hàm vào Cho tập PTH F tập thuộc tính U Bao đóng F, ký hiệu F+ tập nhỏ PTH U chứa F thoả tính chất F1-F3 hệ tiên đề tập thuộc tính X Cho tập PTH F tập thuộc tính U Ta nói quan hệ R(U) thoả tập PTH F, Armstrong Ao sau đây: X, Y, Z  U: viết R(F), R thoả PTH F, F1 Tính phản xạ: Nếu X  Y XY  F + R(F)  ( f  F): R(f) Nếu quan hệ R thỏa PTH f ta nói PTH f quan hệ R F2 Tính gia tăng: Nếu XY  F + XZYZ  F + F3 Tính bắc cầu: Nếu XY  F + YZ  F + XZ  F + Thí dụ Chú ý Cho quan hệ R(A, B, C, D) sau R(A a a b b B 1 2 C x y x y Các PTH có vế trái chứa vế phải mô tả F1 gọi tầm thường Các D) 2 1 PTH tầm thường quan hệ Ngoài ra, quan hệ tập thuộc tính U có không thỏa PTH U Suy dẫn theo tiên đề (suy dẫn logic) Định nghĩa PTH f1: AA, f2: AB, f3: ACC, f4: AD, f5: DA, f6: AC Khi PTH f1 - f5 R, mặt khác, R không thỏa PTH f6 Ta nói PTH f suy dẫn theo tiên đề (hoặc suy dẫn logic) từ tập PTH F ký hiệu F╞ f, f  F + Cho trước tập PTH F tập thuộc tính U, ký hiệu SAT(F) tập toàn thể quan hệ U thoả tập PTH F, SAT_p(F), p  tập toàn thể quan hệ có không p U thoả tập PTH F , cụ thể Nói cách khác PTH f suy dẫn theo tiên đề từ tập PTH F xuất phát từ F, áp dụng luật F1, F2 F3 hệ tiên đề Armstrong Ao sau hữu hạn lần SAT(F) = { R | RREL(U), R(F) } ta thu PTH f SAT_p(F) = { R | RREL_p(U), R(F) } Cho tập  quan hệ U, ký hiệu FD() tập PTH U quan hệ  Suy dẫn theo quan hệ Định nghĩa Cho tập PTH F tập thuộc tính U f PTH U Ta nói PTH f suy dẫn theo quan hệ từ tập PTH F viết F├ f, quan hệ R(U) Hệ tiên đề Armstrong thoả F R thoả f Bao đóng tập PTH F├ f  SAT(F)  SAT(f) Định nghĩa Số hóa Trung tâm Học liệu – Đại học Thái Nguyên F╞ f  f  F + http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 14 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 15 http://www.lrc-tnu.edu.vn Method Vì T* chứa dòng thứ hai gồm toàn ký hiệu phân biệt nên phép tách cho không Khởi trị: Lập bảng T với cột thuộc tính U k dòng, dòng tổn thất ứng với thành phần Xi : Dòng i chứa ký hiệu phân biệt b) Dùng kỹ thuật bảng để kiểm tra tính kết nối không tổn thất phép tách (KHPB) aj ứng với thuộc tính Aj Xi ký hiệu không phân biệt LĐQH p = (U,F), U = ABCDE, (KHKPB) bij ứng với thuộc tính Aj U-Xi Chú ý KHPB F = { A  C, B  C, C  D, DE  C, CE  A },  = (AD, AB, BE, CDE) cột j T giống aj KHKPB bảng T lúc đầu khác T  T* A B C D E AD a1 b12 b13 / a3 a4 b15 AB a1 a2 b23 / b13 / a3 b24 / a4 b25 BE b31 a2 b33 / b13 / a3 b34 / a4 a5 Sửa bảng: Lặp đến bảng T không thay đổi: Vận dụng F-luật để biến đổi bảng sau: Với PTH L  R F, bảng T có chứa hai dòng u v giống L sửa ký hiệu chúng cho giống cột A R CDE b41 / b31 bảng T sau: a u.A = v.A: không sửa, b hai ký hiệu u.A v.A KHPB sửa xuất bảng KHKPB thành KHPB đó, c hai ký hiệu u.A v.A KHKPB sửa xuất bảng ký hiệu có số thứ lớn thành ký hiệu thứ hai Kết luận: Gọi bảng kết T* b42 a3 a4 a5 Vì T* không chứa dòng gồm toàn ký hiệu phân biệt nên phép tách cho tổn thất Tính chất phép tách Mệnh đề Cho LĐQH a = (U, F) Nếu X  Y phép tách (XY, U\(Y\X)) không tổn thất Nếu T* chứa dòng toàn KHPB return True không return Các dạng chuẩn False end Lossless_Join_Testing Định nghĩa Thí dụ LĐQH p = (U,F) gọi lược đồ a) Dùng kỹ thuật bảng để kiểm tra tính kết nối không tổn thất phép tách LĐQH p = (U,F), U = ABCD, F = { A  B, AC  D },  = (AB, ACD) T  T* a) dạng chuẩn (1NF) thuộc tính U thuộc tính phức hợp, b) dạng chuẩn (2NF) p LĐ 1NF thuộc tính không khoá A B phụ thuộc đầy đủ vào khoá, C D AB a1 a2 b13 b14 ACD a1 b22 / a2 a3 a4  A  Uo ,  K  Key(p) : K + A c) dạng chuẩn (3NF) p LĐ 1NF thuộc tính không khoá phụ thuộc trực tiếp vào khoá, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 32 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 33 http://www.lrc-tnu.edu.vn  A  Uo ,  K  Key(p) : K * A d) dạng chuẩn (3NF) p LĐ 1NF PTH không tầm thường // không // (K,K)} với K khóa p return {(K1X1,K1), ,(KsXs,Ks), construct  = (K1X1,K2X2, ,KsXs); XA, A thuộc tính không khóa cho ta X siêu khoá, for each component V = KiXi in   (X  A, A  Uo – X )  X + = U if V+ = U then e) dạng chuẩn Boyce-Codd (BCNF) p LĐ 1NF thuộc tính // V = KiXi siêu khóa return {(K1X1,K1), ,(KsXs,Ks)}; phụ thuộc trực tiếp vào khoá, endif;  A  U ,  K  Key(p) : K * A endfor; K = Key(U,F); f) dạng chuẩn Boyce-Codd (BCNF) p LĐ 1NF PTH không tầm return {(K1X1,K1), ,(KsXs,Ks),(K,K)}; thường XY cho ta X siêu khóa  (X  Y, Y – X   )  X = U + End 3NF Thí dụ Sơ đồ tương quan dạng chuẩn Xác định giải thích dạng chuẩn cao LĐQH sau: BCNF  3NF  2NF a = (U, F), U = ABCD, F = { A  C, D  B, C  ABD } Thuật toán chuẩn hoá 3NF không tổn thất bảo toàn PTH LĐQH a có khoá A C A+ = C+ = ABCD = U Tập thuộc tính khoá Algorithm 3NF Uk = AC, tập thuộc tính không khoá Uo = BD Ta có, DB, B thuộc tính không Function: Chuẩn hóa 3NF không tổn thất bảo toàn PTH khóa D siêu khóa a không 3NF đương nhiên không Input: LĐQH p = (U,F) BCNF Vì hai khoá A C có thuộc tính nên thuộc tính không Output: Các LĐQH 3NF (U1,K1),(U2,K2), ,(Us ,Ks) thoả khoá khác B D phụ thuộc đầy đủ vào hai khoá Vậy a 2NF RREL(U): R[U1]R[U2] R[Us] = R K1, K2, , Ks - khoá lược đồ tương ứng F   i=1 s(F+[Ui]) Method Tìm phủ tối tiểu F: G = {K1  A1,K2  A2, , Km  Am} Ghép PTH có vế trái G để thu phủ G = {K1  X1, K2  X2, , Ks  Xs} // Xét phép tách  = (K1X1, ,KsXs) Nếu  // chứa siêu khóa // p return {(K1X1,K1), ,( KsXs,Ks)} Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 34 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 35 http://www.lrc-tnu.edu.vn lược đồ b cách xóa khỏi lược đồ a thuộc tính A, D H Ta thu lược CHƯƠNG đồ b = (V,G) V= U\ADH = BCE, G = {E  Ø, BC  E, E  BC} Tiếp PHÉP DỊCH CHUYỂN LƯỢC ĐỒ QUAN HỆ đến ta loại PTH tầm thường E  Ø khỏi G Ta thu G = {BC  E, E  BC} Ta dễ dàng tìm hai khóa lược đồ b, Key(b) = {BC, E} Để thu Quản lý sở liệu lớn phức tạp đòi hỏi nhiều thuật toán hữu hiệu Key(a) ta việc thêm tập thuộc tính AH (không thêm D) vào khóa lược để tính toán đối tượng bao đóng, khóa, phủ Một số thuật toán tốt theo đồ b Vậy Key(a) = {AHBC, AHE} Dù F tập PTH tối ưu [7] G nghĩa độ phức tạp tính toán giới hạn hàm tuyến tính đa thức theo chiều chứa ký hiệu F dài liệu vào công bố thuật toán tính bao đóng tập thuộc tính, 2.1 Phép dịch chuyển LĐQH thuật toán tìm khóa, thuật toán xác định thành viên hay thuật toán xác định phụ thuộc hàm suy dẫn, thuật toán tìm giao khóa, thuật toán xác định lược đồ Định nghĩa Cho hai LĐQH a = (U,F), b = (V,G) tập thuộc tính M  U Ta nói LĐQH b quan hệ có khóa [1, 2, 8] Một nhận xét tự nhiên kích thước LĐQH nhỏ thuật toán phát huy hiệu Một số hướng nghiên cứu tinh giản lược đồ sở liệu thực thông qua phép biến đổi tương đương, chẳng hạn đưa tập PTH dạng thu gọn thu gọn tự nhiên, dạng không dư, dạng tối ưu (chứa ký hiệu nhất) công bố [3, 5, 6, 7] nhận từ LĐQH a qua phép dịch chuyển theo tập thuộc tính M, sau loại bỏ xuất thuộc tính M lược đồ a thu lược đồ b Nếu sau thực phép dịch chuyển theo M cho LĐQH a ta thu LĐQH b ta viết b = a\M Trong phép dịch chuyển lược đồ quan hệ [7] Bản chất kỹ thuật loại bỏ khỏi LĐQH ban đầu số thuộc tính không quan trọng theo nghĩa chúng không làm ảnh hưởng đến kết tính toán đối tượng quan tâm bao đóng, khóa, phản khóa Mặc dù LĐQH thu qua phép dịch chuyển không tương đương với LĐQH ban đầu, ta thu đối tượng cần tìm phép toán đơn giản loại bỏ thêm số thuộc tính Điều lý thú sau loại bỏ số thuộc tính số PTH loại bỏ theo, chúng trở thành PTH tầm thường (có vế trái chứa phải) mang thông tin tiền định (đó phụ thuộc hàm dạng   X) b=(V,G) sau: Tính V = U\M có độ phức tạp O(n) với n số lượng thuộc tính U Với PTH X  Y F ta tạo PTH X\M  Y\M cho G Thủ tục ký hiệu G = F\M Tính F\M đòi hỏi độ phức tạp O(mn) với m số lượng PTH F Như b = a\M = (U\M,F\M) thực với độ phức tạp O(mn), tức tuyến tính theo chiều dài liệu vào (LĐQH a) Thí dụ Sau thực thủ tục G = F\M Cho LĐQH a = (U,F) với tập thuộc tính U = ABCDEH tập PTH F = {AE  D, BC E, E  BC} Để tìm tập khóa Key(a) lược đồ a xây dựng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Thao tác loại bỏ M thực lược đồ a = (U,F) để thu lược đồ http://www.lrc-tnu.edu.vn  G chứa PTH tầm thường (dạng X  Y, X  Y) ta loại PTH khỏi G, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 36 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 37 http://www.lrc-tnu.edu.vn  G chứa PTH trùng lặp ta lược bớt PTH return (V,G); end Translation Thí dụ Thủ tục Natural_Reduced(G) đưa tập PTH G dạng thu gọn tự nhiên cách Cho LĐQH a = (U,F), U = ABCDEH, F = {AE  D, A  DH, BC  E, loại khỏi G PTH tầm thường (có vế trái chứa vế phải), chuyển đổi PTH E  BC} Với M = ADH, xác định b = (V,G) = a\M dạng PTH có hai vế trái phải rời gộp PTH có vế trái Ta có V= U\ADH = ABCDEH\ADH=BCE, Định lý sau thiết lập công thức biểu diễn bao đóng tập thuộc tính theo phép G = {E  Ø (loại),    (loại), BC  E, E  BC} ≡ {BC  E, E  BC} dịch chuyển LĐQH Ta dễ nhận thấy phép dịch chuyển thỏa tính hợp thành, cụ thể a 2.3 Định lý phép dịch chuyển LĐQH LĐQH tập thuộc tính U X, Y hai tập U Định lý a\(XY) = (a\X)\Y Trong trường hợp X Y hai tập rời U ta có (Công thức biểu diễn bao đóng theo phép dịch chuyển LĐQH [7]) a\XY = (a\X)\Y = (a\Y)\X Cho LĐQH a = (U,F) hai tập không giao X Y U Khi (XY)+F = XY+F\X 2.2 Thuật toán dịch chuyển LĐQH Thuật toán Translation mô tả phép dịch chuyển LĐQH với độ phức Chứng minh tạp O(mn) Đặt V = U\X G = F\X để ý X  Y = Ø X không xuất V Algorithm Translation G nên theo định nghĩa bao đóng tập thuộc tính ta có X  Y+G = Ø Format: Translation(a,M) Ta chứng minh quy nạp theo số bước xây dựng dãy (XY)(h) Y(h), Input: h = 0,1,… theo thuật toán tính bao đóng tập thuộc tính XY Y tương ứng - LĐQH a = (U,F) với tập PTH F G Cụ thể ta chứng minh bất biến - Tập thuộc tính M  U (XY)(h) = XY(h) , h = 0,1,… Output: (0) Cơ sở: h = Ta có (XY) = XY Y(0) = Y, (XY)(0) = XY(0) = XY - LĐQH b = (V,G) = a\M, V = U\M, G = F\M Quy nạp: Giả sử với h ≥ ta có Method (XY)(h) = XY(h) Ta cần chứng minh (XY)(h+1) = XY(h+1) V := U\M; Ta chuyển từ bước h sang bước h+1 hai tập (XY)(h) XY(h) G := ; bổ sung thêm số thuộc tính Trước hết để ý X  Y =  X for each FD L  R in F mặt LĐQH b = a \ X = (V, G) nên với h = 0,1,2, ta có G := G  {L\M  R\M}; X  Y(h) =  Ngoài ra, dãy (XY)(h) đơn điệu không giảm (XY)(0) = XY  X nên endfor; G := Natural_Reduced(G); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 38 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 39 http://www.lrc-tnu.edu.vn với h = 0,1,2, ta có (XY)(h)  X Từ nhận xét từ giả thiết quy (h) (h) nạp (XY) = XY  Uo tập thuộc tính không khóa, hay phi nguyên thủy, tức thuộc tính không xuất khóa a, ta suy  UK tập thuộc tính khóa, hay nguyên thủy, tức thuộc tính có L  U: L  (XY)(h) = XY(h)  L\X  Y(h) khóa a (hợp khóa), Z  U\X: Z  Y(h)  XZ  XY(h) = (XY)(h)  UI tập thuộc tính có khóa, tức giao khóa Giả sử PTH L  R  F thỏa tính chất L  (XY) Khi L\X  R\X  G (h) a L\X  Y(h) Từ (XY)(h) = XY(h) ta suy R(XY)(h) = RXY(h) = (R\X) XY(h) Ngược lại, giả sử Z  P  G Z  Y Theo định nghĩa phép dịch chuyển Rõ ràng, UI  UK theo X, F, tồn PTH L  R để Z = L\X P = R\X Khi ta có Ta biết phân hoạch U = Uo | UK (h) L  XZ  XY (h) = (XY) (h) R(XY) (h) (h) = RXY (h) = (R\X)XY (h) = PXY  K  Key(a),  X  Uo  (K  UK )  (K  X = K  Uo = ) ■ Để ý với tập X, ta có X = X X   =  Từ nhận xét ta suy hệ Ngoài ra,  X, Y  U: X  Y =   X \ Y = X sau, Để ý M siêu khóa LĐQH a = (U,F)  Z  Uo ta có M\Z Hệ qủa siêu khóa a Nói cách khác từ siêu khóa bỏ số thuộc (Công thức tính bao đóng cho tập thuộc tính) Cho LĐQH a = (U,F) tập X  U Khi X+F = X()+F\X Thí dụ Cho LĐQH a = (U,F), U = ABCDEH, F = {AE  D, BC  E, E  BC} Tính Bổ đề (Bổ đề siêu khóa phép dịch chuyển LĐQH) Cho hai LĐQH a = (U,F), b = (V,G) X  U Biết b = a\X Khi (i) Nếu M siêu khóa a M\X siêu khóa b (AHE)+ (ii) Nếu Z siêu khóa b XZ siêu khóa a Nói riêng, X  Uo E+ ? Ta có, theo hệ công thức tính bao đóng cho tập thuộc tính (AHE)+F = AHE()+F\AHE G = F\AHE = {  D, BC   (loại),   BC} ≡ {  BCD} Từ ta tính ()+G =BCD Do (AHE)+ = AHEBCD = U E+ = E()+F\E G = F\E = {A  D, BC   (loại),   BC} ≡ {A D,   BC} Từ ta tính ()+G =BC Do E+ = EBC Z siêu khóa b Z siêu khóa a Chứng minh (i) Giả sử M siêu khóa a Đặt P = M\X, ta có X  P =  M  XP Vì M siêu khóa a, vận dụng tính đồng biến bao đóng công thức biểu diễn bao đóng ta có, U = XV = M+F  (XP)+F = XP+F\X Từ đẳng thức XV = XP+F\X, X  V =  X  P+F\X =  ta suy P+F\X = V Vậy P = M\X siêu khóa b (ii) Đảo lại, giả sử Z siêu khóa b = a\X Khi Z  X =  Z+G = V Đặt M = XZ, ta có M+F = (XZ)+F = XZ+F\X = XZ+G = XV = U Vậy XZ siêu khóa Cho LĐQH a = (U,F), ta nhắc lại ký hiệu sau Số hóa Trung tâm Học liệu – Đại học Thái Nguyên tính không khóa ta thu siêu khóa http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 40 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 41 http://www.lrc-tnu.edu.vn a Nếu X  Uo ta loại bỏ khỏi XZ phận thuộc tính không khóa X để thu Đảo lại, Nếu K khóa b K  X =  theo bổ đề siêu khóa phép Z siêu khóa a ■ dịch chuyển LĐQH ta có K siêu khóa a Gỉa sử K chứa siêu khóa M Hệ qủa a Khi ta có M  K M  X =  Theo bổ đề siêu khóa phép (Hệ siêu khóa phép dịch chuyển LĐQH) dịch chuyển LĐQH ta có M = M\X siêu khóa b Do K khóa b K Cho LĐQH a = (U,F) tập thuộc tính X  U Khi Z siêu khóa chứa M nên M = K Vậy K khóa a ■ lược đồ a\X + XZ siêu khóa lược đồ a Cho ,   SubSet(U) M, P  SubSet(U) Ta định nghĩa phép toán  SubSet(U) sau Chứng minh M  P = MP (hợp hai tập M P, M  P) Đặt b = a \ X+ Theo bổ đề siêu khóa phép dịch chuyển LĐQH, Z M   = {MX | X  } siêu khóa b X+Z siêu khóa a, ta có (X+Z)+ = U Theo tính chất C5    = { XY | X  , Y   } bao đóng tập thuộc tính, (X+Z)+ = (XZ)+ = U Từ suy XZ siêu khóa a ■ 2.4 Dạng biểu diễn thứ khóa Chú ý Định lý Để ý hệ không hoàn toàn tương tự bổ đề siêu khóa phép (Dạng biểu diễn thứ khóa) dịch chuyển LĐQH Điểm khác lượng dịch chuyển bổ đề Nếu dịch chuyển LĐQH a = (U,F) theo tập X  U để nhận LĐQH b=a\X siêu khóa X, hệ bao đóng X, X +  X Key(a) = Key(b) X  Uo Key(a) = X  Key(b) X  UI (Bổ đề khóa phép dịch chuyển LĐQH) Cho hai LĐQH a = (U,F), b = (V,G) tập thuộc tính X  Uo Biết b = a\X Chứng minh Khi (1) Giả sử Key(a) = Key(b) A  X A  Uo Theo phân hoạch thuộc tính U, A  UK Như phải tồn khóa K Key(a) để A  K Do Key(a) = Key(b) Chứng minh Key(a) = Key(b) nên K  Key(b) Từ suy K  U\X K  X =  Điều Giả sử K  Key(a) Khi nói riêng K siêu khóa a Do K  UK, X  Uo, mâu thuẫn với A  K A  X Vậy ta phải có X  Uo UK  Uo =  nên theo bổ đề siêu khóa phép dịch chuyển LĐQH, K = K\X (1) Suy từ bổ đề khóa phép dịch chuyển LĐQH siêu khóa b Giả sử K chứa siêu khóa M b Khi lại theo bổ đề (2 ) Đẳng thức Key(a) = X Key(b) cho biết X có mặt khóa a, tức siêu khóa phép dịch chuyển LĐQH ta có M siêu khóa a Do K khóa X  UI a, M siêu khóa a chứa K, nên theo tính chất tối tiểu khóa ta phải có M = K Vậy K khóa b Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 42 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 43 http://www.lrc-tnu.edu.vn (2 ) Giả sử X  UI Ta chứng minh khóa K  Key(a) biểu Cho LĐQH a = (U,F) tập thuộc tính X  Uo , Y  UI Nếu thực diễn dạng XM, M  Key(b) ngược lại, M  Key(b) phép dịch chuyển theo XY XM  Key(a) Key(a) = Y  Key(b) để nhận LĐQH b = a\XY Cho K  Key(a) Khi đó, X  UI nên X phải có khóa a, nói riêng Chứng minh X  K Đặt M = K\X, ta có M  X =  K = XM Theo bổ đề siêu khóa Do X  Uo, Y  UI nên X  Y =  Đặt c = a\X, ta có, b = a\XY = (a\X)\Y = c\Y phép dịch chuyển LĐQH ta suy M = K \ X siêu khóa b Giả sử M chứa Áp dụng dạng biểu diễn thứ khóa ta thu được: siêu khóa P b Khi XP lại siêu khóa a XP  K Vì K khóa a nên XP = K = XM Để ý X  P = X  M = , ta suy P = M Vậy M khóa b Vì X  Uo nên Key(a) = Key(c) giao khóa c UI Vì Y  UI xét c nên Key(c) = Y  Key(b) Vậy Key(a) = Y  Key(b) ■ Cho M  Key(b) Ta có X  M =  Theo bổ đề siêu khóa phép dịch 2.5 Dạng biểu diễn thứ hai khóa chuyển LĐQH XM siêu khóa a Gọi K khóa a chứa siêu Định lý khóa XM Lại theo bổ đề siêu khóa phép dịch chuyển LĐQH, K\X siêu (Dạng biểu diễn thứ hai khóa) khóa b Vì K khóa a X  UI nên X  K Từ suy K\X  M Áp Cho LĐQH a = (U,F) Khi khóa K a biểu diễn dạng dụng tính tối tiểu cho khóa M b ta suy K\X = M hay K = XM Điều chứng tỏ XM khóa a ■ K = LM L vế trái cực tiểu F M khóa LĐQH a\L+ Chứng minh Thí dụ Cho LĐQH a = (U,F) với tập thuộc tính U Giả sử K  Key(a) Nếu K=U đương nhiên K chứa vế trái PTH = ABCDEH tập PTH F = {AE  D, BC  E} Ta tính giao khóa UI = ABCDEH \ DE = ABCH Đặt b = (V,G) với V = U\ABCH = DE, G = F\ABCH = {ED, E} Ta có b = a\ABCH tính Key(b) = {}, Vậy Key(a) = ABCH  Key(b) = {ABCH} đóng K+ ta phải tìm PTH f: X  Y  F thỏa tính chất X  K Vì X vế trái f nên ML(F) phải tồn vế trái cực tiểu L để L  X Ta chọn số vế trái cực tiểu Tóm lại ta chứng minh khóa K chứa vế trái cực tiểu L Đặt M=K\L Ta có K=LM Ta chứng minh M Với lược đồ cho ta tính UK = ABCH nên Uo = U\UK = BCDEH\ABCH = DE Đặt c = a\DE = (P,W) ta có P = U\DE = ABCH, W = F\DE = {A   (loại), BC   (loại)} ≡  Key(c) = ABCH Theo định lý dạng biểu diễn thứ khóa, Uo = DE nên Key(a) = Key(c) = ABCH khóa LĐQH a\L+ Nếu L+ = U a\L+ = a\U = (,) Lược đồ có khóa M= Khi đó, K=L Giả sử L+  U Từ suy L  K L=K phải có L+ = K+ = U, trái với giả thiết L+  U Theo tính phận khóa L+  K = L hay K\L=K\L+=M Từ suy M  U\L+ Theo bổ đề siêu khóa Hệ qủa phép dịch chuyển LĐQH, M siêu khóa lược đồ a\L+ Giả sử M chứa (Dịch chuyển LĐQH theo phận không khóa giao khóa) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên F, ta chọn vế trái cực tiểu tùy ý Giả sử K  U Khi đó, để tính bao http://www.lrc-tnu.edu.vn siêu khóa P lược đồ a\L+ Khi theo bổ đề siêu khóa phép dịch Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 44 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 45 http://www.lrc-tnu.edu.vn chuyển LĐQH, L+P siêu khóa a, (L+P)+ = U Vận dụng tính chất C5 (AE)+ = ADE ≠ U nên AE khóa Ta chứng tỏ vế trái cực tiểu AE (L+P)+ = (LP)+ = U, LP siêu khóa a Vì khóa Thật vậy, (AE)+ = ADE nên để xây dựng P  M  K = LM nên LP  K Vì K khóa a nên LP = K = LM Để ý khóa chứa AE ta cần thêm cho AE vài thuộc tính khác với A, D E, cụ thể B L  P = , L  M =  P  M ta suy P = M Điều chứng tỏ M khóa hoặc/và C Nếu thêm cho AE thuộc tính B ABE chứa khóa BE; thêm cho AE bao đóng ta có thuộc tính C ACE chứa khóa CE Vậy vế trái cực tiểu AE phận + a\L ■ khóa a Thí dụ Với LĐQH a = (U,F), U = ABCDEH, F = {AE  D, A  C, E  BC, EHA, AC  EH, BD  C} Ta có ML(F) = {A, E,BD} Ta thấy, E+ = EBC  U Vậy E khóa a Ta dịch chuyển a theo E+ Bổ đề sau cho ta dấu hiệu tạo chọn khóa từ tập khóa lược đồ sau dịch chuyển Bổ đề (Các khóa sinh từ khóa lược đồ sau dịch chuyển) Đặt b = a\E+ = (V,G), ta có V = ABCDEH\EBC = ADH, F = {A  D, A   (loại), Cho LĐQH a = (U,F) vế trái cực tiểu L Khi K  L  Key(a\L+)    (loại), H  A, A  H, D   (loại)} = {A  D, H  A, A  H}  K không chứa vế trái cực tiểu khác L K khóa a  {A  DH, H  A} Dễ thấy H khóa b Như EH khóa a, Chứng minh E vế trái cực tiểu, H khóa a\E+ Giả sử ta có phân hoạch K =L  M, M  Key(a\L+) K không chứa vế trái Chú ý cực tiểu khác L F Theo hệ siêu khóa phép dịch chuyển LĐQH Xét mệnh đề đảo mệnh đề dạng biểu diễn thứ hai khóa, cụ thể K siêu khóa a Gọi P khóa a chứa K Ta chứng minh P = K Nếu Với vế trái cực tiểu L LĐQH a, ta có L Key(a\L+)  Key(a) P không chứa vế trái cực tiểu F U = P+ = P  K, P = K = U Giả Mệnh đề không sử P chứa vế trái cực tiểu F Do P  K mà K chứa vế trái cực tiểu L nên đương nhiên L  P Đặt Q = P\L, ta có phân hoạch P = L|Q Thí dụ Theo thí dụ trước ta tính LĐQH + b = a\E = (V,G), V = ADH, G = {A  DH, H  A} Ngoài khóa H, lược đồ b khóa A, nhiên EA không Q  M Vì L phận khóa P nên theo định lý đặc trưng khóa ta có phải khóa a riêng A khóa a L+  P = L hay P\L+ = P\L = Q Theo bổ đề siêu khóa phép dịch chuyển Thí dụ sau minh họa tồn LĐQH có vế trái cực tiểu L không tham gia LĐQH, Q siêu khóa a\L+ Vì M khóa a\L+ Q  M nên vào khóa Q = M P = LQ = LM = K Vậy K khóa a ■ Xét LĐQH a = (U,F), U = ABCDE, F = {BD  CE, AE  D, CE  ABD, Thí dụ BE  ACD} Xét LĐQH a = (U,F), U = ABCDEH, F = {AE  D, A  C, E  BC, EH  A, Ta thấy vế trái cực tiểu, ML(F) = {BD, AE, CE, BE} Ngoài (BD)+ = (CE)+ = (BE)+ = U nên {BD, CE, BE}  Key(a) Mặt khác, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn AC  EH, BD  C} Ta có ML(F) = {A, E, BD} Xét vế trái cực tiểu E Ta thấy, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 46 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 47 http://www.lrc-tnu.edu.vn E+ = EBC  U Vậy E khóa a Algorithm GetKey + + Ta thực phép dịch chuyển lược đồ a theo E Ta có b = a\E = (V,G), V = //Tìm khóa từ LM = ABCDEH\EBC = ADH, G = F\EBC ={A  D, A   (loại),    (loại), Format: GetKey(U,F,L,M) H  A, A  H, D   (loại)} ≡ {A  DH, H  A} Dễ dàng tính Key(b) = Input: - Vế trái cực tiểu L LĐQH a = (U,F) - M  Key(a\X+) = {A, H}, E  Key(b)={EA, EH} Thành phần EH không chứa thêm vế trái Output: - Khóa K lược đồ a chứa LM cực tiểu khác E, EH khóa a Method K := L  M; Chú ý for each attribute A in L Tồn LĐQH có khóa chứa vài vế trái cực tiểu A  Closure(K\A,F) then if Thí dụ K:=K\A; Xét LĐQH a = (U,F) với U = ABCD, F = {A  B, C  D} Ta có khóa K=AC chứa đồng thời hai vế trái cực tiểu A C endif endfor return K; Bổ đề Cho LĐQH a = (U,F) vế trái cực tiểu L Khi M  Key(a\L+), khóa K a chứa LM phải chứa M end GetKey 2.6 Kết luận Chứng minh Ta biết LM siêu khóa Giả sử K khóa a K  LM Ta xét phân họach K = P|Q, P = K  L, Q = K  M Vì L  M = L+  M =  nên P  Q =  Theo bổ đề siêu khóa phép dịch chuyển LĐQH ta có K\L+=K\L= PQ\L = Q siêu khóa a\L+ Siêu khóa chứa khóa M a\L+ đó, theo Lý thuyết phép dịch chuyển lược đồ quan hệ nhằm nâng cao hiệu thuật toán tìm bao đóng tìm khóa phục vụ cho trình chuẩn hóa lược đồ quan hệ Qua giúp tìm hiểu sâu đối tượng khác quản lý sở liệu tính chất tối tiểu khóa ta phải có Q = M, K  M ■ Bổ đề cho phép ta xây dựng thuật toán GetKey nhận khóa từ tập LM  L  Key(a\L+) với L vế trái cực tiểu lược đồ nguồn a Trước hết để ý LM siêu khóa LĐQH a Như vậy, để tìm khóa từ LM ta cần xét để loại bỏ phần tử vế trái cực tiểu L, M chứa khóa a có LM Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 48 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 49 http://www.lrc-tnu.edu.vn + Nhập lược đồ quan hệ: cho phép nhập vào thuộc tính CHƯƠNG PTH LĐQH CÀI ĐẶT CHƯƠNG TRÌNH + Mở lược đồ quan hệ: mở LĐQH lưu đĩa ỨNG DỤNG PHÉP DỊCH CHUYỂN LĐQH TRONG CSDL + Lưu lược đồ quan hệ: lưu cất LĐQH ổ đĩa + Bên cạnh có số chức thao tác khác cho phép cập nhật, sửa đổi lưu trữ LĐQH xoá/thêm thuộc tính, xoá/thêm PTH 3.1 Giới thiệu Luận văn tập trung nghiên cứu phép biến đổi LĐQH, trọng phép dịch chuyển LĐQH [7] Việc cài đặt chương trình ứng dụng nhằm mục đích mô kết nghiên cứu học viên Chương trình có giao diện đơn giản, dễ sử dụng, dễ hiểu viết ngôn ngữ Visual Basic 6.0, ngôn ngữ phổ biến, dễ học, dễ hiểu, hướng đối tượng… cho phép tạo giao diện nhanh, dễ dàng - Menu Chức năng: bao gồm chức sau: + Tìm bao đóng tập thuộc tính: thực tìm bao đóng tập thuộc tính nhập vào + Phủ tập phụ thuộc hàm: cho phép tìm phủ không dư, phủ thu gọn, phủ thu gọn tự nhiên, phủ tối tiểu tập PTH + Tìm khoá: chức thực việc tìm khoá tìm tất khoá LĐQH Trong đó, việc tìm khoá LĐQH ứng dụng kết Chương trình cho phép nhập vào tập thuộc tính tập PTH LĐQH, nghiên cứu phát triển thuật toán học viên cho phép lưu cất LĐQH thành tệp ổ đĩa mở tệp có sẵn đĩa Ngoài ra, chương trình cho phép thực cập nhật, thay đổi LĐQH qua + Xác định chuẩn: xác định dạng chuẩn cao LĐQH xác định LĐQH có thuộc dạng chuẩn 2NF, 3NF, BCNF không? thao tác thêm/xoá thuộc tính, thêm/xoá PTH Các chức chương trình + Chuẩn hoá 3NF không tổn thất bảo toàn tập PTH: thực việc chuẩn bao gồm: Tìm bao đóng tập thuộc tính, tìm khoá/mọi khoá, tìm giao hoá LĐQH dạng chuẩn 3NF không tổn thất bảo toàn tập PTH, hiển thị kết khoá, kiểm tra PTH suy dẫn, xác định dạng chuẩn chuẩn hoá LĐQH Chức chuẩn hoá tìm phủ thu gọn, phủ thu gọn tự nhiên, phủ không dư, phủ tối tiểu tập PTH thiết kế chương trình Đặc biệt, chương trình xây dựng chức ứng + Kiểm tra PTH suy dẫn: kiểm tra xem PTH nhập vào có suy dẫn từ tập PTH cho LĐQH không? (bài toán thành viên) dụng phép dịch chuyển LĐQH để vận dụng cho quy trình thiết kế CSDL chuẩn hoá + Tìm giao khoá LĐQH: tìm tập thuộc tính giao khoá LĐQH + Dịch chuyển LĐQH tìm khoá: chức mô kết nghiên cứu phép dịch chuyển LĐQH ứng dụng việc tìm khoá sau dịch chuyển 3.2 Các chức chương trình Kết hiển thị khoá LĐQH nguồn khoá LĐQH sau dịch chuyển Với mục đích yêu cầu nội dung luận văn, chương trình xây dựng với số chức sau: - Menu Soạn thảo: bao gồm chức năng: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 50 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 51 http://www.lrc-tnu.edu.vn 3.3 Một số giao diện chương trình * Giao diện nhập thuộc tính LĐQH * Giao diện chương trình - Giao diện nhập PTH Khung “Luoc đo quan he” hiển thị tập thuộc tính tập PTH LĐQH Khung “Noi dung yeu cau” hiển thị nội dung yêu cầu đặt cho chương trình Khung “Hien thi ket qua” hiển thị kết tìm theo nội dung yêu cầu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 52 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 53 http://www.lrc-tnu.edu.vn G = {E  Ø, BC  E, E  BC} Tiếp đến ta loại PTH tầm thường E  Ø khỏi - Giao diện tìm khoá, tìm khoá G Ta thu G = {BC  E, E  BC} Ta dễ dàng tìm hai khóa lược đồ b, Key(b) = {BC, E} Để thu Key(a) ta việc thêm tập thuộc tính AH (không thêm D) vào khóa lược đồ b Vậy Key(a) = {AHBC, AHE} Dù F tập PTH tối ưu [7] G chứa ký hiệu F 3.4.2 Thí dụ 2: (Tìm bao đóng tập thuộc tính) Cho LĐQH a = (U,F), U = ABCDEH, F = {AE  D, BC  E, E  BC} Tính (AHE)+ E+ ? Giải : Ta có, theo hệ công thức tính bao đóng cho tập thuộc tính (AHE)+F = AHE()+F\AHE G = F\AHE = {  D, BC   (loại),   BC} ≡ {  BCD} - Ngoài số giao diện khác như: giao diện tìm bao đóng hiển thị kết quả, giao diện dịch chuyển LĐQH tìm khoá LĐQH sau dịch chuyển, Từ ta tính ()+G =BCD Do (AHE)+ = AHEBCD = U E+ = E()+F\E G = F\E = {A D, BC   (loại),   BC} ≡ {A D,   BC} tìm phủ, kiểm tra PTH suy dẫn, chuẩn hoá 3NF, … Từ ta tính ()+G =BC Do E+ = EBC 3.4.3 Thí dụ 3: (Dạng biểu diễn thứ khóa) 3.4 Các thí dụ: 3.4.1 Thí dụ 1: (Tìm khóa LĐQH) F = {AE  D, BC  E} Ta tính giao khóa Cho LĐQH a = (U,F) với tập thuộc tính U = ABCDEH UI = ABCDEH \ DE = ABCH Đặt b = (V,G) với V = U\ABCH = DE, tập PTH F = {AE  D, BC  E, E  BC} Để tìm tập khóa Key(a) lược đồ a G = F\ABCH = {ED, E} Ta có b = a\ABCH tính xây dựng lược đồ b cách xóa khỏi lược đồ a thuộc tính A, D H Key(b) = {}, Vậy Key(a) = ABCH  Key(b) ={ABCH} Ta thu lược đồ b = (V,G) V= U\ADH = BCE, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Cho LĐQH a = (U,F) với tập thuộc tính U = ABCDEH tập PTH Với lược đồ cho ta tính UK = ABCH nên Uo= U\UK = ABCDEH\ABCH = DE Đặt c = a\DE = (P,W) ta có P = U\DE = ABCH, W = http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 54 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 55 http://www.lrc-tnu.edu.vn F\DE = {A   (loại), BC   (loại)} ≡  Key(c) = ABCH Theo KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN định lý dạng biểu diễn thứ khóa, Uo=DE nên Key(a) = Key(c) = ABCH Kết luận 3.4.4 Thí dụ 4: (Dạng biểu diễn thứ hai khóa) Về lý thuyết, luận văn tập trung vào kết sau đây: Cho LĐQH a = (U,F), U = ABCDEH, F = {AE  D, A  C, E  BC, EH  A, AC  EH, BD  C } Ta có ML(F) = {A, E, BD} Ta thấy, - Khái niệm phép dịch chuyển lược đồ quan hệ, - Phát biểu chứng minh công thức tính bao đóng qua phép dịch chuyển E+ = EBC  U Vậy E khóa a Ta thu gọn a theo E+ Đặt b = a\E+ = (V,G), ta có V = ABCDEH\EBC = ADH, F = {A  D , A   ( loại ) ,    ( loại ) , H  A , A H, D  (loại)}={A D, H A, A H }  { A  DH, H  A } lược đồ quan hệ, - Phát biểu chứng minh kết dạng biểu diễn khóa thứ nhất, - Phát biểu chứng minh kết dạng biểu diễn khóa thứ hai, Nhận xét : - Phân tích thuật toán tìm khóa, Dễ thấy H khóa b Như EH khóa a, E vế trái cực - Nghiên cứu phát triển thuật toán tìm tất khoá LĐQH để vận tiểu, H khóa a\E+ dụng cho quy trình thiết kế CSDL chuẩn hoá Về thực hành luận văn cài đặt kết lý thuyết dạng chương trình bao gồm chức sau:  Nạp cập nhật liệu: thuộc tính phụ thuộc hàm  Tính bao đóng  Tìm khóa lược đồ quan hệ  Chuẩn hoá LĐQH Hướng phát triển Một chưa giải trọn vẹn khảo sát tính bất biến dạng chuẩn phép dịch chuyển lược đồ quan hệ Bài toán phát biểu sau: Cho lược đồ quan hệ  với tập thuộc tính U Giả sử lược đồ quan hệ  nhận từ lược đồ  qua phép dịch chuyển theo phận thuộc tính M U Lược Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 56 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 57 http://www.lrc-tnu.edu.vn đồ quan hệ  ban đầu dạng chuẩn 2NF, 3NF BCNF DANH MỤC CÔNG TRÌNH CÔNG BỐ (Boyce-Codd Normal Form) Có thể nói dạng chuẩn lược đồ  Một vài công trình tương quan dạng chuẩn hai lược đồ nguồn  đích  phụ thuộc vào cấu trúc tập M [5, 6, 7] Thí dụ, M phận giao khóa  dạng 3NF  3NF 1) VŨ TRÍ DŨNG (2009), ”Về thuật toán tìm tất khoá lược đồ quan hệ”, Tạp chí Khoa học Công nghệ, Đại học Thái Nguyên, 58 (10) , 48 - 51 Việc tiếp tục khảo sát điều kiện cho toán cho ta số kết tính bất biến dạng chuẩn thông qua phép dịch chuyển lược đồ quan hệ Các kết vận dụng cho quy trình thiết kế sở liệu chuẩn hóa Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 58 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 59 http://www.lrc-tnu.edu.vn TÀI LIỆU THAM KHẢO [1] DEMETROVICS J., NGUYEN XUAN HUY (1991), “Closed Sets and Translations of Relation Schemes”, Computers Math Applic., 21(1), 13-23 [2] DEMETROVICS J., THI V.D (1996), “Some Results about Normal Forms for Functional Dependency in the Relational Datamodel”, Discrete Applied Mathematics, 69, 61-74 [3] LE DUC MINH, VU NGOC LOAN, and NGUYEN XUAN HUY (2005), “Some Results Concerning Covers in the Class of Multivalued Positive Boolean Dependencies”, in Book: The Mathematical Foundation of Informatics, Eds by Do Long Van and M Ito, Proceeding of the Conference, World Scientific, 119-130 [4] CLAUDIO L LUCCHESI, SYLVIA L OSBORN (1978), “Candidate Keys for Relations”, Journal of Computer and System Sciences, 17 (2), 270-279 [5] NGUYỄN XUÂN HUY, ĐOÀN VĂN BAN, ĐÀM GIA MẠNH, NGUYỄN THẾ DŨNG (2001), “Về mối liên hệ suy diễn phụ thuộc hàm suy diễn logic”, Tạp chí Tin học điều khiển học, 17 (4), 11-16 [6] NGUYỄN XUÂN HUY, LÊ THỊ MỸ HẠNH (2005), “Giàn giao ánh xạ đóng”, Chuyên san Các công trình nghiên cứu - triển khai Viễn thông Công nghệ Thông tin, 14 (4), 35-42 [7] NGUYỄN XUÂN HUY (2006), Các phụ thuộc logic sở liệu, Viện Khoa học Công nghệ Việt Nam, NXB Thống Kê, Hà Nội [8] VŨ ĐỨC THI (1997), Cơ sở liệu: Kiến thức thực hành, NXB Thống Kê, Hà Nội Số hóa Trung tâm Học liệu – Đại học Thái Nguyên _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 60 http://www.lrc-tnu.edu.vn [...]... nhật dữ liệu: thuộc tính và các phụ thuộc hàm  Tính bao đóng  Tìm các khóa của lược đồ quan hệ  Chuẩn hoá LĐQH Hướng phát triển Một bài chưa giải quyết trọn vẹn hiện nay là khảo sát tính bất biến của các dạng chuẩn trong phép dịch chuyển lược đồ quan hệ Bài toán được phát biểu như sau: Cho lược đồ quan hệ  với tập thuộc tính U Giả sử lược đồ quan hệ  nhận được từ lược đồ  qua phép dịch chuyển. .. Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 48 Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 49 http://www.lrc-tnu.edu.vn + Nhập mới lược đồ quan hệ: cho phép nhập mới vào các thuộc tính và các CHƯƠNG 3 PTH của LĐQH CÀI ĐẶT CHƯƠNG TRÌNH + Mở lược đồ quan hệ: mở một LĐQH đã được lưu trên đĩa ỨNG DỤNG PHÉP DỊCH CHUYỂN LĐQH TRONG CSDL + Lưu lược đồ quan hệ: lưu cất LĐQH trên ổ đĩa + Bên... nhận được từ LĐQH a qua phép dịch chuyển theo tập thuộc tính M, nếu sau khi loại bỏ mọi xuất hiện của các thuộc tính của M trong lược đồ a thì thu được lược đồ b Nếu sau khi thực hiện phép dịch chuyển theo M cho LĐQH a ta thu được LĐQH b thì ta viết b = a\M Trong phép dịch chuyển lược đồ quan hệ [7] Bản chất của kỹ thuật này là loại bỏ khỏi LĐQH ban đầu một số thuộc tính không quan trọng theo nghĩa chúng... thấy, - Khái niệm về phép dịch chuyển lược đồ quan hệ, - Phát biểu và chứng minh công thức tính bao đóng qua phép dịch chuyển E+ = EBC  U Vậy E không phải là khóa của a Ta thu gọn a theo E+ Đặt b = a\E+ = (V,G), ta có V = ABCDEH\EBC = ADH, F = {A  D , A   ( loại ) ,    ( loại ) , H  A , A H, D  (loại)}={A D, H A, A H }  { A  DH, H  A } lược đồ quan hệ, - Phát biểu và chứng minh kết quả... các dạng chuẩn thông qua các phép dịch chuyển lược đồ quan hệ Các kết quả này có thể vận dụng cho các quy trình thiết kế các cơ sở dữ liệu chuẩn hóa Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên _ _ Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 58 Vũ Trí... thu Đảo lại, Nếu K là khóa của b thì K  X =  và theo bổ đề về siêu khóa trong phép được Z là siêu khóa của a ■ dịch chuyển LĐQH ta có K là siêu khóa của a Gỉa sử K chứa một siêu khóa M của Hệ qủa a Khi đó ta có M  K và do đó M  X =  Theo bổ đề về siêu khóa trong phép (Hệ quả về siêu khóa trong phép dịch chuyển LĐQH) dịch chuyển LĐQH ta có M = M\X là siêu khóa của b Do K là khóa của b và K Cho LĐQH... đề về siêu khóa trong phép dịch chuyển LĐQH, K = K\X (1) Suy từ bổ đề về khóa trong phép dịch chuyển LĐQH là siêu khóa của b Giả sử K chứa một siêu khóa M của b Khi đó lại theo bổ đề về (2 ) Đẳng thức Key(a) = X Key(b) cho biết X có mặt trong mọi khóa của a, tức siêu khóa trong phép dịch chuyển LĐQH ta có M là siêu khóa của a Do K là khóa là X  UI của a, M là siêu khóa của a chứa trong K, nên theo... Chuẩn hóa LĐQH trên cơ sở PTH M:=U; for each FD LR in F do Phép tách M:= M\(R\L); Định nghĩa endfor; Cho lược đồ quan hệ a = (U,F) Một phép tách lược đồ a là một họ các tập return M; con của U,  = (X1, X2, ,Xk) thỏa tính chất end KeyIntersec Theo thuật toán trên, để tính giao các khóa ta cần thực hiện m lần lặp ứng với k  Xi U i 1 số lượng PTH trong tập F Trong mỗi lần lặp, phép toán trên tập hợp... trong LM đều phải chứa M end GetKey 2.6 Kết luận Chứng minh Ta đã biết LM là siêu khóa Giả sử K là khóa của a và K  LM Ta xét phân họach K = P|Q, trong đó P = K  L, Q = K  M Vì L  M = L+  M =  nên P  Q =  Theo bổ đề về siêu khóa trong phép dịch chuyển LĐQH ta có K\L+=K\L= PQ\L = Q là siêu khóa của a\L+ Siêu khóa này chứa trong khóa M của a\L+ do đó, theo Lý thuyết về phép dịch chuyển lược đồ. .. đồ quan hệ nhằm nâng cao hiệu quả của các thuật toán tìm bao đóng và tìm khóa phục vụ cho các quá trình chuẩn hóa lược đồ quan hệ Qua đó cũng giúp tìm hiểu sâu hơn về các đối tượng khác trong quản lý về cơ sở dữ liệu tính chất tối tiểu của khóa ta phải có Q = M, hay là K  M ■ Bổ đề trên cho phép ta xây dựng thuật toán GetKey nhận một khóa từ tập LM  L  Key(a\L+) với L là vế trái cực tiểu của lược

Ngày đăng: 15/10/2016, 20:25

Từ khóa liên quan

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

Tài liệu liên quan