Với mục tiêu nghiên cứu về việc mở rộng này cũng như các khái niệm liên quan, trong đề tài nghiên cứu đã tìm hiểu sâu về phụ thuộc dữ liệu và trình bày các nội dung liên quan đến lớp phụ
Trang 1Trần Thμnh Trung
NGHIÊN CứU Một số vấn đề về phụ thuộc Dữ LIệU Vμ KHAI PHá Dữ LIệU TRONG CƠ Sở Dữ LIệU QUAN Hệ
LUậN VĂN THạC Sĩ
Trang 2Trần Thμnh Trung
NGHIÊN CứU Một số vấn đề về phụ thuộc Dữ LIệU Vμ KHAI PHá Dữ LIệU TRONG CƠ Sở Dữ LIệU QUAN Hệ
Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin M∙ số: 60 48 05
LUậN VĂN THạC Sĩ NGười hướng dẫn khoa học: pgs ts vũ ngọc lo∙n
Hà Nội – 2009
Trang 3dữ liệu và Khai phá dữ liệu trong Cơ sở dữ liệu quan hệ” là công trình
nghiên cứu riêng của tôi
Các kết quả nghiên cứu trong luận văn là trung thực. Nếu sai tôi xin hoàn toàn chịu trách nhiệm.
Hà Nội, ngày 15 tháng 11 năm 2009
Học viên
Trần Thành Trung
Trang 4đã hướng dẫn, truyền đạt những kinh nghiệm quý báu và tận tình giúp đỡ tác giả hoàn thành luận văn này.
Tác giả xin cảm ơn sự quan tâm giúp đỡ của các thầy, cô trong khoa Công nghệ thông tin đã tận tình giảng dạy cũng như giúp đỡ trong quá trình học tập và nghiên cứu tại Khoa; đồng thời xin cảm ơn sự ủng hộ của các anh chị học viên lớp K13HTTT đã động viên và giúp đỡ tác giả trong quá trình thực hiện đề tài này.
Hà Nội, ngày 15 tháng 11 năm 2009
Học viên
Trần Thành Trung
Trang 5cơ sở dữ liệu thì và một trong những lớp phụ thuộc dữ liệu đầu tiên là lớp phụ thuộc hàm. Ngày nay, việc mở rộng lớp phụ thuộc hàm này (mờ hoá) đang được nghiên cứu và tiếp cận theo nhiều hướng khác nhau. Với mục tiêu nghiên cứu về việc mở rộng này cũng như các khái niệm liên quan, trong đề tài nghiên cứu đã tìm hiểu sâu về phụ thuộc dữ liệu và trình bày các nội dung liên quan đến lớp phụ thuộc hàm mờ (fuzzy functional dependency), bao đóng tập thuộc tính và thuật toán tìm bao đóng tập thuộc tính mờ (fuzzy transitive closure), khoá mờ (fuzzy key) và thuật toán tìm khoá mờ, các dạng chuẩn mờ trong CSDL quan hệ. Bên cạnh đó đề tài cũng đã nghiên cứu về việc mở rộng một trong những định lý quan trọng nhất của việc nghiên cứu CSDL đó là định lý tương đương.
Trang 6Data dependency plays a very important role in the process of designing the database and one of the first data dependency class is the functional dependency. Today, the expansion of the functional dependency (fuzzy functional dependency) are being studied and approached in several ways. With the objective of researching on the expansion of functional dependency and related concepts, my thesis focus on researching about data dependency, fuzzy functional dependency, fuzzy transitive closure and the algorithm for finding fuzzy transitive closure of attributes , fuzzy key and the algorithm of finding fuzzy keys in relational database. Besides, my thesis also focuses on researching about the expansion of one of the most important theorems of rational database – the equivalence theorem
Trang 7LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
TÓM TẮT 3
ABSTRACT 4
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 8
DANH MỤC CÁC BẢNG BIỂU 9
MỞ ĐẦU 10
I. Mục tiêu nghiên cứu của đề tài 10
II. Một số kết quả đạt được 10
III. Bố cục của Luận văn 11
CHƯƠNG 1. TỔNG QUAN 12
1.1 Cơ sở dữ liệu 12
1.1.1 Các khái niệm chung 12
1.1.2 Định nghĩa 12
1.2 Phụ thuộc hàm 13
1.2.1 Định nghĩa 13
1.2.2 Tính chất của Phụ thuộc hàm (Hệ tiên đề Amstrong) 14
1.2.3 Bao đóng tập thuộc tính 15
1.2.4 Định lý tương đương 18
1.3 Khoá 19
CHƯƠNG 2. LỚP PHỤ THUỘC HÀM MỜ TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 21
2.1 Dữ liệu mờ 21
2.1.1 Tập rõ 21
2.1.2 Tập mờ 21
2.1.3 Các phép toán cơ bản trên tập mờ 22
2.2 Phụ thuộc hàm mờ 23
2.2.1 Định nghĩa 23
2.2.2 Tính chất 27
2.3 Xây dựng hệ tiên đề cho lớp Phụ thuộc hàm mờ ( Hệ tiên đề Amstrong mở rộng) 29
CHƯƠNG 3. KHOÁ MỜ TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 31
3.1 Khoá mờ 31
3.2 Bao đóng tập thuộc tính 31
3.2.1. Tính chất của bao đóng tập thuộc tính (X + ) 32
3.2.2 Bài toán thành viên 33
3.2.3 Thuật toán tìm bao đóng 34
3.2.4 Tính đúng của thuật toán tìm bao đóng 37
3.3 Định lý tương đương cho tập mờ 41
3.3.1 Định nghĩa 42
Trang 83.3.2 Định nghĩa 42
3.3.3 Định lý 42
3.4 Thuật toán tìm khoá mờ 44
3.5 Các dạng chuẩn mờ 45
3.5.1 Dạng chuẩn mờ F1NF 45
3.5.2 Dạng chuẩn mờ F2NF 46
3.5.2.1 Xác định dạng chuẩn mờ F2NF 47
3.5.2.2 Đưa quan hệ về dạng chuẩn mờ F2NF 48
3.5.3 Dạng chuẩn mờ F3NF 50
3.5.4 Dạng chuẩn mờ Boyce Codd (FBCNF) 51
KẾT LUẬN 53
4.1 Ý nghĩa khoa học và thực tiễn của đề tài 53
4.2 Kết luận và kiến nghị 53
4.2.1 Kết luận 53
4.2.2 Hướng phát triển đề tài 54
TÀI LIỆU THAM KHẢO 55
PHỤ LỤC 57
Trang 10Hình 1: Hệ thống thông tin 12
Hình 2: Hệ thống Cơ sở dữ liệu 13
Hình 3: Tập mờ và tập rõ 22
Hình 4: Tập Input 71
Hình 5: Giao diện cài đặt thuật toán 71
Hình 6: Giao diện chạy thuật toán (Nhập tập thuộc tính cần tính bao đóng X + ) 72 Hình 7: Kết quả bao đóng của tập thuộc tính {A,B,C} 72
Trang 11Bảng 1: Bảng quan hệ Học sinh 14
Bảng 2: Bảng các mở rộng của Phụ thuộc hàm 26
Bảng 3: Bảng các khả năng kết hợp giữa các tập thuộc tính 27
Bảng 4: Bảng các khả năng kết hợp giữa các tập thuộc tính 28
Bảng 5: Bảng quan hệ Nhân viên 46
Trang 12I. Mục tiêu nghiên cứu của đề tài
Trong những năm gần đây, việc ứng dụng công nghệ thông tin trở nên rộng rãi và vai trò của công nghệ thông tin ngày càng được khẳng định trong nhiều lĩnh vực khác nhau như là: học tập, khoa học kỹ thuật, kinh doanh, quản
lý, dưới nhiều quy mô khác nhau. Cơ sở dữ liệu là một trong những lĩnh vực nghiên cứu đóng vai trò nền tảng trong sự phát triển của công nghệ thông tin. Tuy nhiên sự phát triển của cơ sở dữ liệu cũng chỉ mới bắt đầu trong thời gian gần đây, đặc biệt từ khi E.F.Codd giới thiệu mô hình Cơ sở dữ liệu quan hệ (Relational Database Model). Ngày nay có rất nhiều hệ quản trị Cơ sở dữ liệu được xây dựng và phát triển dựa trên mô hình này như là : MS Access, SQL Server, Oracle,…
Lớp phụ thuộc dữ liệu đóng vai trò rất quan trọng trong quá trình thiết kế
cơ sở dữ liệu thì và một trong những lớp phụ thuộc dữ liệu đầu tiên là lớp phụ thuộc hàm. Việc khai phá lớp phụ thuộc hàm có yếu tố quyết định trong việc thiết kế Lược đồ khái niệm, bước đầu của quá trình xây dựng Cơ sở dữ liệu. Một trong những đặc điểm quan trọng của phụ thuộc dữ liệu là việc nghiên cứu về Khoá một khái niệm quan trọng trong việc xác định quan hệ phụ thuộc dữ liệu. Việc phát triển nghiên cứu về dữ liệu mờ (fuzzy data) đòi hỏi việc nghiên cứu về khái niệm Khoá mờ (fuzzy key) trong CSDL quan hệ. Đây cũng là sự mở rộng hết sức tự nhiên của quá trình phát triển Cơ sở dữ liệu.
Với mong muốn được đóng góp một phần công sức nhỏ bé của mình vào việc nghiên cứu về lớp phụ thuộc dữ liệu và khai phá dữ liệu trong CSDL quan
· Tổng hợp lại khái niệm trong CSDL quan hệ truyền thống
· Nghiên cứu về lớp Phụ thuộc hàm mờ:
o Hệ tiên đề cho lớp Phụ thuộc hàm mờ
o Khái niệm và thuật toán tìm bao đóng trong ngữ cảnh mờ
o Khoá mờ (fuzzy key) và thuật toán tìm khoá
o Định lý tương đương trong lớp phụ thuộc hàm mờ
· Tìm hiểu mở rộng khái niệm các dạng chuẩn thành dạng chuẩn mờ ( fuzzy normal form) F1NF, F2NF, F3NF, FBCNF
Trang 13III. Bố cục của Luận văn
Bố cục của luận văn được chia làm 3 chương chính theo trình tự nghiên cứu từ CSDL quan hệ truyền thống đến việc mở rộng các khái niệm trong CSDL này. Cụ thể luận văn bao gồm các vấn đề được trình bày theo thứ tự như
sau:
Chương 1: Tổng quan
Chương 1 trình bày lại những khái niệm cơ bản như là: dữ liệu, thông tin,
cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, khái niệm về Phụ thuộc hàm, Bao đóng tập thuộc tính và Khóa. Bên cạnh đó trong chương này cũng trình bày về một trong những định lý quan trọng nhất của Cơ sở dữ liệu quan hệ định lý tương
đương.
Chương 2: Lớp phụ thuộc hàm mờ trong Cơ sở dữ liệu quan hệ
Chương 2 trình bày các khái niệm cơ bản về tập mờ, các phép toán trên tập mờ, phụ thuộc hàm mờ trong cơ sở dữ liệu quan hệ và một số mở rộng của
hệ tiên đề Amstrong trong ngữ cảnh mờ.
Chương 3: Khoá mờ trong Cơ sở dữ liệu quan hệ
Chương 3 trình bày các khái niệm cơ bản về khoá, khóa mờ, định nghĩa
về khoá mờ (fuzzy key), thuật toán tìm khóa mờ trong CSDL quan hệ; trình bày khái niệm về bao đóng của tập thuộc tính đối với lớp phụ thuộc hàm mờ, thuật toán tìm bao đóng; nêu và chứng minh định lý tương đương đối với hai kiểu suy dẫn trong lớp phụ thuộc hàm mờ . Bên cạnh đó chương này cũng trình bày một cách cơ bản về các dạng chuẩn mờ F1NF, F2NF, F3NF và FBCNF.
Trong quá trình thực hiện luận văn, mặc dù đã có nhiều cố gắng nhưng do thời gian và kinh nghiệm nghiên cứu còn hạn chế nên những vấn đề trình bày trong luận văn, những kết quả đạt được vẫn còn những điều cần phải khắc phục
và bổ sung thêm. Tác giả rất mong nhận được những lời góp ý của các thầy cũng như các anh, các chị quan tâm đến chủ đề này
Trang 14Hình 1: Hệ thống thông tin
1.1.2 Định nghĩa
Cơ sở dữ liệu (CSDL) là một hệ thống thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thông tin thư cấp (như băng từ, đĩa từ…) để có thể thoả mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau
Trang 15Hình 2: Hệ thống Cơ sở dữ liệu Việc tổ chức dữ liệu tốt sẽ cho ta một hệ thống CSDL tốt, giúp cho người quản trị hệ thống dễ dàng trong việc làm chủ hệ thống này. Một số hệ quản trị
CSDL phổ biến hiện nay như là: Oracle, SQL Server, DB2, My SQL, …
1.2 Phụ thuộc hàm
Khi xét đến mối quan hệ giữa dữ liệu trong CSDL quan hệ [2] một trong những yếu tố quan trọng nhất được xét đến là sự phụ thuộc giữa các thuộc tính này với thuộc tính khác. Từ đó có thể xây dựng những ràng buộc cũng như loại
bỏ đi những dư thừa dữ liệu trong một CSDL.
Phụ thuộc hàm [3] là những mối quan hệ giữa các thuộc tính trong CSDL quan hệ. Khái niệm về phụ thuộc hàm có một vai trò rất quan trọng trong việc thiết kế mô hình dữ liệu. Một trạng thái phụ thuộc hàm chỉ ra rằng giá trị của một thuộc tính được quyết định một cách duy nhất bởi giá trị của thuộc tính
Trang 16Ví dụ: Cho quan hệ R = HS :
Bảng 1: Bảng quan hệ Học sinh Theo bảng trên ta thấy mỗi một trong số các thuộc tính Namsinh, Diachi,
DT, Email đều phụ thuộc hàm (PTH) vào thuộc tính Ten. Mỗi giá trị của Ten đều tồn tại đúng một giá trị tương ứng đối với từng thuộc tính còn lại. Khi đó có
Trang 17A3) Theo giả thiết ta có X ®Y Y , ® Z là hai PTH trên quan hệ R
1[Y]=t [Y] 2
Trang 18Gọi F là tập tất cả các phụ thuộc hàm đối với quan hệ R trên tập thuộc
diễn ra từ F nếu quan hệ r trên R(U) đều thoả mãn phụ thuộc hàm F thì cũng
hàm.
1.2.3.1 Định nghĩa
Khi đó ta định nghĩa Bao đóng của tập thuộc tính X theo phụ thuộc hàm F được
Nhận xét: Khái niệm Bao đóng tập thuộc tính có ý nghĩa hết sức quan trọng
trong việc nghiên cứu về lớp phụ thuộc dữ liệu. Có thể nói đây là một trong những khái niệm quan trọng nhất vì tất cả các kết quả quan trọng nhất trong lớp
Trang 20Þ X + ÎY + (theo tính chất luỹ đẳng) (2)
thuộc hàm trên U. Ta nói PTH f được suy dẫn theo quan hệ từ tập phụ thuộc
Định nghĩa: Cho tập phụ thuộc hàm F trên tập thuộc tính U và f là một phụ
thuộc hàm trên U. Ta nói phụ thuộc hàm f được suy dẫn theo tiên đề ( hoặc suy
theo các tiên đề từ tập PTH F nếu như áp dụng các luật A1, A2, A3 đối các PTH
trong F thì sau hữu hạn lần ta sẽ thu được f.
Định lý: Với mọi tập FPT F và PTH f trên tập thuộc tính U ta có F├ f khi và
Chứng minh:
Giả sử sau k bước ứng dụng các luật của hệ tiên đề ta nhận được các phụ thuộc hàm:
Trang 21b) Giả sử ta có F =f ta cần chứng minh F├ f
Xây dựng quan hệ R như sau:
Ta sẽ chứng minh f vừa dẫn xuất được theo quan hệ R và f vừa không dẫn xuất được theo quan hệ R.
dữ liệu. Khái niệm về khoá cũng là một trong những khái niệm quan trọng nhất trong việc nghiên cứu và xây dựng CSDL
Trang 22Nói đến khoá (key) [3] trong quan hệ R là nói đến một tập nhỏ nhất các thuộc tính nhằm phân biệt các đối tượng. Việc xác định khoá cũng xác định được tính toàn vẹn dữ liệu trong CSDL quan hệ. Do đó việc tìm khoá trong 1
Hợp của một siêu khoá là một siêu khoá
Giao của các hoá nói chung không là một siêu khoá.
Định nghĩa: Cho lược đồ quan hệ a = (U,F), trong đó F là tập các phụ thuộc hàm trên quan hệ R
Hợp của các khoá khác nhau không phải là một khoá
Trang 23CƠ SỞ DỮ LIỆU QUAN HỆ 2.1 Dữ liệu mờ
Cơ sở dữ liệu [2] là biểu hiện của thế giới thực, hầu hết các giá trị của nó
là rõ ràng nhưng đôi khi cũng không xác định, không rõ ràng hay còn gọi là mờ (fuzzy). Việc thiết kế Cơ sở dữ liệu với các giá trị ra sao là do nhà thiết kế lựa chọn và tuỳ vào mục đích sử dụng nhưng hầu hết các Cơ sở dữ liệu hiện nay đều
rõ. Tuy nhiên để nắm bắt những giá trị chưa rõ ràng của thế giới thực đặc biệt là với những ứng dụng trong các ngành sinh học và gen, hệ thống thông tin địa lý,
hệ thống dự báo kinh tế và thời tiết,… người ta nghĩ đến việc mờ hoá dữ liệu và xây dựng mô hình Cơ sở dữ liệu mờ.Việc xây dựng cũng như phát triển các mô hình cơ sở dữ liệu mờ cũng như lớp phụ thuộc hàm mờ (FFDs) có thể theo nhiều
hướng khác nhau nhưng đều dựa trên các khái niệm cơ bản sau:
2.1.1 Tập rõ
Khái niệm tập rõ là khái niệm được sử dụng trong CSDL truyền thống. Khi đó các thuộc tính được xét đến coi như thoả mãn các yêu cầu một cách tuyệt đối. Ta có thể định nghĩa về tập rõ như sau:
Cho U là tập các đối tượng, A là tập con của U. A được gọi là tập rõ (crisp set) [4] nếu A được định nghĩa bởi hàm đặc trưng của nó sao cho:
tập mờ A
Trang 25Phép giao: Z = (XÇY)(u) = min [ A(u), B(u) ] = {(A,0.7), (B,0.65), (D,0.6),(G,0.6)}.
(D,0.6),(G,0.6)}.
2.2 Phụ thuộc hàm mờ
Trong quá trình xác định những ràng buộc dữ liệu, đặc biệt là việc xác định lớp các thụ thuộc hàm đã cho thấy vẫn còn những vấn đề cần được giải quyết. như là trong cơ sở dữ liệu lớn, các dữ liệu nhiễu thì những xung đột dữ liệu và lỗi đều có thể xảy ra, cụ thể như sự thiếu chính xác trong việc nhập, thay đổi cũng như cập nhật dữ liệu. Nói chung khó có thể tìm được phụ thuộc hàm nếu ràng buộc giữa các thuộc tính chưa rõ ràng, chưa xác định hoặc mờ. Vì vậy việc mở rộng phụ thuộc hàm mờ (fuzzy functional dependency) [12] sẽ giúp cho việc thiết kế mô hình dữ liệu để xử lý được những vấn đề về phụ thuộc dữ liệu
2.2.1 Định nghĩa Định nghĩa: Cho một tập U ={ A 1 , A 2 , …, A n } với mỗi phần tử A i Î U là một
Trang 26Định nghĩa: Cho tập thuộc tính U ={ A 1 , A 2 , …, A n } và R là một quan hệ trên
giá trị 0 thì quan hệ R thoả mãn mãn phụ thuộc hàm X→Y lỏng lẻo và gần như không có ý nghĩa khi ta xét đến các ràng buộc dữ liệu trong quan
Trang 27Khi đó với giá trị a (0<a £1) cho trước nếu T R (X→Y) ³ a thì X → Y
như khác biệt và không có sự phụ thuộc hàm gì ở đây. Chính điều này gây ra
“lãng phí” dữ liệu và không thấy được sự phụ thuộc dữ liệu gì ở đây.
Theo một cách khác nếu xét ở chừng mực nào đó ta có thể đánh giá 2 bộ vẫn phụ thuộc hàm vào nhau, chẳng hạn như ví dụ trên HS 1 có điểm các môn gần như “tương đương” với HS 2. Theo định nghĩa trên thì sẽ không tồn tại phụ
có thể coi 2 bộ này “giống nhau” và sẽ có phụ thuộc hàm:
Chẳng hạn ta xét “tỷ lệ” khác biệt giữa 2 bộ 1 và 2 ở các thuộc tính lần lượt như sau:
6,8
7
9 8.7
7.93 8.0
Trang 28 Dưới đây là một số hướng mở rộng về phụ thuộc hàm trong CSDL quan hệ.
Trang 30Vậy theo bảng trên ta thấy với mỗi cặp bộ (t i ,t j ) thì
1 ( - -
Trang 311 ( - -
1 ( - -
2.3 Xây dựng hệ tiên đề cho lớp Phụ thuộc hàm mờ ( Hệ tiên đề Amstrong
mở rộng)
Chứng minh:
Trang 32Khi đó từ giả thiết áp dụng A3' cho (X→Y)a và (Y→Z)a ta có (X→Z)a .
1,2,…,k
Trang 33QUAN HỆ 3.1 Khoá mờ
Khoá chính [2] ( primary key) là trường hợp đặc biệt của phụ thuộc hàm trong mô hình CSDL quan hệ cổ điển. Vai trò của X trong phụ thuộc hàm
X àY thuộc về các thuộc tính trong một khoá và tập tất cả các thuộc tính còn lại trong quan hệ đóng vai trò là Y. Do đó, khi nói K, một tập con của tập thuộc tính U, trong quan hệ R là một khoá có nghĩa là các giá trị của U được quyết định từ các giá trị của K cho tất cả các bộ trong quan hệ R. Trong mô hình CSDL truyền thống, các giá trị K đồng nhất sẽ dẫn đến các giá trị U đồng nhất.
Sự quyết định được phản ánh bởi mối quan hệ giữa K và U. Để mở rộng mối quan hệ này trong mô hình cơ sở dữ liệu quan hệ mờ thì khoá chính được “mở
rộng” và được gọi là khoá mờ [10] ( fuzzy key ) với ngưỡng α nào đó.
Định nghĩa: Phụ thuộc hàm từng phần [10] (partial functional
dependency) là phụ thuộc hàm có thuộc tính không phải là khoá mà phụ thuộc một phần vào khoá chính.
Trang 35Định lý: Cho U là tập thuộc tính ,A i (i =1,2…k) là các thuộc tính, Y
Trang 36Bài toán đặt ra là liệu phụ thuộc hàm (X→ Y)f có thuộc vào F +
hay không?
Để trả lời câu hỏi này thì từ tập Phụ thuộc hàm F, dựa vào các hệ tiên đề
và kiểm tra yêu cầu của bài toán. Tuy nhiên việc
)
quan hệ không phải lúc nào cũng hiệu quả vì sẽ phải tìm tất cả các Phụ thuộc