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

ĐẠI HỌC THÁI NGUYÊN  
KHOA CÔNG NGHỆ THÔNG TIN  
___________________________________  
V Ũ TR Í D Ũ N G  
ỨNG DỤNG PHÉP DỊCH CHUYỂN  
LƯỢC ĐỒ QUAN HỆ TRONG CƠ SỞ DỮ LIỆU  
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN  
Thái Nguyên - 2009  
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  
ĐẠI HỌC THÁI NGUYÊN  
KHOA CÔNG NGHỆ THÔNG TIN  
____________________________  
VŨ T RÍ DŨ NG  
ỨNG DỤNG PHÉP DỊCH CHUYỂN  
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  
Người hướng dẫn khoa học  
PGS. TSKH. NGUYỄN XUÂN HUY  
Thái Nguyên - 2009  
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
MỤC LỤC  
LỜI NÓI ĐẦU  
CHƢƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI VÀ CÁC KHÁI NIỆM CƠ SỞ  
1.1. TỔNG QUAN VỀ ĐỀ TÀI  
1
4
4
1.1.1. Giới thiệu đề tài.  
4
1.1.2. Nội dung của đề tài, các vấn đề cần giải quyết.  
1.1.3. Phƣơng pháp nghiên cứu.  
1.1.4. Phạm vi ứng dụng.  
4
5
5
1.1.5. Kết quả đạt đƣợc.  
5
1.2.  
CÁC KHÁI NIỆM CƠ SỞ  
6
1.2.1. Quan hệ, thuộc tính, bộ.  
7
1.2.2. Đại số quan hệ.  
10  
13  
18  
21  
27  
31  
36  
37  
38  
39  
43  
1.2.3. Phụ thuộc hàm, Hệ tiên đề Armstrong, Lƣợc đồ quan hệ.  
1.2.4. Bao đóng của tập thuộc tính.  
1.2.5. Phủ của tập phụ thuộc hàm  
1.2.6. Khóa của lƣợc đồ quan hệ.  
1.2.7. Chuẩn hoá LĐQH trên cơ sở phụ thuộc hàm.  
CHƢƠNG 2. PHÉP DỊCH CHUYỂN LƢỢC ĐỒ QUAN HỆ  
2.1.  
2.2.  
2.3.  
2.4.  
Phép dịch chuyển LĐQH.  
Thuật toán dịch chuyển LĐQH.  
Định lý cơ bản của phép dịch chuyển LĐQH.  
Dạng biểu diễn thứ nhất của khó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  
2.5.  
2.6.  
Dạng biểu diễn thứ hai của khóa  
Kết luận  
45  
50  
51  
51  
51  
52  
54  
57  
58  
60  
CHƢƠNG 3. CÀI ĐẶT CHƢƠNG TRÌNH  
3.1.  
3.2.  
3.3.  
3.4.  
Giới thiệu.  
Các chức năng của chƣơng trình.  
Một số giao diện của chƣơng trình.  
Các thí dụ.  
DANH MỤC BÀI BÁO, CÔNG TRÌNH NCKH  
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN  
TÀI LIỆU THAM KHẢO  
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  
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT  
1NF  
2NF  
3NF  
CSDL  
LĐQH  
PTH  
FD  
1st normal form - dạng chuẩn 1  
2nd normal form - dạng chuẩn 2  
3rd normal form - dạng chuẩn 3  
Cơ sở dữ liệu  
Lƣợc đồ quan hệ  
phụ thuộc hàm  
phụ thuộc hàm  
suy dẫn theo tiên đề (theo logic)  
suy dẫn theo quan hệ  
khác  
với mọi  
thuộc  
là con  
X+  
chứa  
giao (của 2 tập thuộc tính)  
hợp (của 2 tập thuộc tính)  
bao đóng của tập thuộc tính X  
tƣơng đƣơng  
không tƣơng đƣơng  
phép trừ logic  
\
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  
LỜI NÓI ĐẦU  
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 logic 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 chuyển dịch lược  
đồ 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.  
Nội dung đề tài được cấu trúc như sau:  
Chương 1 giới thiệu về đề tài và các khái niệm chung về mô hình quan hệ với  
trọng tâm là các khái niệm hình thức của mô hình quan hệ, trong đó vận dụng chủ  
yếu các cấu trúc rời rạc. Phụ thuộc hàm (PTH) là lớp phụ thuộc đầu tiên của phụ  
thuộc logic và đồng thời cũng là lớp phụ thuộc kinh điển theo nghĩa, được Codd, tác  
giả của mô hình dữ liệu quan hệ, đề xuất sớm nhất và được sử dụng như một công  
cụ 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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 1  
Chương 2 trình bày một kỹ thuật thu gọn lược đồ quan hệ (LĐQH) được gọi  
phép dịch chuyển lược đồ quan hệ. 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 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ù LĐQH thu được qua phép dịch chuyển không tương  
đương với LĐ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 LĐ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.  
Chương 3 cài đặt chương trình mô phỏng ứng dụng phép dịch chuyển lược  
đồ quan hệ vào thiết kế cơ sở dữ liệu cùng với một số thí dụ.  
Phần cuối của luận văn là kết luận và hướng phát triển và các 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 này.  
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 về tinh thần cũng như cơ sở vật chất để em được học tập, nâng cao  
kiến thức và thực hiện luận văn tốt nghiệp.  
Em xin chân thành cảm ơn các Thầy, Cô giáo ở Viện Công nghệ thông tin -  
Viện Khoa học và Công nghệ Việt Nam, các 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 và cung cấp  
cho em những kiến thức vô cùng quí báu, để em có điều kiện nâng cao kiến thức và  
hiểu biết của mình trong lĩnh vực công nghệ thông tin.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 2  
Em cũng xin chân thành cảm ơn Ban lãnh đạo Liên đoàn Lao động tỉnh Hà  
Nam, Ban giám hiệu Trường trung cấp nghề Kinh tế - Kỹ thuật Hà Nam, gia đình,  
người thân và bạn bè đã tạo điều kiện thuận lợi, động viên và giúp đỡ em trong suốt  
thời gian học tập, nghiên cứu và làm luận văn tốt nghiệp.  
Học viên  
Vũ Trí Dũng  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 3  
CHƯƠNG 1  
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  
Trong quản lý các cơ sở dữ liệu lớn và phức tạp đòi hỏi nhiều thuật toán hữu  
hiệu để tính toán các đối tượng như bao đóng, khóa, phủ... Một số thuật toán tốt  
theo nghĩa độ phức tạp tính toán giới hạn ở các hàm tuyến tính hoặc đa thức theo  
chiều dài dữ liệu vào đã được công bố như thuật toán tính bao đóng của tập thuộc  
tính, thuật toán tìm một 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 các khóa, thuật toán xác định một lược  
đồ quan hệ có một khóa duy nhất… [1, 2, 8].  
Một nhận xét tự nhiên là nếu kích thước của lược đồ 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  
lược đồ 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 (chứa ít ký hiệu nhất)… đã được công bố [3, 5, 6, 7].  
Trong phép dịch chuyển lược đồ quan hệ. Bản chất của kỹ thuật này là loại  
bỏ khỏi lược đồ 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ù lược đồ quan hệ thu được qua phép thu gọn không tương  
đương với lược đồ 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).  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 4  
1.1.2. Nội dung của đề tài, các vấn đề cần giải quyết  
Luận văn tập trung tìm hiểu và cải tiến các kỹ thuật và 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 một tập thuộc  
tính X. Khảo sát sự phụ thuộc của phép dịch chuyển thông qua các tính chất của tập  
thuộc tính X. Khảo sát hai dạng biểu diễn khóa của lược đồ quan hệ qua phép dịch  
chuyển. Xây dựng một hệ trình minh họa và đánh giá các kết quả lý thuyết.  
1.1.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 đầ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.  
1.1.4. Phạm vi ứng dụng  
Cá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 quan hệ dùng trong các hệ thống thông tin, cụ thể là:  
- Tính bao đóng của các tập thuộc tính,  
- Tìm khóa của các lược đồ quan hệ.  
- Chuẩn hoá LĐQH  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 5  
1.1.5. Kết quả đạt được  
Về lý thuyết, luận văn tập trung vào các kết quả sau đâ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  
lược đồ quan hệ,  
- Phát biểu và chứng minh kết quả về dạng biểu diễn khóa thứ nhất,  
- Phát biểu và chứng minh kết quả về 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 cả các khoá  
Về thực hành luận văn sẽ cài đặt các kết quả lý thuyết dưới dạng chương  
trình bao gồm các chức năng sau:  
Nạp và cập 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  
1.2. CÁC KHÁI NIỆM CƠ SỞ  
Trong các mô hình dữ liệu thì mô hình dữ liệu quan hệ được sử dụng rộng rãi  
hơn cả do tính trực quan, kiến trúc đơn giản và có cơ sở toán học chặt chẽ. Ngoài ra,  
người ta đã chứng minh được sự tương đương và cung cấp các phép chuyển đổi  
giữa mô hình dữ liệu quan hệ với mô hình mạng và phân cấp. Một cách giải thích  
rất trực quan cho mô hình dữ liệu quan hệ là các dữ liệu của bài toán quản lý được  
tổ chức theo hàng và cột, cột biểu thị thuộc tính thông tin cần quản lý của một đối  
tượng, thuộc tính này còn gọi là tiêu đề cột và các giá trị trong cột đó có cùng một  
kiểu. Tập hợp tất cả các giá trị thuộc tính trên một hàng (gọi là bộ) là dữ liệu về một  
đối tượng đang quản lý.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 6  
Mục này trình bày một số khái niệm mở đầu về mô hình quan hệ. Trọng tâm  
được tập trung vào các khái niệm hình thức của mô hình quan hệ, trong đó vận dụng  
chủ yếu các cấu trúc rời rạc. Phần đầu tiên của mục này giới thiệu định nghĩa về  
quan hệ, thuộc tính và bộ. Phần thứ hai giới thiệu về đại số quan hệ như một ngôn  
ngữ truy nhập dữ liệu trong các cơ sở dữ liệu quan hệ. Phần thứ ba mô tả phụ thuộc  
hàm như một công cụ toán học trợ giúp cho việc biểu đạt ngữ nghĩa dữ liệu và đảm  
bảo tính nhất quán của dữ liệu trong cơ sở dữ liệu, phụ thuộc hàm là lớp phụ thuộc  
đầu tiên của phụ thuộc logic và đồng thời cũng là lớp phụ thuộc kinh điển theo  
nghĩa, được Codd, tác giả của mô hình dữ liệu quan hệ đề xuất sớm nhất và được sử  
dụng như một công cụ thiết kế các cơ sở dữ liệu chuẩn hóa. Các tính chất của phụ  
thuộc hàm và các hệ tiên đề cho phụ thuộc hàm được mô tả đầy đủ, trong đó hệ tiên  
đề Armstrong được sử dụng nhiều hơn cả. Một trong những khái niệm quan trọng  
của phụ thuộc hàm là bao đóng của tập thuộc tính và các tính chất cơ bản của phép  
toán lấy bao đóng được trình bày trong phần thứ tư của mục này. Phần thứ năm giới  
thiệu các loại phủ quan trọng nhất, đóng vai trò thu gọn các tập phụ thuộc hàm, tạo  
thuận tiện cho tối ưu hóa các thao tác ngữ nghĩa. Hai khái niệm chủ chốt liên quan  
đến phụ thuộc hàm là khóa và các dạng chuẩn của lược đồ quan hệ được trình bày  
trong hai phần cuối, phần thứ sáu và thứ bảy của mục.  
1.2.1. Quan hệ, thuộc tính, bộ  
Địn h ng hĩ a  
Cho tập hữu hạn U = {A1, A2 , ... , An} khác rỗng (n 1). Các phần tử của U  
được gọi là thuộc tính. Ứng với mỗi thuộc tính AiU, i = 1,2,...,n có một tập  
chứa ít nhất hai phần tử dom(Ai) được gọi là miền trị của thuộc tính Ai. Gọi D  
là hợp của các dom(Ai), i = 1,2,...,n. Một quan hệ R với các thuộc tính U, ký  
hiệu là R(U), là một tập các ánh xạ t: UD sao cho với mỗi AiU ta có  
t(Ai)dom(Ai). Mỗi ánh xạ được gọi là một bộ của quan hệ R.  
Mỗi quan hệ R(U) có hình ảnh là một bảng, mỗi cột ứng với một thuộc tính,  
mỗi dòng là một bộ.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 7  
Ta ký hiệu t(U) là một bộ trên tập thuộc tính U.  
Một quan hệ rỗng, ký hiệu , là quan hệ không chứa bộ nào.  
Vì mỗi quan hệ là một tập các bộ nên trong quan hệ không có hai bộ trùng lặp.  
Các ký hiệu và một số quy ước  
Theo truyền thống của lý thuyết cơ sở dữ liệu chúng ta chấp nhận các quy  
định sau đây:  
Các thuộc tính được ký hiệu bằng các chữ LATIN HOA đầu bảng chữ A, B, C,...  
Tập thuộc tính được ký hiệu bằng các chữ LATIN HOA cuối bảng chữ X, Y,  
Z,...  
Các phần tử trong một tập thường được liệt kê như một xâu ký tự, không có  
các ký hiệu biểu diễn tập, chẳng hạn ta viết X = ABC thay vì viết  
X = A, B, C. XY biểu diễn hợp của hai tập X Y, X Y. Phép trừ hai tập X  
Y được ký hiệu là X\Y, hoặc X-Y.  
Một phân hoạch của tập M (thành các tập con rời nhau và có hợp là M), X1,  
X2, ..., Xm được ký hiệu là  
M = X1 | X2 |... | Xm  
với ý nghĩa M = X1 X2 ... Xm Xi Xj = , 1 i, j m, i j.  
Các bộ được biểu diễn bằng các chữ Latin thường có thể kèm chỉ số, thí dụ t,  
u, v, t1 ...  
Với mỗi bộ t trong quan hệ R(U) và mỗi tập con các thuộc tính X U ta ký  
hiệu t[X] hoặc t.X là hạn chế của bộ (ánh xạ) t trên tập thuộc tính X.  
Ta chấp nhận quy ước tự nhiên là miền trị của mọi thuộc tính chứa ít nhất hai  
phần tử. Trong trường hợp một miền trị của thuộc tính chỉ chứa một giá trị  
duy nhất thì ta có thể loại bỏ cột tương ứng của thuộc tính đó trong quan hệ.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 8  
Ta chấp nhận quy ước sau đây: Mọi cặp bộ t v trong mọi quan hệ giống  
nhau trên miền rỗng các thuc tính, t.= v..  
Hàm Attr(R) cho tập thuộc tính của quan hệ R.  
Hàm Card(R) cho lực lượng (số bộ) của quan hệ R.  
Trong trường hợp tập thuộc tính U đã cho trước ta có thể viết đơn giản R thay  
cho R(U).  
Ký hiệu REL(U) là tập toàn thể các quan hệ trên tập thuộc tính U, REL_p(U)  
là tập toàn thể các quan hệ có không qúa p bộ trên tập thuộc tính U, p 1.  
Hai quan hệ R S được gọi là tương thích nếu chúng có cùng một tập thuộc  
tính, tức là nếu Attr(R) = Attr(S).  
Với mỗi bộ t trong quan hệ R(U) và mỗi bộ v trong quan hệ S(V) ta ký hiệu tv  
là phép dán hai bộ t và v. tv cho ta bộ r trên tập thuộc tính UV thoả điều  
kiện: r.U = t r.V = v.  
Với mỗi bộ t trong quan hệ R(U) và với mỗi quan hệ S(V) ta ký hiệu tS là  
phép dán bộ t với quan hệ S. tS cho ta quan hệ P(UV) = { tv | vS }.  
Thí dụ  
Cho U = ABC, V = BD, t(U) = (a,b,c), v(V) = (b,d). Ta có r(UV) = t * v =  
(a,b,c,d) là một bộ trên tập thuộc tính UV = ABCD.  
Cho thêm quan hệ S(BD)  
S (B D)  
b d  
x d  
b e  
Khi đó t*S cho ta quan hệ P(ABCD) sau đây  
P (A B C D)  
a b c d  
a b c e  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 9  
1.2.2. Đại số quan hệ  
Đại số quan hệ được xây dựng trên tập các quan hệ với các phép toán cơ sở là  
chọn, chiếu, kết nối tự nhiên, chia, hợp, giao trừ. Mục này sử dụng các ký  
pháp theo tài liệu [7].  
Phép chọn (phép lọc)  
Địn h ng hĩ a  
Cho quan hệ R(U) và biểu thức điều kiện (còn gọi là biểu thức lọc hay biểu  
thức chọn) e. Phép chọn trên quan hệ R theo điều kiện e, ký hiệu R(e) cho ta  
quan hệ:  
P(U) = R(e) = { t R | Sat(t, e) }  
trong đó hàm logic Sat(t, e) kiểm tra bộ t thoả điều kiện e được xác định theo  
hai bước sau:  
1) Thay mọi xuất hiện của mỗi thuộc tính A trong biểu thức chọn e bằng trị  
tương ứng của A trong bộ t, t.A, ta thu được một mệnh đề logic b.  
2) Tính trị của b. Nếu là đúng (True) thì bộ t thoả điều kiện e; ngược lại, nếu  
trị của b sai (False) thì bộ t không thoả điều kiện e.  
Trong các biểu thức chọn ta sử dụng ký hiệu cho các phép toán logic như sau:  
Hội: Tuyển: Phủ định: ¬, Kéo theo:   
Phép chiếu  
Địn h ng hĩ a  
Phép chiếu quan hệ R(U) trên tập con thuộc tính X U, ký hiệu R[X], cho ta  
quan hệ  
P(X) = R[X] = { t.X | tR }  
R[X] được tính theo 2 bước như sau:  
(i) Xoá các cột không thuộc X của bảng R,  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 10  
(ii) Lược bớt các dòng giống nhau trong bảng kết quả: chỉ giữ lại một  
dòng trong số các dòng giống nhau.  
Phép kết nối tự nhiên  
Địn h ng hĩ a  
Cho hai quan hệ R(U) và S(V). Đặt M = UV. Phép kết nối (tự nhiên) hai quan  
hệ R(U) và S(V), ký hiệu RS, cho ta quan hệ chứa các bộ được dán từ các bộ  
u của quan hệ R với mỗi bộ v của quan hệ S (sao cho các trị trên miền thuộc  
tính chung M của hai bộ này giống nhau).  
P(UV) = RS ={ uv | uR, vS, u.M = v.M }  
Nếu M = UV = , RS sẽ cho ta tích Descartes, trong đó mỗi bộ của quan  
hệ R sẽ được ghép với mọi bộ của quan hệ S.  
Phép cộng (hợp)  
Địn h ng hĩ a  
Phép hợp (theo lý thuyết tập hợp hoặc nối dọc) hai quan hệ tương thích R(U)  
S(U), ký hiệu RS, hoặc R+S, cho ta quan hệ chứa các bộ của mỗi quan hệ  
thành phần,  
P(U) = R S = { t | tR tS }  
Phép trừ  
Địn h ng hĩ a  
Phép trừ (theo lý thuyết tập hợp hoặc lấy phần riêng) hai quan hệ tương thích  
R(U) và S(U), ký hiệu R\S, hoặc R-S, cho ta quan hệ chứa các bộ của quan hệ  
R không có trong quan hS,  
P(U) = R \ S = { t | tR, tS }  
Phép giao  
Địn h ng 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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 11  
Phép giao (theo lý thuyết tập hợp hoặc lấy phần chung) hai quan hệ tương  
thích R(U) và S(U), ký hiệu RS, hoặc R&S cho ta quan hệ chứa các bộ xuất  
hiện đồng thời trong cả hai quan hệ thành phần,  
P(U) = R S ={ t | tR, tS }  
Các phép toán hợp, trừ và giao đựơc gọi là các phép toán tập hợp trên các  
quan hệ (tương thích).  
Phép chia  
Địn h ng hĩ a  
Cho hai quan hệ R(U) và 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ệ  
P(M) = R : S = { t.M | t R, (t.M)*S R }  
Thứ tự thực hiện các phép toán quan hệ  
Trong một biểu thức quan hệ các phép toán một ngôi có độ ưu tiên cao hơn  
(do đó được thực hiện sớm hơn) các phép toán hai ngôi. Tiếp đến là nhóm các  
phép toán kết nối, giao và chia, cuối cùng là nhóm các phép toán cộng và trừ.  
Thứ tự ưu tiên từ cao đến thấp của các phép toán quan hệ được liệt kê như sau:  
( ) , [ ]  
, , :  
, \  
Dãy các phép toán cùng thứ tự ưu tiên được thực hiện lần lượt từ trái qua phải.  
Nếu biểu thức quan hệ có chứa các cặp ngoặc (*) thì các biểu thức con trong  
các cặp ngoặc được thực hiện trước.  
Một số hàm tiện ích  
SumR, A: cho tổng các giá trị số trong thuộc tính cộtA của quan hệ R.  
AvgR, A: cho trung bình cộng các giá trị trong thuộc tính cộtA của quan hệ R.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 12  
MaxR, A: cho giá trị lớn nhất trong thuộc tính cộtA của quan hệ R.  
MinR, A: cho giá trị nhỏ nhất trong thuộc tính cộtA của quan hệ R.  
Nếu trong biểu thức quan hệ có chứa các hàm tiện ích thì các hàm này được  
thực hiện sớm nhất trong ngữ cảnh cho phép.  
Thí dụ  
Biểu thức quan hệ P = SR(A > Avg(S,A))[AB] sẽ được thực hiện theo trật tự sau  
đây:  
1. Tính hàm c = Avg(S,A)  
2. Thực hiện phép chọn P1 = R(A > c)  
3. Thực hiện phép chiếu P2 = P1[AB]  
4. Thực hiện 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ệ  
Phụ thuộc hàm  
Địn h ng hĩ a  
Cho tập thuộc tính U. Một phụ thuộc hàm (PTH) trên U là biểu thức dạng  
f: XY ; X,Y U  
Nếu f: XY là một phụ thuộc hàm trên U thì ta nói tập thuộc tính Y phụ thuộc  
vào tập thuộc tính X, hoặc tập thuộc tính X xác định hàm tập thuộc tính Y. X là  
vế trái Y vế phải của PTH f. Ta cũng dùng hai toán tử LS(f) và RS(f) để  
xác định vế trái và vế phải của PTH f, cụ thể là nếu f:XY thì LS(f) = X,  
RS(f)=Y.  
Cho quan hệ R(U) và một PTH f: XY trên U. Ta nói quan hệ R thoả PTH f  
và viết R(f), nếu hai bộ tuỳ ý trong R giống nhau trên X thì chúng cũng giống  
nhau trên Y,  
R(XY) (u,v R): (u.X = v.X) (u.Y = v.Y)  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 13  
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  
tập thuộc tính X.  
Cho tập PTH F trên tập thuộc tính U. Ta nói quan hệ R(U) thoả tập PTH F, và  
viết R(F), nếu R thoả mọi PTH trong F,  
R(F) (f F): R(f)  
Nếu quan hệ R thỏa PTH f ta cũng nói PTH f đúng trong quan hệ R.  
Thí dụ  
Cho quan hệ R(A, B, C, D) như sau  
R(A B C D)  
a 1 x 2  
a 1 y 2  
b 2 x 1  
b 2 y 1  
và các PTH f1: AA, f2: AB, f3: ACC, f4: AD, f5: DA, f6: AC.  
Khi đó các PTH f1 - f5 đúng trong R, mặt khác, R không thỏa PTH f6.  
Cho trước tập PTH F trên tập thuộc tính U, ký hiệu SAT(F) là tập toàn thể các  
quan hệ trên U thoả tập PTH F, SAT_p(F), p 1 là tập toàn thể các quan hệ có  
không quá p bộ trên U và thoả tập PTH F , cụ thể là  
SAT(F) = { R | RREL(U), R(F) }  
SAT_p(F) = { R | RREL_p(U), R(F) }  
Cho tập các quan hệ trên U, ký hiệu FD() là tập các PTH trên U đúng  
trong mọi quan hệ của .  
Hệ tiên đề Armstrong  
Bao đóng của tập PTH  
Địn h ng 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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 14  
Cho tập PTH F trên tập thuộc tính U. Bao đóng của F, ký hiệu F+ là tập nhỏ  
nhất các PTH trên U chứa F và thoả các tính chất F1-F3 của hệ tiên đề  
Armstrong Ao sau đây:  
X, Y, Z U:  
F1. Tính phản xạ: Nếu X Y thì XY F +  
F2. Tính gia tăng: Nếu XY F + thì XZYZ F +  
F3. Tính bắc cầu: Nếu XY F + và YZ F + thì XZ F +  
C h ú ý  
Các PTH có vế trái chứa vế phải như mô tả trong F1 được gọi là tầm thường. Các  
PTH tầm thường đúng trong mọi quan hệ. Ngoài ra, các quan hệ trên tập thuộc tính  
U có không quá một bộ thỏa mọi PTH trên U.  
Suy dẫn theo tiên đề (suy dẫn logic)  
Địn h ng hĩ a  
Ta nói PTH f được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ tập PTH F và  
ký hiệu là Ff, nếu f F +.  
Ff f F +  
Nói cách khác PTH f được suy dẫn theo tiên đề từ tập PTH F nếu xuất phát từ  
F, áp dụng các luật F1, F2 và F3 của hệ tiên đề Armstrong Ao sau hữu hạn lần  
ta sẽ thu được PTH f.  
Suy dẫn theo quan hệ  
Địn h ng hĩ a  
Cho tập PTH F trên tập thuộc tính U f là một PTH trên U. Ta nói PTH f  
được suy dẫn theo quan hệ từ tập PTH F và viết Ff, nếu mọi quan hệ R(U)  
thoả F thì R cũng thoả f.  
Ff SAT(F) SAT(f)  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 15  
Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F* là tập các PTH f  
trên U được suy dẫn theo quan hệ từ tập PTH F  
F * = { f: XY | X,Y U, Ff }  
Địn h lý  
(Tính đủ và xác đáng của hệ tiên đề Armstrong)  
F + = F *  
Nói cách khác, suy dẫn theo quan hệ và suy dẫn theo logic là một, tức là  
Ff Ff  
Suy dẫn theo quan hệ có không quá p bộ  
Địn h ng hĩ a  
Cho tập PTH F trên tập thuộc tính U f là một PTH trên U. Ta nói PTH f  
được suy dẫn theo quan hệ có không quá p bộ từ tập PTH F và viết F p f,  
nếu mọi quan hệ R trong REL_p(U) thoả F thì R cũng thoả f.  
Fp f SAT_p(F) SAT_p(f)  
Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F' là tập các PTH f  
trên U được suy dẫn theo quan hệ có không quá hai bộ từ tập PTH F  
F' = { f: XY | X,Y U, F2 f }  
Địn h lý  
(Định lý tương đương)  
F + = F * = F'  
Nói cách khác, đối với phụ thuộc hàm, ba loại suy dẫn sau là tương đương  
(i) Suy dẫn logic: Ff ,  
(ii) Suy dẫn theo quan hệ: Ff , và  
(iii) Suy dẫn theo quan hệ có không quá hai bộ: F├2 f.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 16  
Một số tính chất của PTH  
Cho tập thuộc tính U và các tập phụ thuộc hàm F, G trên U, tập một số quan  
hệ trên U, các quan hệ R S trên U. Dễ dàng chứng minh các tính chất sau  
đây:  
1. Nếu F G thì SAT(F) SAT(G)  
2. SAT(FG) = SAT(F) SAT(G)  
3. FD(RS) FD(R) FD(S)  
4. R S FD(R) FD(S)  
5. F FD(SAT(F))  
6.   SAT(FD())  
7. SAT(FD(SAT(F))) = SAT(F)  
8. FD(SAT(FD())) = FD()  
Thí dụ  
Chứng tFD(RS) FD(R ) FD(S).  
Ta chọn U = AB; quan hệ R(U) chứa một bộ duy nhất u = (a,x); quan hệ S(U) chứa  
một bộ duy nhất v = (a,y), x y. R S thỏa mọi PTH trên U. Quan hệ P = R S  
chứa 2 bộ u v. P không thỏa PTH AB.  
Một số tính chất mở rộng của PTH  
Sử dụng ba tiên đề Armstrong ta dễ dàng chứng minh các tính chất F4 -F11  
sau đây. Một số tính chất được chia nhỏ nhằm mục đích mô tả các hệ tiên đề khác  
cho PTH trong các mục tiếp theo.  
X, Y, Z, V U, A U:  
F4. Tính tựa bắc cầu: XY, YZV XZV  
F5. Tính phản xạ chặt: XX  
F6. Mở rộng vế trái và thu hẹp vế phải: XY XZY\V  
F7. Cộng tính đầy đủ: XY, ZV XZYV  
F8. Mở rộng vế trái: XY XZY  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 17  
F9. Cộng tính ở vế phải: XY, XZ XYZ  
F10. Bộ phận ở vế phải: XYZ XY  
F11.Tính tích luỹ: XYZ, ZAV XYZA  
Lược đồ quan hệ  
Địn h ng hĩ a  
Lược đồ quan hệ (LĐQH) là một cặp a = (U,F), trong đó U là tập hữu hạn các  
thuộc tính, F là tập các ràng buộc trên các miền trị (dữ liệu) của các thuộc tính  
trong U.  
Trong chương này chúng ta chỉ xét một loại ràng buộc là PTH và một số biến  
thể của PTH.  
Theo quy ước trên, trong chương này, chúng ta hiểu lược đồ quan hệ (LĐQH)  
là một cặp a = (U,F), trong đó U là tập hữu hạn các thuộc tính, F là tập các  
PTH trên U.  
Quy ước  
Trong trường hợp không chỉ rõ tập F, ta xem LĐQH chỉ là một tập hữu hạn  
các thuộc tính U.  
Các hệ tiên đề khác cho PTH  
Các hệ tiên đề cho PTH sau đây tương đương với hệ tiên đề Armstrong Ao [7]  
Bo = {F5, F10, F11}  
So = {F1, F4}  
Do = {F3, F5, F6, F7}  
Mo = {F4, F5, F8}  
1.2.4. Bao đóng của tập thuộc tính  
Địn h ng hĩ a  
Cho tập PTH F trên tập thuộc tính U và một tập con các thuộc tính X trong U.  
Bao đóng của tập thuộc tính X, ký hiệu X+ là tập thuộc tính  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 18  
X+ = {A U | X AF+}  
Thuật toán tìm bao đóng của một tập thuộc tính  
Cho tập PTH F trên tập thuộc tính U và một tập con các thuộc tính X trong U.  
Để xác định bao đóng X+ của tập thuộc tính X ta xây dựng dãy bao nhau  
X(0) X(1) X(i) như sau  
Xuất phát: Đặt X(0)=X,  
Với i > 0, ta đặt  
X (i1) X (i)  
R
LRF  
LX (i)  
Nếu X(i+1) = X(i) thì dừng thuật toán và cho kết quả X + = X(i) .  
Algorithm Closure  
Format: Closure(X,F)  
Input: - Tập PTH F trên U  
- Tập con thuộc tính X của U  
Output: - Y = X+ = {A U | XA F+}  
Method  
Y:=X;  
repeat  
Z:=Y;  
for each FD LR in F do  
if L Y then  
Y:=YR;  
endif;  
endfor;  
until Y=Z;  
return Y;  
end Closure.  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 19  
Thuật toán trên có độ phức tạp O(mn2 ), trong đó n là số lượng thuộc tính trong U,  
m là số lượng PTH trong tập F.  
Quy ước giản lược  
Ta thường viết XY thay vì viết XYF+ hoặc FXY.  
Bài toán thành viên  
Cho tập thuộc tính U, một tập các PTH F trên U và một PTH f: XY trên U.  
Hỏi rằng f F+ (f có phải là thành viên của F+) hay không ?  
Địn h lý  
(Định lý thành viên)  
XY F + khi và chỉ khi Y X +  
Thuật toán cho bài toán thành viên  
Algorithm IsMember  
Format: IsMember(f,F)  
Input: - Tập PTH F trên U  
- PTH f trên U  
Output: - True, nếu f F+;  
- False, trong trường hợp phủ định.  
Method  
IsMember := (RS(f) Closure(LS(f),F));  
end IsMember.  
Một số tính chất của bao đóng  
Cho LĐQH a = (U,F). Khi đó X, Y U ta có  
(C1) Tính phản xạ: X X +  
(C2) Tính đồng biến: X Y X + Y +  
(C3) Tính lũy đẳng: (X +)+ = X +  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 20  
Ngoài ra, sử dụng ba tính chất (C1), (C2) và (C3) nói trên ta dễ dàng chứng  
minh các tính chất (C4)-(C8) sau đây:  
(C4) (XY)+ X +Y +  
(C5) (X+Y)+ = (XY+)+ = ( XY)+  
(C6) XY khi và chỉ khi Y+X+  
(C7) XX+ và X+X  
(C8) X+ = Y+ khi và chỉ khi XY YX  
1.2.5. Phủ của tập PTH  
Địn h ng hĩ a  
Cho hai tập PTH F G trên cùng một tập thuộc tính U. Ta nói F suy dẫn ra  
được G, ký hiệu FG, nếu gG: Fg. Ta nói F tương đương với G, ký  
hiệu F G, nếu FG GF.  
Nếu F G ta nói G là một phủ của F.  
Ký hiệu F G có nghĩa F G không tương đương.  
Cho tập PTH F trên tập thuộc tính U X là tập con của U, ta dùng ký hiệu  
+
XF trong trường hợp cần chỉ rõ bao đóng của tập thuộc tính X lấy theo tập  
PTH F.  
Phủ thu gọn tự nhiên  
Địn h ng hĩ a  
Cho hai tập PTH F G trên cùng một tập thuộc tính U. G phủ thu gọn tự  
nhiên của F nếu  
1. G là một phủ của F, và  
2. G có dạng thu gọn tự nhiên theo nghĩa sau:  
2a. Hai vế trái và phải của mọi PTH trong G rời nhau (không giao  
nhau.)  
f G: LS(f) RS(f) =   
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 21  
2b. Các vế trái của mọi PTH trong G khác nhau đôi một.  
f, g G: f g LS(f) LS(g)  
Thuật toán tìm phủ thu gọn tự nhiên  
Algorithm Natural_Reduced  
Format: Natural_Reduced(F)  
Input: - Tập PTH F  
Output: - Một phủ thu gọn tự nhiên G của F  
(i) G F  
(ii)LR G: L R =   
(iii)LiRi,LjRjG: ij LiLj  
Method  
G:=;  
for each FD LR in F do  
Z:=R\L;  
if Zthen  
if there is an FD LY in G then  
replace LY in G by LYZ  
else add LZ to G;  
endif;  
endif;  
endfor;  
return G;  
end Natural_Reduced.  
Nếu dùng kỹ thuật chỉ dẫn để tổ chức truy nhập trực tiếp tới các thuộc tính và  
PTH thì thuật toán thu gọn tự nhiên Natural_Reduced đòi hỏi độ phức tạp tính toán  
O(mn) trong đó m là số lượng PTH trong tập F, n là số lượng thuộc tính trong U.  
Để ý rằng mn là chiều dài dữ liệu vào của thuật toán, do đó O(mn) chính là độ phức  
tạp tuyến tính theo chiều dài dữ liệu vào.  
Ta dễ dàng chứng minh tính đúng của mệnh đề sau,  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 22  
Mện h đề  
Nếu F và G là hai tập PTH trên cùng một tập thuộc tính U thì F G khi và chỉ  
+
+
khi X U: XF = XG  
Phủ không dư  
Địn h ng hĩ a  
Cho hai tập PTH F G trên tập thuộc tính U. G được gọi là phủ không dư  
của F nếu  
(i) G là một phủ của F, và  
(ii) G có dạng không dư theo nghĩa sau: gG: G \{g} G  
Thuật toán tìm phủ không dư của tập PTH  
Algorithm Nonredundant  
Format: Nonredundant(F)  
Input: - Tập PTH F  
Output: - Một phủ không dư G của F  
(i) G F  
(ii) g G: G\{g} G  
Method  
G:=F;  
for each FD g in F do  
if IsMember(g,G\{g})then  
G:=G\{g};  
endif;  
endfor;  
return G;  
end Nonredundant.  
Phủ thu gọn  
Phủ thu gọn trái  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 23  
Địn h ng hĩ a  
Cho hai tập PTH F G trên tập thuộc tính U. G được gọi là phủ thu gọn trái  
của F nếu  
(i) G là một phủ của F, và  
(ii) (LRG,AL): G\{LR}{L\AR} G  
Thuật toán tìm phủ thu gọn trái của tập PTH  
Để ý rằng AL ta có L\A L, nên  
g: LRG,AL): G\{g}{L\AR}╞ LR,  
do đó ta chỉ cần kiểm tra G L\AR ?  
Algorithm Left_Reduced  
Format: Left_Reduced(F)  
Input: - Tập PTH F  
Output: - Một phủ thu gọn trái G của F  
(i) G F  
(ii) g:LR G,AL: G\{g}{L\AR}G  
Method  
G:= F;  
for each FD g:LR in F do  
X:=L;  
for each attribute A in X do  
if IsMember(L\AR,G)then  
delete A from L in G;  
endif;  
endfor;  
endfor;  
return G;  
end Left_Reduced.  
Phủ thu gọn phải  
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  
_______________________________________________________  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 24  
Địn h ng hĩ a  
Cho hai tập PTH F G trên tập thuộc tính U. G được gọi là phủ thu gọn phải  
của F nếu  
(i) G là một phủ của F, và  
(ii) (LRG, AR): G\{LR}{LR\A} G  
Thuật toán tìm phủ thu gọn phải của tập PTH  
Để ý rằng, AR: R\A R, nên (g: LRG,AR): GLR\A  
do đó ta chỉ cần kiểm tra G\{LR}{LR\A}LA.  
Algorithm Right_Reduced  
Format: Right_Reduced(F)  
Input:  
- Tập PTH F  
Output: - Một phủ thu gọn phải G của F  
(i) G F  
(ii)(g:LR G,AR): G\{g}{LR\A}G  
Method  
G:= F;  
for each FD g:LR in F do  
H:=G\{LR};  
X:=R;  
for each attribute A in X do  
if A inClosure(L,H{LR\A})then  
delete A from R in G;  
endif;  
endfor;  
endfor;  
return G;  
end Right_Reduced.  
Phủ thu gọn  
Địn h ng 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  
Vũ Trí Dũng, Luận văn Thạc sĩ Công nghệ thông tin, Trang 25  

Tải về để xem bản đầy đủ

pdf 65 trang yennguyen 28/06/2025 130
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Ứng dụng phép dịch chuyển lược đồ quan hệ trong cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_van_ung_dung_phep_dich_chuyen_luoc_do_quan_he_trong_co.pdf