Theo hướng nghiên cứu này một mô hình mới đã được đề xuất, đ là mô hình dữ liệu dạng khối, mô hình này là mở rộng của mô hình dữ liệu quan hệ, ngày càng c nhiều người quan tâm và đã c nh
Trang 1LUẬN VĂN THẠC SĨ MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng
Trang 2LỜ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 10 tháng 7 năm 2016
Học viên
Đoàn Việt Tuân
Trang 3LỜ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
Đoàn Việt Tuân
Trang 4MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
CHƯƠNG 1: MÔ 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ệ 6
1.2.1 Phép hợp 6
1.2.2 Phép giao 6
1.2.3 Phép trừ 7
1.2.4 Tích Đề-các 7
1.2.5 Phép chiếu 8
1.2.6 Phép chọn 9
1.2.7 Phép kết nối 10
1.2.8 Phép chia 11
1.3 Phụ thuộc hàm 12
1.3.1 Khái niệm phụ thuộc hàm 12
1.3.2 Định nghĩa phụ thuộc hàm 12
1.3.3 Các tính chất của phụ thuộc hàm 12
Trang 51.3.4 Hệ tiên đề Amstrong 13
1.3.5 Các hệ tiên đề khác cho phụ thuộc hàm 15
1.4 Bao đ ng 16
1.4.1 Bao đ ng của tập phụ thuộc hàm và tập thuộc tính 16
1.4.2 Bài toán thành viên 20
CHƯƠNG 2: MÔ 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 Các ph p tính trên khối 26
2.2.1 Phép chèn 26
2.2.2 Ph p loại bỏ 27
2.2.3 Ph p sửa đổi 27
2.3 Đại số quan hệ trên khối 27
2.3.1 Ph p hợp 28
2.3.2 Phép giao 29
2.3.3 Ph p trừ 29
2.3.4 Tích Đề các 30
2.3.5 Tích Đề các theo tập chỉ số 30
2.3.6 Ph p chiếu 31
2.3.7 Ph p chọn 32
2.3.8 Ph p kết nối 32
2.3.9 Phép chia 33
Trang 62.4 Phụ thuộc hàm 34
2.5 Bao đ ng của tập thuộc tính chỉ số 35
CHƯƠNG 3: α – BAO ĐÓNG VÀ PHÉP DỊCH CHUYỂN LƯỢC ĐỒ KHỐI 39
3.1.α - phụ thuộc hàm và α – bao đ ng trong mô hình dữ liệu dạng khối 39
3.1.1 Khái niệm xấp xỉ mức α [9] 39
3.1.2 α - phụ thuộc hàm và α – bao đ ng trên khối [9] 41
3.2 Ph p dịch chuyển lược đồ khối 50
3.2.1 Định nghĩa ph p dịch chuyển lược đồ khối [9] 50
3.2.2 Thuật toán dịch chuyển lược đồ khối [9] 52
3.3 Mối quan hệ giữa α – bao đ ng và ph p dịch chuyển lược đồ khối 53
TÀI LIỆU THAM KHẢO 60
Trang 7DANH 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:
╞ Suy dẫn theo tiên đề (theo logic)
Trang 8DANH 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 ví dụ học sinh 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 quan hệ r, s, r s 7
Bảng 1.5: Bảng biểu diễn 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 8
Bảng 1.7: Bảng biểu diễn các quan hệ r, s, r*s 11
Bảng 1.8: Bảng biểu diễn các quan hệ r, s, r ÷ s 12
Bảng 2.1: Bảng biểu diễn khối điểm học viên DiemHV(R‟)……… 24
Bảng 2.2: Bảng biểu diễn lát cắt r(RHọc kỳ 2) 24
Bảng 2.3: Biểu diễn họ gồm 2 quan hệ r1, r2 25
Trang 9DANH 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 28
Hình 2.4: Biểu diễn các khối r, s, r s 28
Hình 2.5: Biểu diễn các khối r, s, r s 29
Hình 2 6: Biểu diễn các khối r, s, r \ s 30
Hình 2.7: Biểu diễn các khối r, r‟ = P(r) 32
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Trong thời đại Công nghệ Thông tin hiện nay đang c những bước tiến mạnh mẽ, 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 với những 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 Muốn xây dựng được một hệ thống cơ sở dữ liệu tốt người ta thường sử dụng các mô hình dữ liệu thích hợp Đã c rất nhiều mô hình được sử dụng trong các
hệ thống cơ sở dữ liệu như: mô hình thực thể - liên kết, mô hình mạng, mô hình phân cấp, mô hình hướng đối tượng, mô hình dữ liệu datalog và mô hình quan
hệ Trong đ thì mô hình quan hệ được quan tâm hơn cả vì n được xây dựng trên cơ sở toán học chặt chẽ - đ là lí thuyết toán học về các quan hệ c áp dụng rộng rãi các công cụ đại số và logic Tuy nhiên, mô hình này chưa đủ đáp ứng đối với các ứng dụng phức tạp, các cơ sở dữ liệu c cấu trúc phi tuyến
Trong những năm gần đây, nhằm mở rộng mô hình dữ liệu quan hệ đã được nhiều nhà khoa học nghiên cứu Theo hướng nghiên cứu này một mô hình mới đã được đề xuất, đ là mô hình dữ liệu dạng khối, mô hình này là
mở rộng của mô hình dữ liệu quan hệ, ngày càng c nhiều người quan tâm và
đã c những đ ng g p nhất định để bổ sung vào lý thuyết các mô hình dữ liệu Tuy nhiên mô hình này mới xây dựng nên chưa hoàn thiện và hiện đang được quan tâm nghiên cứu
Với mong muốn tìm hiểu sâu hơn về những kiến thức đã học, mối quan
hệ và những ứng dụng của mô hình dữ liệu dạng khối Vì vậy tôi chọn đề tài:
“α - bao đóng và phép dịch chuyển lược đồ khối” để nghiên cứu
Trang 112 Mục đích nghiên cứu
Tìm hiểu khái quát về các phụ thuộc dữ liệu dạng khối sau đ đi sâu và nghiên cứu một số tính chất của α - bao đ ng và ph p dịch chuyển lược đồ khối
3 Nhiệm vụ nghiên cứu
Tìm hiểu về mô hình cơ sở dữ liệu quan hệ
Tìm hiểu vê mô hình dữ liệu khối
Tìm hiểu về α - bao đ ng và ph p dịch chuyển lược đồ khối
4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
α - bao đ ng trong mô hình dữ liệu dạng khối
Mối quan hệ giữa α - bao đ ng và ph p dịch chuyển lược đồ khối
Phạm vi nghiên cứu
α - bao đ ng và ph p dịch chuyển lược đồ 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 lý luận & chứng minh
6 Những đóng góp của đề tài
Phát biểu và chứng minh mối quan hệ giữa α - bao đ ng và ph p dịch chuyển lược đồ khối
7 Cấu trúc của 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à tài liệu tham khảo
Chương 1: Mô hình cơ sở dữ liệu quan hệ
Chương này giới thiệu các khái niệm về thuộc tính, miền thuộc tính, quan hệ, lược đồ, kh a của quan hệ Trình bày các ph p toán đại số quan hệ, phụ thuộc hàm, bao đ ng trong mô hình quan hệ
Trang 12Chương 2: Mô hình cơ sở dữ liệu dạng khối
Chương này trình bày các khái niệm cơ bản về mô hình dữ liệu dạng khối như: định nghĩa khối, lát cắt, lược đồ khối, đại số trên khối, kh a của khối, phụ thuộc hàm trên khối
Chương 3: α – bao đóng và phép dịch chuyển lược đồ khối
Trong chương này đã trình bày khái niệm mức xấp xỉ α Từ đ đưa ra khái niệm α – phụ thuộc hàm và α – bao đ ng Đồng thời phát biểu và chứng minh một số tính chất của α – phụ thuộc hàm và α – bao đ ng Tiếp theo là
ph p dịch chuyển lược đồ khối Cuối cùng là mối quan hệ giữa α – bao đ ng
và ph p dịch chuyển lược đồ khối
Trang 13CHƯƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ
Mô hình dữ liệu quan hệ là một trong những mô hình được quan tâm nhiều nhất hiện nay Nhiều tác giả đã quan tâm nghiên cứu và đã thu được các kết quả tốt Mô hình dữ liệu quan hệ sẽ được trình bày trong phần dưới đây
Để hiểu rõ hơn về mô hình dữ liệu quan hệ đã được n i tới trong 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
(j=1, 2, …, m) là một hàm:
Trang 14sao cho hj (Ai) DAi (i=1, 2, ,n)
Ta 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à
Trang 15R(U) hoặc R(A1, A2, , An)
1.2 Các phép toán đại số quan hệ
Ph p hợp 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 r hoặc thuộc s Ta c : r s = {t│ t ∈ r ∨t ∈s}
Trang 16s kí hiệu là r x s, là tập tất cả các (m+n) - bộ c n thành phần đầu tiên là một
bộ thuộc r và m thành phần sau là một bộ thuộc s Ta c :
r × s = {t=(a1, a2, , an, b1, b2, , bm)│(a1, a2, , an) ∈r (b1 b2, , bm) ∈s}
Trang 17Ví dụ 1.6:
1.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 :
Trang 18Biể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 giữ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ộ đ
Trang 19- 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)}
P(UV)= r*s= {u*v│u∈r, v∈s, 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 20bộ vs thì khi gh p bộ t với bộ v ta được một bộ thuộc r
Trang 21r ÷ s C D
x1 2
Bảng 1.8: Bảng biểu diễn các quan hệ r, s, r ÷ s
1.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:
TC1: Tính phản xạ
Nếu Y ⊆ X thì X → Y
Trang 23Thật vậy, từ giả thiết t1(X) = t2(X) mà Y X suy ra t1(Y) = t2(Y)
Vậ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) Nê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) = t2(Z) (mâu thuẫn)
Xét quan hệ r gồm hai bộ t1, t2 như sau:
Trang 24Trong đ , các thuộc tính trong t1 đều có giá trị 1, các thuộc tính trong t2
chỉ có các thuộc tính thuộc X+ 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 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+ thì 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 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 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:
Hệ tiên đề B 0
Nếu X → YZ thì X → Y Nếu X → YZ và Z → AW thì X → YZW
Hệ tiên đề S 0
Nếu Y ⊆X thì X → Y Nếu X → Y và YZ → V thì XZ → V
Trang 25Hệ tiên đề D 0
Nếu X → Y và Y → Z thì X → Z Nếu X → Y và Z → W thì XZ → YW
Hệ tiên đề M 0
Nếu X → Y và YZ → V thì XZ → V Nếu X → Y thì XZ → Y
1.4 Bao đóng
1.4.1 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+
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
Xuất phát: Đặt X(0)
= X, Với i > 0, ta đặt X(i+1)
Trang 26Format: Baodong(X,F) 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 27
Ta có A ∈ X+⇒X → A(1)
Mà theo luật phản xạ X⊆Y ⇒Y → X (2)
Vậy từ (1) và (2) ta suy ra Y→ A ⇒ A∈ Y+
3) Giả sử X+
=A1A2 Ak
Do A1∈ X+ta c X → A1 Tương tự: X → A2
X → AkTheo luật hợp ta c X → A1A2 Ak⇒X → X+
X+⊆ X+
Y (1)
Trang 28ta cần chứng minh X→Y
Do Y ⊆ X+⇒X+
→ Y(luật phản xạ)
Mặt khác: X→ X+(theo tính chất 3)
Suy ra: X→ Y(luật bắc cầu)
8) 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+
Trang 29mà Y+⊆ X+⇒Y ⊆ X+⇒ X→Y (theo tính chất 7)
1.4.2 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 → Ai, á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+
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)
Trang 30Input: 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
Kế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, 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 31CHƯƠ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 quan hệ n i trên, chương này đưa ra một mô hình cơ sở dữ liệu khác gọi là
mô hình cơ sở dữ liệu dạng khối
Mô hình này 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 2 đã được nói trong các tài liệu [4,5]
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:
Cho 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)
Trang 32Vớ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
Ví dụ 2.2: Từ ví dụ 2.1 ở trên, ta xây dựng một khối mới với tên điểm học
viên ký hiệu DiemHV(R‟) Ở đây R‟ được xác định như sau:
R‟=(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)
Trang 33Khi đ khối DiemHV c dạng:
Bảng 2.1: Bảng biểu diễn khối điểm học viên DiemHV(R’)
Như vậy trong ví dụ này ta thấy khối DiemHV 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)} i =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:
Bảng 2.2: Bảng biểu diễn lát cắt r(R Học kỳ 2 )
Trang 34Mệnh đề 2.1
Cho R = (id; A1, A2, , An), r(R) là một khối trên R Với mỗi x id thì lát cắt r(Rx) là một quan hệ Trong trường hợp tập chỉ số id chỉ gồm một phần tử thì r(R) trở thành một quan hệ
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
Bảng 2.3: Biểu diễn họ gồm 2 quan hệ r 1, r 2
Khi đ , 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 :
Trang 35
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
Cho R= (id ; A1, A2,…,An), r(R ) là một khối trên R
Khi chèn thêm một phần tử t0 vào khối r ta c :
r = r ∪ {t0}, ở đ t0 = (t10,t20, …,tn
0)
INSERT(r, t10, t20,…, tn
0)
Trang 362.2.2 Phép loại bỏ
Cho R = (id ; A1, A2,….,An), r(R) là một khối trên R
Ph p loại bỏ là ph p xoá một phần tử ra khỏi một khối cho trước Chẳng hạn loại bỏ một phần tử t0 ra khỏi khối r(R) c dạng:
2.3 Đạ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.3.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