51 CHƯƠNG 3 MỘT SỐ TÍNH CHẤT CỦA CÁC DẠNG CHUẨN VÀ TỰA CHUẨN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI .... Một số tính chất của các dạng chuẩn, tựa chuẩn trên khối và mối quan hệ giữa chuẩn và tự
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn này tôi đã nhận được sự giúp đỡ tận tình của các thầy cô giáo trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện học tập, nghiên cứu và giúp đỡ tôi rất nhiều trong quá trình làm luận văn
Xin chân thành cảm ơn các thầy giáo, cô giáo đã trực tiếp giảng dạy và mang đến cho tôi niềm say mê nghiên cứu khoa học
Tôi xin gửi lời biết ơn chân thành tới, bạn bè, gia đình đã luôn tạo điều kiện, ủng hộ về mọi mặt để tôi hoàn thành luận văn
Đặc biệt tôi xin cảm ơn thầy PGS.TS Trịnh Đình Thắng đã tận tình
hướng dẫn, chỉ bảo tôi trong suốt quá trình học tập, nghiên cứu đề tài và giúp tôi hoàn thành bản luận văn này
Hà Nội, ngày tháng năm 2017
Học viên
Nguyễn Anh Thắng
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đây là kết quả nghiên cứu của tôi dưới sự hướng dẫn
khoa học của PGS TS Trịnh Đình Thắng
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được
ai công bố trong bất kỳ công trình nào khác
Học viên
Nguyễn Anh Thắng
Trang 5MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 2
3 Nhiệm vụ nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 2
5 Phương pháp nghiên cứu 2
6 Những đóng góp của đề tài 2
7 Cấu trúc luận văn 2
CHƯƠNG 1MÔ HÌNH DỮ LIỆU QUAN HỆ 4
1.1 Mô hình dữ liệu quan hệ 4
1.1.1 Thuộc tính và miền thuộc tính 4
1.1.2 Quan hệ, lược đồ quan hệ 4
1.2 Các phép toán đại số quan hệ 5
1.2.1 Phép hợp 6
1.2.2 Phép giao 6
1.2.3 Phép trừ 6
1.2.4 Tích Đề-các 7
1.2.5 Phép chiếu 8
1.2.6 Phép chọn 8
1.2.7 Phép kết nối 9
1.2.8 Phép chia 10
1.3 Phụ thuộc hàm 11
1.3.1 Khái niệm phụ thuộc hàm 11
1.3.2 Định nghĩa phụ thuộc hàm 11
1.3.3 Các tính chất của phụ thuộc hàm 11
1.3.4 Hệ tiên đề Amstrong 12
1.3.5 Các hệ tiên đề khác cho phụ thuộc hàm 14
1.4 Khóa và bao đóng của lược đồ quan hệ 15
Trang 61.4.1 Khóa của lược đồ quan hệ 15
1.4.2 Bao đóng của tập phụ thuộc hàm và tập thuộc tính 16
1.4.3 Bài toán thành viên 19
Kết luận chương 1 21
CHƯƠNG 2MÔ HÌNH DỮ LIỆU DẠNG KHỐI 22
2.1 Khối, lược đồ khối và lát cắt 22
2.1.1 Khối, lược đồ khối 22
2.1.2 Lát cắt 24
2.2 Đại số quan hệ trên khối 26
2.2.1 Phép hợp 27
2.2.2 Phép giao 28
2.2.3 Phép trừ 28
2.2.4 Tích Đề các 29
2.2.5 Tích Đề các theo tập chỉ số 29
2.2.6 Phép chiếu 30
2.2.7 Phép chọn 30
2.2.8 Phép kết nối 31
2.2.9 Phép chia 32
2.3 Các toán tử thao tác cơ sở và các thuật toán 32
2.3.1 Các toán tử thao tác cơ sở 32
2.3.2 Thuật toán cài đặt các phép toán 34
2.3.2.1 Thuật toán hợp 34
2.3.2.2 Thuật toán giao 34
2.3.2.3 Thuật toán trừ 35
2.3.2.4 Thuật toán chiếu 35
2.3.2.5 Thuật toán chọn 36
2.3.2.6 Thuật toán kết nối tự nhiên 36
2.3.2.7 Thuật toán kết nối dài 37
2.3.2.8 Thuật toán chia 38
Trang 72.3.3 Đánh giá độ phức tạp thời gian của các thuật toán 40
2.4 Phụ thuộc hàm 42
2.5 Khóa và bao đóng trong lược đồ khối 44
2.5.1 Bao đóng của tập thuộc tính chỉ số 44
2.5.2 Khóa của lược đồ khối R đối với tập F trên R 47
Kết luận chương 2 51
CHƯƠNG 3 MỘT SỐ TÍNH CHẤT CỦA CÁC DẠNG CHUẨN VÀ TỰA CHUẨN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI 52
3.1 Chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối 52
3.1.1 Các dạng chuẩn 52
3.1.2 Các dạng tựa chuẩn 55
3.2 Một số tính chất của các dạng chuẩn, tựa chuẩn trên khối và mối quan hệ giữa chuẩn và tựa chuẩn trên khối, trên lát cắt 57
Kết luận chương 3 65
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 67
Trang 8DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT
Trong luận văn này dùng thống nhất các ký hiệu và chữ cái viết tắt sau:
Khác Với mọi Phép giao Phép hợp Phép trừ Tập con Nằm trong Thuộc Không thuộc
Bao đóng của tập thuộc tính X
Tương đương Không tương đương Rỗng
Tồn tại
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1: Biểu diễn quan hệ r 5
Bảng 1.2: Biểu diễn quan hệ Cán bộ 5
Bảng 1.3: Bảng biểu diễn quan hệ r, s, r s 6
Bảng 1.4: Bảng biểu diễn các quan hệ r, s, r s 6
Bảng 1.5: Bảng biểu diễn các quan hệ r, s, r \ s, s \ r 7
Bảng 1.6: Bảng biểu diễn các quan hệ r, s, r× s 7
Bảng 1.7: Bảng biểu diễn các quan hệ r, s, r*s 10
Bảng 1.8: Bảng biểu diễn các quan hệ r, s, r † s 10
Bảng 2.1: Bảng biểu diễn khối điểm học viên DiemSV(R‟) 24
Bảng 2.2: Bảng biểu diễn lát cắt r(RHọc kỳ 2) 25
Bảng 2.3: Biểu diễn họ gồm 2 quan hệ r1, r2 25
Trang 10DANH MỤC CÁC HÌNH
Hình 2.1: Biểu diễn khối điểm sinh viên DiemSV(R) 23
Hình 2.2: Biểu diễn các khối r(R), s(R), t(R) 26
Hình 2.3: Biểu diễn 2 khối r, s 27
Hình 2.4: Biểu diễn các khối r, s, r s 27
Hình 2.5: Biểu diễn các khối r, s, r s 28
Hình 2.6: Biểu diễn các khối r, s, r - s 28
Hình 2.7: Biểu diễn các khối r, r’ = P(r) 30
Trang 11là: “Một số tính chất chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối”
làm luận văn cao học của mình Trong đó chủ yếu nghiên cứu, tìm hiểu thêm các tính mới của các dạng chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối, mối quan hệ giữa chuẩn và tựa chuẩn trên lƣợc đồ khối và trên lƣợc đồ lát cắt, nhằm góp phần hoàn thiện hơn lý thuyết về mô hình dữ liệu dạng khối
Trang 122 Mục đích nghiên cứu
Tìm hiểu về một số tính chất mới của các dạng chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối; mối quan hệ giữa chuẩn và tựa chuẩn trên khối và trên lát cắt
3 Nhiệm vụ nghiên cứu
Tìm hiểu về các mô hình dữ liệu
Tìm hiểu về mô hình dữ liệu dạng khối
Phát biểu và chứng minh một số tính chất mới của các dạng chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối
4 Đối tượng và phạm vi nghiên cứu
* Đối tượng nghiên cứu: Tính chất của các dạng chuẩn và tựa chuẩn
trong mô hình dữ liệu dạng khối
* Phạm vi nghiên cứu: Nghiên cứu lý thuyết về một số tính chất trong
mô hình dữ liệu dạng khối
5 Phương pháp nghiên cứu
Phương pháp tổng hợp phân tích các vấn đề có liên quan đến đề tài Phương pháp suy luận và chứng minh
7 Cấu trúc luận văn
Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và sau cùng là tài liệu tham khảo
Chương 1: Mô hình dữ liệu quan hệ
Trong chương này đã trình bày một số các khái niệm cơ bản nhất trong
mô hình dữ liệu quan hệ Làm rõ các phép toán đại số quan hệ, các khái niệm
Trang 13về phụ thuộc hàm, khóa, bao đóng của lược đồ quan hệ Ngoài ra các thuật toán tìm bao đóng của tập thuộc tính, bài toán thành viên, cũng được trình bày
Chương 2: Mô hình dữ liệu dạng khối
Chương này luận văn đã trình bày các khái niệm cơ bản trong mô hình cơ
sở dữ liệu dạng khối như: Khái niệm về khối, lược đồ khối, lát cát, đại số quan hệ trên khối, phụ thuộc hàm, các toán tử thao tác cơ sở và các thuật toán, bao đóng của tập thuộc tính chỉ số, khóa của lược đồ khối R đối với tập F trên R
Chương 3: Một số tính chất của các dạng chuẩn và tựa chuẩn của
mô hình dữ liệu dạng khối
Chương này giới thiệu về các dạng chuẩn, tựa chuẩn trong mô hình dữ liệu dạng khối; trên cơ sở đó trình bày một số tính chất mới của các dạng chuẩn
và tựa chuẩn, mối quan hệ giữa chuẩn và tựa chuẩn trên lược đồ khối và trên lược đồ lát cắt
Trang 14CHƯƠNG 1
MÔ HÌNH DỮ LIỆU QUAN HỆ
Mô hình dữ liệu quan hệ đã được nhiều tác giả quan tâm nghiên cứu và cũng đã thu được nhiều kết quả tốt Mô hình dữ liệu quan hệ trình bày dưới đây
đã được trình bày trong các tài liệu [2], [4], [5]
1.1 Mô hình dữ liệu quan hệ
1.1.1 Thuộc tính và miền thuộc tính
Định nghĩa 1.1
- Thuộc tính là đặc trưng của đối tượng
- Tập tất cả các giá trị có thể có của thuộc tính Ai gọi là miền giá trị của thuộc tính đó, ký hiệu: Dom(Ai) hay viết tắt là DAi
Ví dụ 1.1
Đối tượng Cán bộ có các thuộc tính như: Mã cán bộ (MaCB), Họ và tên
(Hoten), Ngày tháng năm sinh (NS), Địa chỉ (ĐC), phòng (POG),…
Miền giá trị của các thuộc tính của đối tượng Cán bộ:
Dom (MaCB) = {char 4 } ={„CB01‟, „CB02‟, „CB03‟ };
Dom (Hoten) = {char 30 } ={„Nguyễn Văn A‟, „Trần Thị B‟ }; Dom (NS) = {date} ={„13/09/68‟, 5/12/82‟‟ };
Dom (ĐC) ={char 10 } ={„TN‟, „VT‟, „PN‟, …};
Dom (POG) = {char 30} = {„TP‟, „TTr‟, „NV, }
1.1.2 Quan hệ, lược đồ quan hệ
Trang 15Ta có thể xem một quan hệ như một bảng, trong đó mỗi hàng phần tử là một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính Biểu diễn quan hệ r thành bảng như sau:
Định nghĩa 1.3
Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa
chúng được gọi là lược đồ quan hệ
Lược đồ quan hệ R với tập thuộc tính U={A1, A2, , An} được viết là R (U) hoặc R A1, A2, , An)
1.2 Các phép toán đại số quan hệ
- Phép toán tập hợp: hợp, giao, trừ, tích Đề các
- Phép toán quan hệ: chiếu, chọn, kết nối, chia
Trang 16Phép giao của hai quan hệ khả hợp r và s, kí hiệu là r s, là tập tất cả các
bộ thuộc cả hai quan hệ r và s Ta có : r s = {t│ t ∈ r ∧ t ∈s}
Trang 181.2.5 Phép chiếu
Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U={A1, A2, ,
An}, X là tập con của U Phép chiếu của quan hệ r trên tập thuộc tính X, kí hiệu
là x (r) , là tập các bộ của r xác định trên tập thuộc tính X Ta có :
Biểu thức chọn F đƣợc định nghĩa là một tổ hợp logic của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính hoặc
Trang 19giữa một biến là một thuộc tính và một giá trị hằng Biểu thức chọn F cho giá trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra riêng bộ đó
- Các phép toán so sánh trong biểu thức F: >, <, =, ≥, ≠, ≤
- Các phép toán logic trong biểu thức F: (và), hoặc , phủ định Cho
r là một quan hệ và F là một biểu thức logic trên các thuộc tính của r Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là F (r), là tập tất cả các bộ của r thoả mãn F Ta có : F (r)= {t│ t∈r F(t)}
Cho 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 r*s, cho ta quan hệ giữ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) = r*s= {u*v│ur, vs, u.M= v.M}
Nếu M= UV=Ф, r*s sẽ cho ta tích Đề-các, trong đó mỗi bộ của quan hệ
r sẽ đƣợc ghép với mọi bộ của quan hệ s
Trang 20vs thì khi ghép bộ t với bộ v ta đƣợc một bộ thuộc r
Trang 211.3 Phụ thuộc hàm
1.3.1 Khái niệm phụ thuộc hàm
Khi xét đến mối quan hệ giữa dữ liệu trong CSDL quan hệ 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 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 khác Sử dụng các phụ thuộc hàm để chuẩn hóa lƣợc đồ quan hệ về dạng chuẩn
3 hoặc chuẩn Boye-Codd
1.3.2 Định nghĩa phụ thuộc hàm
Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U, và X, Y ⊆ U Nói rằng, X xác định hàm Y hay Y phụ thuộc hàm vào X và kí hiệu X → Y nếu với mọi quan hệ r xác định trên R và với hai bộ bất kỳ t1, t2 ∈ R mà t1(X)= t2(X) thì
t1(Y) = t2(Y)
1.3.3 Các tính chất của phụ thuộc hàm
Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U = {A1, A2, , An}, cho X, Y, Z, W ⊆ U thì ta có một số tính chất cơ bản của các phụ thuộc hàm nhƣ sau:
Trang 22Vậy từ t1(X) = t2(X) ⇒ t1(Y) = t2(Y)
2 Với mọi t1, t2 r(R) và t1(XW) = t2(XW), cần chứng minh
t1(YW)= t2(YW)
Phản chứng: Giả sử t1 YW ≠ t2(YW)
Theo giả thiết có t1(XW) = t2(XW) ⇒ t1(X)= t2(X)
t1(W)= t2(W)
Trang 23Nên để có: t1(YW) ≠ t2(YW) thì t1 Y ≠ t2(Y)
Nhƣng cũng theo giả thiết ta lại có X → Y nên t1(X) = t2(X) ⇒
t1(Y) = t2(Y) (mâu thuẫn) ⇒ t1(YW)= t2(YW)
Vậy từ t1(XW) = t2(XW) ⇒ t1(YW)= t2(YW)
3 Với mọi t1, t2 r(R) và t1(X) = t2 X , cần chứng minh t1(Z) = t2(Z)
Phản chứng: Giả sử t1 Z ≠ t2(Z)
Theo giả thiết X → Y nên t1(X) = t2(X) ⇒ t1(Y) = t2(Y)
Mặt khác, cũng theo giả thiết có Y → Z nên t1(Y) = t2(Y) ⇒ t1(Z) =
Xét quan hệ r gồm hai bộ t1, t2 nhƣ sau:
là có giá trị 1 còn lại là giá trị 0
Ta chứng tỏ rằng, với mọi phụ thuộc hàm của F đều thỏa mãn trên r
Thật vậy, giả sử W → V F không thỏa mãn trên r Nhƣ vậy, W X+, vì nếu không sẽ vi phạm tính bằng nhau của W trên hai bộ t1 và t2 Hơn nữa, V không thể là tập con của X+, bởi vì nếu V X+ thì W → V sẽ thỏa mãn trên r Vậy phải có ít nhất một thuộc tính A X+ Theo tính chất phản xạ nếu W X+
Trang 24thì X → W, mà W → V nên X → V theo tính chất bắc cầu Do A X+ nên X
→ A hay A X+ Điều đó là vô lý, bởi vì A X+
Kết luận với mọi phụ thuộc hàm F đều thỏa mãn trên r
Tiếp theo ta chứng tỏ rằng X → Y không thỏa mãn trên r
Thật vậy, giả sử X → Y thỏa mãn trên r (R) Như vậy X X+ và Y X+,
vì nếu không sẽ vi phạm sự bằng nhau trên các bộ t1, t2 của X và Y Nhưng nếu
Y X+ thì X → Y sẽ suy diễn được từ F theo tính chất phản xạ Điều này mâu thuẫn với giả thiết X → Y không suy diễn được từ F Như vậy X → Y không thể thỏa mãn trên r
Kết luận X → Y không thỏa mãn trên r
1.3.5 Các hệ tiên đề khác cho phụ thuộc hàm
Gọi R là quan hệ trên tập thuộc tính U Khi đó với các tập thuộc tính X, Y,
Z, W ⊆ U ta có các hệ tiên đề tương đương với hệ tiên đề Amstrong như sau:
Trang 251.4 Khóa và bao đóng của lƣợc đồ quan hệ
1.4.1 Khóa và siêu khóa trên lược đồ quan hệ
2 Không tồn tại Z K sao cho (Z U) F+
Hai điều kiện trên khẳng định các thuộc tính không khóa phụ thuộc đầy
đủ vào khóa Từ định nghĩa trên có thể suy ra rằng K là khóa của lƣợc đồ quan
hệ khi và chỉ khi nó thỏa mãn hai điều kiện:
- K+ = U
- (K – A)+ U ; A K
Các tính chất của khóa trong lƣợc đồ quan hệ
1) Tính chất 1 (Tính chất đặc trưng của các thuộc tính khóa)
Cho K là một khóa của lƣợc đồ quan hệ a = (U, F) ; khi đó với mọi tập con X của K ta có X+ K = X
2) Tính chất 2 (Công thức tính giao các khóa)
Cho lƣợc đồ quan hệ a = (U, F); với U là tập các thuộc tính, F là tập của phụ thuộc hàm, UI là giao các khóa của lƣợc đồ quan hệ a Khi đó ta có :
Trang 261.4.2 Bao đóng của tập phụ thuộc hàm và tập thuộc tính
Định nghĩa 1.6 Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc
hàm F kí hiệu F+
là tập lớn nhất chứa các phụ thuộc hàm đƣợc suy diễn
từ các phụ thuộc hàm thuộc F Vậy F+ = {f │F ╞ f }
Định nghĩa 1.7 Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U,
cho XU, tập các phụ thuộc hàm F Bao đóng của tập thuộc tính X đối với
F kí hiệu X+
là tập tất cả các thuộc tính A mà X → A đƣợc suy diễn từ F
Ta có :
X+ = {A│X → A F+}
Đôi khi ta kí hiệu XF+
để lấy bao đóng của X theo tập phụ thuộc hàm F
Thuật toán 1.1: Tìm bao đóng của tập thuộc tính
Cho tập phụ thuộc hàm 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:
Input: - Tập phụ thuộc hàm F trên U
- Tập con thuộc tính X của U Output: - Y = X+ = {A│X → A F+}
Trang 27Mà theo luật phản xạ X⊆Y ⇒Y → X (2)
Vậy từ 1 và 2 ta suy ra Y→ A ⇒ A∈ Y+
Trang 28theo tính chất 3, suy ra: X→ Y luật bắc cầu
Trang 298 Chứng minh X→ Yvà Y→ X X+= Y+ ta có:
a Giả sử có X→ Y và Y→ X ta cần chứng minh X+ =Y+
mà Y+⊆ X+⇒Y ⊆ X+⇒ X→Y theo tính chất 7
1.4.3 Bài toán thành viên
Bài toán thành viên:
Nói rằng X → Y là thành viên của F nếu X → Y ∈ F+
Một vấn đề quan trọng khi nghiên cứu lý thuyết cơ sở dữ liệu là khi cho trước tập các phụ thuộc hàm F và một phụ thuộc hàm X → Y, làm thế nào để biết X → Y ∈ F+
hay không, bài toán này được gọi là bài toán thành viên
Để trả lời câu hỏi này ta có thể tính F+
rồi xác định xem X → Y có thuộc
F+ hay không Việc tính F+ là một công việc đòi hỏi thời gian và công sức Tuy nhiên, thay vì tính F+
chúng ta có thể dùng tính chất của bao đóng của tập thuộc tính X để xác định X → Y có là thành viên của F+
hay không
Đó là: X → Y ∈ F+⇔ Y ⊆ X+
Ta chứng minh điều này
Giả sử Y= {Ai1, Ai2, ,Aik}{A1…An} với A1…An là các thuộc tính và Y
⊆ X+
Từ định nghĩa X+ ta có X → A , áp dụng hệ tiên đề Amstrong cho mỗi
i suy ra X → Y nhờ luật hợp
Ngược lại, giả sử ta có X → Y, áp dụng hệ tiên đề Amstrong cho mỗi i ta
có X → Ai, Ai∈Y nhờ luật tách, suy ra Ai ∈ X+ Từ đó , suy ra Y ⊆ X+
Trang 30
Vậy X → Y ∈ F+ khi và chỉ khi Y ⊆ X+
Thuật toán 1.2: isMember(f,F)
Algorithm isMember
Format: isMember(f,F)
Input: Tập phụ thuộc hàm F và phụ thuộc hàm f
Output: True nếu f F; False trong trường hợp phủ định
Method isMember:=(RS(f) Baodong(LS(f),F);
end isMember
Trang 31Kết luận chương 1
Trong chương này đã trình bày một số các khái niệm cơ bản nhất trong mô hình dữ liệu quan hệ; làm rõ các phép toán đại số quan hệ, các khái niệm về phụ thuộc hàm, khóa, bao đóng, Ngoài ra các thuật toán tìm bao đóng của tập thuộc tính, bài toán thành viên, cũng được trình bày
Trang 32CHƯƠNG 2
MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Để mở rộng và khắc phục phần nào những nhược điểm của mô hình dữ liệu quan hệ, chương này đưa ra một mô hình dữ liệu mới, gọi là mô hình cơ sở dữ liệu dạng khối Mô hình này là một mở rộng của mô hình dữ liệu quan hệ, giúp biểu diễn thế giới thực trong quá trình vận động một cách tự nhiên hơn Các vấn đề được trình bày ở chương này đã được trích dẫn trong các tài liệu [6], [7], [8]
2.1 Khối, lược đồ khối và lát cắt
2.1.1 Khối, lược đồ khối
Khái niệm toán học làm nền tảng cho mô hình cơ sở dữ liệu dạng khối (gọi tắt là mô hình khối) là các khối hiểu theo nghĩa của lý thuyết tập hợp Khối được định nghĩa như sau:
Định nghĩa 2.1
Gọi R = (id; A1, A2, , An) là một bộ hữu hạn các phần tử, trong đó: id là tập chỉ số hữu hạn khác rỗng, Ai (i=1 n) là các thuộc tính Mỗi thuộc tính Ai(i=1 n) có miền giá trị tương ứng là dom(Ai) Một khối r trên tập R, kí hiệu r(R) gồm một số hữu hạn phần tử mà mỗi phần tử là một họ các ánh xạ từ tập chỉ số id đến các miền trị của các thuộc tính Ai, (i=1 n) Nói một cách khác: t r(R) t={ti: id
dom(Ai)} i =1 n Ta kí hiệu khối đó là r(R) hoặc r(id; A1, A2, , An), đôi khi nếu không sợ nhầm lẫn ta kí hiệu đơn giản là r
Khi đó khối r(R) được gọi là có lược đồ khối R Như vậy, trên cùng một lược đồ khối R ta có thể xây dựng được nhiều khối khác nhau
Ví dụ 2.1: Ta xây dựng khối điểm sinh viên (ký hiệu DiemSV(R)) (hình
2.1) để quản lý điểm của sinh viên trong một trường đại học như sau:
Trang 33Cho lược đồ khối R = (id; A1, A2, A3, A4) , trong đó: id = {Học kỳ 1, Học
kỳ 2, }, và các thuộc tính là A1 = Ma (mã), A2 = Ten (tên), A3 = GT (giới
tính), A4 = Van (Văn), A5 = Toan (Toán)
Với khối DiemSV(R) ở hình 2.1 dưới đây, ta thấy nógồm 3 phần tử: t1 , t2 , t3
Hình 2.1: Biểu diễn khối điểm sinh viên DiemSV(R)
Trang 34R‟=(id‟;A1, A2, A3, A4) với id‟= {Học kỳ 1}, và các thuộc tính là
A1=Ma(mã), A2 =Ten (tên), A3 =GT(giới tính), A4=Van (Văn), A5 =Toan (Toán)
Khi đó khối DiemSV có dạng:
Bảng 2.1: Bảng biểu diễn khối điểm học viên DiemSV(R’)
Nhƣ vậy, trong ví dụ này ta thấy khối DiemSV có dạng một quan hệ trong
mô hình dữ liệu quan hệ
2.1.2 Lát cắt
Cho R = (id; A1, A2, , An), r(R) là một khối trên R Với mỗi x id ta kí
hiệu r(Rx) là một khối với Rx = ({x}; A1, A2, , An) sao cho:
tx r(Rx ) tx = {tix = ti }i=1 n, với t r(R),
x và t = {ti : id dom(Ai)} =1 n, ở đây tix(x) = ti(x) với i=1 n
Khi đór(Rx) đƣợc gọi là một lát cắt trên khối r(R) tại điểm x
Ví dụ 2.3: Với khối DiemSV(R) đã cho ở hình 2.1, R=(id; A1, A2, A3, A4,
A5) trong đó: id = {Học kỳ 1, Học kỳ 2, }
A1 = ma, A2 = ten, A3 = GT, A4 = Van, A5 = Toan
Nếu x = Học kỳ 2 id thì lát cắt r(RHọc kỳ 2)có dạng nhƣ sau:
Trang 35r(RHọc kỳ 2) : Ma Ten GT Van Toan
Như vậy mỗi quan hệ r(A1, A2, , An) là một trường hợp đặc biệt của khối, đó chính là khối r(R) với R = ({x}; A1, A2, , An )
Mệnh đề 2.2
Cho R = (id; A1, A2, , An), r(R) là một khối trên R, khi đó tồn tại một
họ quan hệ duy nhất biểu diễn họ {r(Rx)}x id các lát cắt của khối r(R) Ngược lại không đúng, nghĩa là với một họ quan hệ cho trước biểu diễn họ các lát cắt của một khối nào đó thì khối tìm được không duy nhất
Chứng minh:
Với khối r(R) cho trước thì họ quan hệ phải tìm chính là họ các lát cắt của khối r(R)
Điều ngược lại không đúng, để khẳng định ta xét trường hợp sau: Giả sử
ta có một họ gồm 2 quan hệ {r1(A,B,C), r2(A,B,C)}:
Trang 36Khi đó, ta có chẳng hạn các khối sau đây nhận họ hai quan hệ {r1, r2} nói trên là họ các lát cắt của n:
Hình 2.2: Biểu diễn các khối r(R), s(R), t(R)
Như vậy, sự tồn tại của khối có họ các lát cắt là họ các quan hệ {r1 , r2} nói trên là không duy nhất
2.2 Đại số quan hệ trên khối
Cho r là một khối trên R = (id; A1, A2, , An), ở đây ta giả thiết rằng r là một khối gồm một tập hữu hạn các phần tử Cũng tương tự như đại số quan hệ trong mô hình cơ sở dữ liệu quan hệ, ở đây các phép toán của đại số quan hệ lại được áp dụng cho các khối; bên cạnh đó còn có thêm phép toán mới được xây dựng đó là: tích Đề các theo tập chỉ số
Đối với các phép hợp, giao và trừ thì hai khối tham gia phải là khả hợp (nghĩa là chúng có cùng một lược đồ khối)
Cho 2 khối r(R) và s(R) như hình vẽ dưới đây ta thấy hai khối này cùng lược đồ khối: R = (id ; A1, A2, A3, A4); id = {x1, x2}
Trang 37Hình 2.3: Biểu diễn 2 khối r, s
2.2.1 Phép hợp
Cho hai khối r và s khả hợp, khi đó hợp của r và s, kí hiệu r s là một khối gồm các phần tử thuộc một trong hai khối r và s đã cho Ta có :
r s = {t | t r hoặc t s}
Ví dụ 2.4: Cho 2 khối r và s nhƣ sau:
Hình 2.4: Biểu diễn các khối r, s, r s
Trang 382.2.2 Phép giao
Cho hai khối r và s khả hợp, khi đó giao của r và s là một khối, kí hiệu r s
mà các phần tử của nó thuộc đồng thời cả hai khối r và s đã cho.Ta có: r s = {t | t
Cho hai khối r và s khả hợp, khi đó hiệu của r và s là một khối, kí hiệu r - s,
mà các phần tử của n thuộc r nhƣng không thuộc s Ta có : r - s = {t | t r và t s}
Ta có mối quan hệ giữa phép giao và phép trừ: r s = r - (r - s)
Ví dụ 2.6: Cho 2 khối r và s nhƣ sau:
Hình 2 6: Biểu diễn các khối r, s, r - s
Trang 39tử thuộc r, còn m ánh xạ sau có dạng một phần tử thuộc s
Biểu diễn hình thức của tích Đề các có dạng:
t2, , tn ) với ti : id ∐ id‟ Ai , i = 1 n, mỗi ánh xạ này đƣợc cảm sinh từ 2 ánh
Trang 402.2.6 Phép chiếu
Cho R = (id; A1, A2, , An), r là một khối trên R
Khi đó ta gọi P = (id‟; Ai1, Ai2, , Aih) là lƣợc đồ con của lƣợc đồ R nếu id‟ id, Aij {A1, A2, , An}, j = 1 h
Một phép chiếu của khối r trên lƣợc đồ con P, kí hiệu P(r), là một khối
có lƣợc đồ P và mỗi phần tử thuộc khối này có dạng: