Đề tài này tập trung vào tìm hiểu và nghiên cứu khái niệm các phép phân rã, phép dịch chuyển sơ đồ quan hệ, đưa chúng về dạng thu gọn và nhận được các biểu diễn quan trọng cho bao đóng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
TRẦN VĂN SẢN
NGHIÊN CỨU, SO SÁNH CÁC PHƯƠNG PHÁP
PHÂN RÃ, DỊCH CHUYỂN SƠ ĐỒ QUAN HỆ
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: : 60.48.01
TÓM TẮT LUẬN VĂN THẠC SỸ KĨ THUẬT
HÀ NỘI – 2012
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
Người hướng dẫn khoa học : PGS-TS Nguyễn Bá Tường
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ 10h10 ngày.20 tháng 01 năm 2013
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3i MỞ ĐẦU
i.1 Giới thiệu đề tài
Trong quản lý các cơ sở dữ liệu (CSDL), phụ thuộc
dữ liệu được hiểu là những mệnh đề mô tả các ràng buộc
mà dữ liệu phải đáp ứng trong thực tế Nhờ có những mô
tả phụ thuộc này mà hệ quản trị cơ sở dữ liệu có thể quản
lý tốt được chất lượng dữ liệu Lý thuyết về các phụ thuộc dữ liệu đóng vai trò quan trọng trong việc mô tả thế giới thực, phản ánh ngữ nghĩa dữ liệu trong cơ sở dữ liệu Phụ thuộc dữ liệu được Codd, tác giả của mô hình
dữ liệu quan hệ đặt nền móng từ những năm 70 với khái niệm phụ thuộc hàm Sau đó một loạt tác giả khác tiếp tục phát triển các dạng phụ thuộc bậc cao, phụ thuộc mờ cũng như xây dựng các hệ tiên đề cho các lớp phụ thuộc - tức là đặt cơ sở lý thuyết về phụ thuộc dữ liệu
Một điều khá tự nhiên là ngay từ những ngày đầu phát triển lý thuyết thiết kế cơ sở dữ liệu, logic đã được chọn như một ngôn ngữ hữu hiệu để đặc tả phụ thuộc dữ liệu, do đó, trong số các loại hình phụ thuộc dữ liệu rất đa dạng được đề xuất và phát triển sau này, các phụ thuộc
Trang 4logic luôn luôn là trọng tâm chú ý của các nhóm nghiên cứu
Đề tài này tập trung vào tìm hiểu và nghiên cứu
khái niệm các phép phân rã, phép dịch chuyển sơ đồ
quan hệ, đưa chúng về dạng thu gọn và nhận được các
biểu diễn quan trọng cho bao đóng, khóa và phản khoá Các kết quả thu được sử dụng trong quá trình thiết kế các
cơ sở dữ liệu
Một nhận xét tự nhiên là nếu kích thước của sơ đồ quan hệ càng nhỏ thì các thuật toán càng phát huy hiệu quả hơn Một số hướng nghiên cứu tinh giản các sơ đồ cơ
sở dữ liệu được thực hiện thông qua các phép biến đổi tương đương, chẳng hạn đưa tập phụ thuộc hàm về dạng thu gọn hoặc thu gọn tự nhiên, dạng không dư, dạng tối
ưu … đã được công bố
Để giải quyết vấn đề trên ta dùng phép “phân rã”,
tức là tách sơ đồ quan hệ trên thành các sơ đồ quan hệ
con với mong muốn các sơ đồ quan hệ con mới này sẽ
đạt dạng chuẩn cao hơn sơ đồ quan hệ ban đầu Như vậy
Trang 5sẽ giảm (hay không còn) các thông tin bị dư thừa trong các quan hệ mới
Mục đích của phép phân rã đó là nhằm loại bỏ các
file dữ liệu dư thừa và loại bỏ các dị thường: không nhất quán, dị thường khi thêm dòng, dị thường khi xóa dòng của quan hệ, khi thực hiện phép cập nhật (sửa, thêm, xóa)
Trong phép dịch chuyển sơ đồ quan hệ Bản chất
của kỹ thuật này là loại bỏ khỏi sơ đồ quan hệ ban đầu
một 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 quả tính toán các đối tượng đang quan tâm như bao đóng, khóa, Mặc dù sơ đồ quan
hệ thu được qua phép thu gọn không tương đương với sơ
đồ quan hệ ban đầu, nhưng ta có thể thu được các đối tượng cần tìm bằng những phép toán đơn giản như loại
bỏ hoặc thêm một số thuộc tính Điều lý thú là sau khi loại bỏ một số thuộc tính thì một số phụ thuộc hàm sẽ được loại bỏ theo, vì chúng trở thành các phụ thuộc hàm tầm thường (có vế trái chứa về phải) hoặc mang thông tin
tiền định (đó là các phụ thuộc hàm dạng Ø→X)
Trang 6i.2 Nội dung của đề tài, các vấn đề cần giải quyết
Mục tiêu của luận văn là tìm hiểu kỹ thuật thu gọn
sơ đồ quan hệ dựa trên “phương pháp phân rã sơ đồ quan hệ” và “phương pháp dịch chuyển sơ đồ quan hệ”
- Sử dụng một số thuật ngữ như dịch chuyển, phân
rã, chiếu của các sơ đồ quan hệ để làm sáng tỏ khái niệm
thu gọn sơ đồ quan hệ là nội dung chính của luận văn Vấn đề cần quan tâm là phân rã, dịch chuyển SĐQH
có đảm bảo tái thiết được sơ đồ quan hệ hay không, quá trình phân rã, dịch chuyển có làm mất thông tin không? Các đối tượng chúng ta sẽ phân rã, dịch chuyển là các sơ đồ quan hệ W thông qua phép phân rã, dịch chuyển sơ đồ quan hệ theo một tập thuộc tính U Khảo sát sự phụ thuộc của phép phân rã, dịch chuyển thông qua các tính chất của tập thuộc tính U Khảo sát hai dạng biểu diễn khóa của lược đồ quan hệ qua phép phân rã,
Trang 7dịch chuyển Xây dựng một hệ trình minh họa mô phỏng kết quả thực tế và đánh giá các kết quả lý thuyết
i.3 Phương pháp nghiên cứu
1 Tiếp cận chủ yếu để giải quyết các vấn đề đặt ra trong phạm vi đề tài là tiên đề hóa Các hệ tiên đề được xây dựng trên cơ sở một hệ suy dẫn hình thức với các tính chất cơ bản về các đối tượng cơ sở và các mối liên
hệ giữa chúng Cơ sở toán học của các hệ tiên đề là định
lý về tính xác đáng và đầy đủ cùng với các định lý về
điều kiện cần và đủ cho các hệ tiên đề tương đương
2 Tiếp cận hình thức vận dụng chủ yếu các phương pháp và các cấu trúc của toán học rời rạc (bao gồm cả logic hình thức), kết hợp với các phương pháp đối sánh,
mô hình hóa, tối ưu và quy hoạch rời rạc
3 Kết hợp chặt chẽ giữa lý thuyết và thực hành, sử dụng và phát triển các phần mềm nói chung và các phần mềm toán học nói riêng để kiểm định và thể hiện các kết quả lý thuyết
i.4 Phạm vi ứng dụng
Trang 8Các kết quả thu được có thể vận dụng cho các quy trình thiết kế các cơ sở dữ liệu dùng trong các hệ thống thông tin, cụ thể là:
Bảo toàn phụ thuộc hàm, không mất mát thông tin, loại bỏ dư thừa dữ liệu Đây là các tiêu chuẩn cơ bản của
hệ thống thông tin Với các CSDL lớn và phức tạp có nhiều thuộc tính, chúng ta phải dùng các phương pháp biến đổi SĐQH để đưa chúng về dạng tối ưu, đáp ứng được các tiêu chuẩn trên
Về lý thuyết, luận văn tập trung vào các kết quả sau đây:
- Khái niệm cơ sở lý thuyết của mô hình quan hệ
- Khái niệm về phép phân rã sơ đồ quan hệ
- Khái niệm về phép dịch chuyển sơ đồ quan hệ
- Phát biểu và chứng minh các phương pháp phân rã dọc sơ đồ quan hệ, phân rã có nối không tổn thất, phân rã bảo toàn phụ thuộc, phân rã thành các dạng chuyển BCNF
- Phát biểu và chứng minh công thức tính bao đóng qua phép dịch chuyển lược đồ quan hệ,
Trang 9- Phân tích thuật toán Chase kiểm tra việc phân rã
có nối không tổn thất không, kiểm tra phân rã có bảo toàn phụ thuộc không, thuật toán phân rã thành dạng chuẩn BCNF
- Phân tích thuật toán dịch chuyển SĐQH,
Về thực hành luận văn sẽ cài đặt chương trình ứng dụng nhằm mục đích mô phỏng kết quả nghiên cứu được của học viên
Nội dung :
Chương 1
CƠ SỞ LÝ THUYẾT CỦA MÔ HÌNH QUAN HỆ
Chương 1 Giới thiệu về mô hình dữ liệu quan hệ là một mô hình được sử dụng rộng rãi trong đời sống xã hội của mọi tổ chức, cơ quan, xí nghiệp bởi tính do tính trực quan, kiến trúc đơn giản và có cơ sở toán học chặt chẽ của nó Mô hình quan hệ biểu thị dữ liệu trong một CSDL như một tập các quan hệ, có thể coi như là một bảng giá trị gồm các hàng và các cột Mỗi hàng trong bảng là một tập các giá trị có liên quan với nhau, các giá
Trang 10trị này biểu thị một sự kiện tương ứng với một thực thể hay một mối quan hệ trong thế giới thực Trong chương này chúng ta sẽ nêu một số khái niệm cơ bản về quan hệ
và cơ sở quan hệ
1.1.Khái niệm về quan hệ
Cho U={A1,A2, ,An} là một tập hữu hạn, không rỗng các thuộc tính Mỗi thuộc tính Ai có một miền giá trị là D(Ai)
1.2 Các phép toán đại số quan hệ
Trên các quan hệ ta có thể thực hiện các phép toán tập hợp như hợp, giao, hiệu, các phép toán đó người ta
thường gọi là các phép toán đại số quan hệ,
Trang 111.3.3 Hệ tiên đề Armstrong
Hệ 3 tính chất tính phản xạ, tính bắc cầu, tính mở
rộng 2 vế được gọi là hệ tiên đề Armstrong của lớp các
phụ thuộc hàm trên lược đồ U
Trang 121.3.4.Tính tương đương của các tập phụ thuộc hàm
Gọi F và G là hai tập phụ thuộc hàm Ta nói F và G
là tương đương nếu F+=G+ Ký hiệu F G
1.3.5 Các tập phụ thuộc hàm tối thiểu
Một tập phụ thuộc hàm là tối thiểu nếu nó thoả mãn các
điều kiện sau đây :
1 Mỗi vế phải của các phụ thuộc hàm F chỉ có một thuộc tính
2 Không tồn tại một phụ thuộc hàm X→A thuộc F
và tập con thực sự Z của X mà F+ {X→A}{Z→A}) +
=(F-3 Không tồn tại 1 phụ thuộc hàm X→A thuộc F mà
Trang 13Bao đóng của tập phụ thuộc hàm F ký hiệu F + là tập tất cả các phụ thuộc hàm f suy dẫn được từ tập F dựa vào các luật của hệ tiên đề Armstrong
Vậy F + = {f: F = f} với F = f là ký hiệu F suy dẫn được f
1.4 Khoá và khoá chính, khoá ngoại
Trong các thuộc tính phụ thuộc hàm có các thuộc tính đóng vai trò “xác định” các thuộc tính khác như
“khóa”
1.4.1.Định nghĩa : Khoá (key) tối tiểu
Tập thuộc tính K U được gọi là khoá tối tiểu của
W = <U, F> nếu nó thoả mãn hai điều kiện:
(1) K+ = U (hay KU)
(2) B K: (K-{B})+ U
Vậy tập K U được gọi là khóa tối tiểu của sơ đồ
quan hệ W = <U, F> nếu K là tập tối tiểu kéo theo U
1.4.2.Định nghĩa : Khoá của quan hệ R
K U được gọi là khoá của R nếu:
Trang 141 Mọi cặp ti và tj khác nhau của R ta luôn có ti.K
tj.K
2 K là tối thiểu
1.4.3.Định nghĩa : Khoá chính-khoá ngoại
Khoá chính của quan hệ R là một khoá của R được
chọn làm khoá chính
Khoá ngoại của quan hệ R là trường dữ liệu đóng
vai trò khoá chính trong quan hệ khác
1.5 Các dạng chuẩn của sơ đồ quan hệ
Trong quản lý, xử lý các hệ cơ sở dữ liệu chúng ta thường phải đưa CSDL về dạng đơn giản nhất, ít công kềnh nhất, tốn ít bộ nhớ nhất, xử lý nhanh nhất và có tính đặc thù nhất Để thực hiện mục đích đó chúng ta phải tiến
hành chuẩn hóa các hệ CSDL
1.5.1 Dạng chuẩn 1 – 1NF (First Normal Form) 1.5.2 Dạng chuẩn 2 – 2NF (Second Normal Form) 1.5.3 Dạng chuẩn 3 – 3NF (Third Normal Form) 1.5.4 Dạng chuẩn Boyce Codd – BCNF
Trang 15Một quan hệ được chuẩn hóa là quan hệ trong đó mỗi miền giá trị của một thuộc tính chỉ chứa những giá trị nguyên tố tức là những giá trị không phân chia được nữa, những miền giá trị đó gọi là miền giá trị đơn trị Các lớp dạng chuẩn của các sơ đồ quan hệ có quan
hệ lồng nhau, lớp sau nằm trong lớp trước Nghĩa là ta có 1NF 2NF 3NF BCNF Lồng nhau ở đây là thực
sự, nghĩa là lớp sau nằm gọn trong lớp trước
Hình 1.1: Sơ đồ biểu thị mối liên hệ của các lớp chuẩn
1NF 2NF 3N
F BCN
F 4N
F
Trang 16Chương 2
CÁC PHƯƠNG PHÁP PHÂN RÃ SƠ ĐỒ QUAN
HỆ
Chương này giới thiệu các phép “phân rã sơ đồ
quan hệ”, tức là tách sơ đồ quan hệ trên thành các sơ đồ
quan hệ con với mong muốn các sơ đồ quan hệ con mới
này sẽ đạt dạng chuẩn cao hơn sơ đồ quan hệ ban đầu
Các đối tượng chúng ta sẽ phân rã là các sơ đồ quan
hệ W=<U,F> trong đó U={A1, A2, , An} là tập hữu hạn không rỗng các thuộc tính, F là tập phụ thuộc hàm trên
U Phân rã W thực chất là phân rã U và kéo theo nó là phân rã F
2.1 Phân rã dọc sơ sơ đồ quan hệ W=<U,F>
Định nghĩa : Phân rã dọc W = <U,F> là phân chia W =
<U,F> thành W1 = <U1,F1>, W2= <U2,F2>, ,Wk=<Uk,Fk>, ký hiệu: W| ->{W1, W2, ., Wk} trong
Trang 172.2.1 Phân rã W=<U,F> có nối không tổn thất Định nghĩa : Phép phân rã W| ->{W1, W2, ,
Wk} được gọi là phép phân rã có nối không tổn thất nếu mọi quan hệ R trên U luôn có đẳng thức:
k
i 1
Ui là một phân rã của W thành các BCNF nếu mỗi
sơ đồ con Wi = <Ui, Fi> là BCNF
2.2.4 Phân rã tổng hợp
Trang 18Phân rã tổng hợp là phân rã thành BCNF, bảo toàn phụ thuộc, có nối không tổn thất
Định nghĩa: Cho W=<U, F>; W| ->{W1, W2, ,
Wk}; Wi = <Ui, Fi>; Fi =Ui(F+) là một phân rã của W thành các BCNF bảo toàn phụ thuộc, có nối không tổn thất nếu phép phân rã thỏa mãn cả 3 điều kiện trên
Chương 3
PHÉP DỊCH CHUYỂN, PHÉP CHIẾU SƠ ĐỒ QUAN HỆ, NHẬN XÉT, SO SÁNH PHƯƠNG PHÁP PHÂN RÃ VÀ DỊCH CHUYỂN SƠ ĐỒ QUAN HỆ
Chương 3 trình bày một kỹ thuật thu gọn sơ đồ
quan hệ (SĐQH) được gọi là phép dịch chuyển sơ đồ
quan hệ Bản chất của kỹ thuật này là loại bỏ khỏi
SĐQH ban đầu một 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 quả tính toán các đối tượng đang được quan tâm như bao đóng, khóa, phản khóa Mặc dù SĐQH thu được qua phép dịch
Trang 19chuyển không tương đương với SĐQH ban đầu, nhưng
ta có thể thu được các đối tượng cần tìm bằng những phép toán đơn giản như loại bỏ hoặc thêm một số thuộc tính Điều lý thú là sau khi loại bỏ một số thuộc tính thì một số PTH sẽ được loại bỏ theo vì chúng trở thành các PTH tầm thường (có vế trái chứa về phải) hoặc mang
thông tin tiền định (đó là các PTH dạng Ø→X) Các
phép dịch chuyển SĐQH được phát triển cho lớp các phụ thuộc logic đầu tiên là phụ thuộc hàm cho ta một số kết quả lý thú về biểu diễn bao đóng, khóa, phản khóa cùng một số dấu hiệu cần và đủ để nhận biết các đặc
trưng tương quan giữa các đối tượng nói trên
3.1 Phép dịch chuyển sơ đồ quan hệ
3.1.1 Định nghĩa
Cho hai sơ đồ quan hệ W1 = <U,F>, W2 = <V,G>
và tập thuộc tính M U Ta nói sơ đồ quan hệ W2 nhận được từ sơ đồ quan hệ W1 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 sơ đồ W1 thì thu được sơ đồ W2
Trang 20Nếu sau khi thực hiện phép dịch chuyển theo M cho SĐQH W1 ta thu được SĐQH W2 thì ta viết W2 = W1\M
Thao tác loại bỏ M được thực hiện trên sơ đồ W1 =
<U,F> để thu được sơ đồ W2=<V,G> như sau:
1 Tính V = U\M có độ phức tạp O(n) với n là số lượng thuộc tính trong U
2 Mỗi PTH XY trong F ta tạo ra PTH X\MY\M cho G Thủ tục này ký hiệu là G=F\M Tính F\M đòi hỏi độ phức tạp O(mn) với m là số lượng PTH trong F
Như vậy W2=W1\M = <U\M,F\M> được thực hiện với độ phức tạp O(mn), tức là tuyến tính theo chiều dài
dữ liệu vào (của SĐQH W1)
Sau khi thực hiện thủ tục G = F\M nếu:
G chứa các PTH tầm thường (dạng XY, X Y) thì ta loại các PTH này khỏi G
G chứa các PTH trùng lặp thì ta bớt các PTH này
3.1.2 Thuật toán dịch chuyển sơ đồ quan hệ
Trang 213.1.3 Bổ đề về siêu khoá trong phép dịch chuyển SĐQH
Bổ đề : Bổ đề về siêu khóa trong phép dịch chuyển
3.1.4 Dịch chuyển sơ đồ quan hệ về dạng cân bằng
3.1.4.1 Định nghĩa sơ đồ cân bằng
SĐQH W = <U,F> được gọi là cân bằng nếu tập PTH F trong W thoả 4 tính chất sau:
1 Hợp các vế trái, các vế phải của các PTH trong F đúng bằng tập thuộc tính U:
LS(F) = RS(F) = U