Một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồ quan hệ 19 CHƯƠNG 2.. Ở mô hình này, các khái niệm cơ bản của khối được mở rộng từ các quan hệ trong mô hình quan hệ, các khối
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
BÙI NHƯ NGỌC
CÁC DẠNG BIỂU DIỄN CỦA KHÓA QUA PHÉP DỊCH CHUYỂN LƯỢC
ĐỒ KHỐI
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
HÀ NỘI - 2018
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
BÙI NHƯ NGỌC
CÁC DẠNG BIỂU DIỄN CỦA KHÓA QUA PHÉP DỊCH CHUYỂN LƯỢC
ĐỒ KHỐI
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
Người hướng dẫn khoa học
PGS TS Trịnh Đình Thắng
HÀ NỘI - 2018
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là khóa luận tốt nghiệp nghiên cứu độc lập của riêngtôi Các định nghĩa, trích dẫn đã có nguồn gốc rõ ràng, được công bố đúng theoquy định của pháp luật Các ví dụ, nghiên cứu trong khóa luận tốt nghiệp do tôi
tự tìm hiểu một cách trung thực, khách quan Nếu có tranh chấp gì, tôi xin đượcchịu hoàn toàn trách nhiệm
Sinh viên nghiên cứu
Bùi Như Ngọc
Trang 4LỜI CẢM ƠN
Trân trọng cảm ơn giảng viên hướng dẫn PGS.TS Trịnh Đình Thắng,
các thầy giáo, cô giáo giảng viên khoa Công nghệ thông tin trường Đại học Sưphạm Hà Nội 2 đã tạo điều kiện tốt nhất để tôi có thể thực hiện khóa luận tốtnghiệp
Sinh viên nghiên cứu
Bùi Như Ngọc
Trang 5MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1 MÔ HÌNH DỮ LIỆU QUAN HỆ 3
1.1 Các khái niệm 3
1.2 Các phép toán trên lược đồ quan hệ 5
1.3 Phụ thuộc hàm 11
1.4 Bao đóng của tập phụ thuộc hàm và tập thuộc tính 13
1.5 Khóa của lược đồ quan hệ 17
1.6 Phép dịch chuyển lược đồ quan hệ 17
1.7 Một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồ quan hệ 19 CHƯƠNG 2 MÔ HÌNH DỮ LIỆU DẠNG KHỐI 22
2.1 Các khái niệm 22
2.2 Các phép toán đại số trên mô hình dữ liệu dạng khối 26
2.3 Phụ thuộc hàm 34
2.4 Bao đóng của tập thuộc tính chỉ số trong lược đồ khối 35
2.5 Khóa của lược đồ khối 37
CHƯƠNG 3 KHÓA QUA PHÉP DỊCH CHUYỂN LƯỢC ĐỒ KHỐI 39
3.1 Phép dịch chuyển lược đồ khối 39
3.2 Biểu diễn khóa qua phép dịch chuyển lược đồ khối 41
3.3 Một số tính chất mở rộng của khóa qua phép dịch chuyển lược đồ khối 44 KẾT LUẬN 51
TÀI LIỆU THAM KHẢO 52
Trang 6DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẤT
Trang 7DANH MỤC CÁC BẢNG
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Biểu diễn khối BANHANG(R) 23Hình 2.2 Biểu diễn các khối r, s, r s 27
Trang 9Để đáp ứng các nhu cầu sử dụng đa dạng, rất nhiều mô hình dữ liệu đãđược ra nghiên cứu và ứng dụng Một số mô hình đang được sử dụng phổ biếntrong hệ thống cơ sở dữ liệu toàn cầu như: mô hình thực thể - liên kết, mô hìnhmạng, mô hình phân cấp, mô hình quan hệ, Trong đó, mô hình quan hệ đượcđánh giá cao hơn do nó được xây dựng trên cơ sở toán học chặt chẽ Tuy nhiên
mô hình này chưa đủ đáp ứng với các ứng dụng phức tạp
Vì vậy, người ta đã nghiên cứu và ứng dụng rộng rãi mô hình dữ liệu dạngkhối Ở mô hình này, các khái niệm cơ bản của khối được mở rộng từ các quan
hệ trong mô hình quan hệ, các khối có thể biểu diễn dữ liệu dưới dạng động, cókhả năng giải quyết các bài toán phức tạp hơn
Trong mô hình dữ liệu quan hệ cũng như mô hình dữ liệu dạng khối, việcxác định khóa là vô cùng quan trọng Phép dịch chuyển lược đồ được đề xuất vànghiên cứu nhằm giảm tính phức tạp trong việc tìm ra khóa Để góp phần hoàn
thiện thêm về mô hình dữ liệu dạng khối, em xin chọn đề tài: Các dạng biểu
diễn của khóa qua phép dịch chuyển lược đồ khối.
2 Mục đích nghiên cứu
Tìm hiểu khái quát về mô hình dữ liệu dạng khối, sau đó đi sâu tìm hiểu
và nghiên cứu một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồkhối
Trang 103 Nhiệm vụ nghiên cứu
- Tìm hiểu về mô hình dữ liệu dạng khối
- Tìm hiểu về các dạng biểu diễn của khóa qua phép dịch chuyển lược đồkhối
- Phát biểu và chứng minh một số dạng biểu diễn mới của khóa qua phépdịch chuyển lược đồ khối
- Minh họa một số ví dụ
4 Đối tượng và phạm vi nghiên cứu
Đối tượng: Khóa và phép dịch chuyển lược đồ khối.
Phạm vi: Mô hình dữ liệu dạng khối.
5 Ý nghĩa khoa học và thực tiễn của đề tài
- Biểu diễn của khóa qua phép dịch chuyển lược đồ khối
- Bổ sung thêm một số tính chất về biểu diễn khóa qua phép dịch chuyểnlược đồ khối
- Có thể sử dụng các kết quả đã có trong việc xây dựng CSDL thực tế
6 Phương pháp nghiên cứu
Phương pháp tổng hợp, phân tích các vấn đề liên quan đến đề tài
Phương pháp lý luận và chứng minh
Trang 11CHƯƠNG 1 MÔ HÌNH DỮ LIỆU QUAN HỆ
Chương 1 trình bày một số khái niệm cơ bản nhất trong mô hình dữ liệuquan hệ, các phép toán cơ bản , định nghĩa về phụ thuộc hàm, bao đóng của tậpphụ thuộc hàm, bao đóng của tập thuộc tính, các tính chất của khóa cùng vớithuật toán tìm khoá Các vấn đề trình bày ở chương 1 được tham khảo trong cáctài liệu [5], [6]
1.1 Các khái niệm
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
là DAi
Ví dụ 1.1
Đối tượng Nhân viên (NV) có các thuộc tính như: Mã nhân viên (MaNV),
Họ tên (Hoten), Ngày sinh (NS), Địa chỉ (DC)
Miền giá trị của các thuộc tính của đối tượng NV:
̅̅̅) có miền giá trị là Dom(Ai) Khi đó tập các bộ {h1, h2, , hm}, kí hiệu r,
Trang 13Bộ giá trị: (NV01, Nguyễn Thị A, 20/11/88, Hà Nội) là 1 phần tử của quan
hệ Nhanvien
Đị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ữachúng được gọi là lược đồ quan hệ
Trang 141.2 Các phép toán trên lược đồ quan hệ
1.2.1 Phép hợp
Hai quan hệ r và s được gọi là khả hợp nếu như chúng có cùng tập thuộctính và các thuộc tính cùng tên có cùng miền giá trị
Cho hai quan hệ r và s khả hợp Hợp của r và s ký hiệu r s là một quan
hệ gồm tất cả các phần tử thuộc r hoặc thuộc s Ta có: r s = {t | t r t s}
Trang 16MaNV Hoten Chucvu
U1 ∩ U2 = Ø Tích Đề - các của r và s ký hiệu là: r x s là một quan hệ trên
Cho quan hệ r xác định trên tập thuộc tính U và X U Phép chiếu của
X, ta có: X (r) = {t.X | t r}
Thực chất của phép chiếu là phép toán giữ lại một số thuộc tính của quan
hệ và loại bỏ những thuộc tính khác
Trang 17MaNV Hoten Chucvu Tienluong
Bảng 1.7 Biểu diễn quan hệ ∏
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ặcgiữ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: >, <, =, >=, <=, < >
Trang 18MaNV Hoten Chucvu Tienluong
1.2.7 Phép kết nối
Cho quan hệ r(U) và s(V) Đặt M=U ∩V 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ệ gồm các bộ được dán từ các bộ ucủ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ínhchung M của hai bộ này giống nhau
r*s = {u*v│u r, v s, u.M=v.M}
Nếu M = U ∩V = Ф, 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 19MaNV Hoten Xephang
Ta có: r † s = {t│ v s, (t, v) r}
Ví dụ 1.10
Cho bảng r và bảng s như dưới đây
Trang 20MaNV Hoten Tienluong Tienthuong
Cho lược đồ quan hệ R xác định trên tập thuộc tính U; X,Y U; r là quan
hệ trên U Ta 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 t1, t2 r mà t1(X) = t2(X) thì t1(Y) = t2(Y).
Ví dụ 1.11
Cho quan hệ
Nhanvien
Trang 21Trong quan hệ Nhanvien, dựa vào định nghĩa phụ thuộc hàm của quan hệ,
ta có quan hệ Nhanvien thỏa mãn 2 phụ thuộc hàm sau:
{Diachi} → {Khuvuc}
{MaNV} → {Hoten, Chucvu, Diachi, Khuvuc}
Các tính chất của phụ thuộc hàm
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àmnhư sau:
Trang 221.4 Bao đóng của tập phụ thuộc hàm và tập thuộc tính
1.4.1 Bao đóng của tập phụ thuộc hàm
Định nghĩa 1.5
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
Các tính chất của bao đóng của tập phụ thuộc hàm:
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, X U Bao đóng
Trang 23 R F
1.4.3 Thuật toán 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
Input: - Tập phụ thuộc hàm F trên U
- Tập con thuộc tính X của U
return Y;
EndBaodong
Trang 24trong đó n là số lượng thuộc tính trong U, m là số lượng phụ thuộc hàm trong F.
Mà theo luật phản xạ X Y ⇒Y → X (2)
X++
Trang 25Do A X++ ⇒ X+ → A (3)
Trang 26Mặt khác theo tính chất 3 ta có: X → X+ (4)
5 Ta có X XY
Theo tính chất 2 ta có X+ (XY)+ (5)Tương tự ta cũng có: Y+ (XY)+ (6)
Trang 27a) Giả sử có X→ Y và Y→ X ta cần chứng minh X+ = Y+.
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
Các tính chất của khóa trong lược đồ quan hệ
Định lý 1.1 (Đặc trưng của các thuộc tính khóa)
Định lý 1.2 (Định lý về khóa duy nhất)
1.5 Phép dịch chuyển lược đồ quan hệ
Trang 28Định nghĩa 1.8.
Cho hai LĐQH a = (U, F), b = (V, G) và tập thuộc tính M U, ta nói lược
đồ quan hệ b nhận được từ lược đồ quan hệ a qua phép dịch chuyển theo tậpthuộc tính M, nếu sau khi loại bỏ các thuộc tính của M và các phụ thuộc hàm liênquan đến M trong lược đồ quan hệ a thì thu được lược đồ b
Nếu sau khi thực hiện phép dịch chuyển theo M đối với lược đồ quan hệ a
ta thu được lược đồ quan hệ b thì ta viết: b = a\M
Thao tác loại bỏ M được thực hiện trên lược đồ quan hệ a = (U, F) để thuđược lược đồ b = (V, G) như sau:
- 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
- Với mỗi PTH X →Y trong F tạo ra một PTH X\M → Y\M cho G Thủtục này được 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
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 X→Y, X Y) thì ta loại các PTHnày khỏi G
- G chứa các PTH trùng lặp thì ta lược bớt các PTH này
Như vậy b = a\M = (U\M, F\M) được thực hiện với độ phức tạp là O(mn)
Ví dụ 1.13
Cho LĐQH a = (U, F), U = ABCDEH, F = {AE → D, A → DH, BC → E,
E → BC}, với M = ADH, Hãy xác định b = (V, G) = a\M
Theo giả thiết, ta có: a = (U, F) ⟹ b = \M = {(U\M, F\M)
V = U\M = ABCDEH\ADH = BCE; G = F\M= {BC → E, E → BC}Nhận thấy phép dịch chuyển lược đồ thỏa tính hợp thành, cụ thể là nếu a
là LĐQH trên tập thuộc tính U và X, Y là 2 tập con của U thì: a\(XY) = (a\X)\Ytrong trường hợp X và Y là hai tập con rời nhau của U ta có:
a\XY = (a\X)\Y = (a\Y)\X
Trang 29Thuật toán dịch chuyển lược đồ quan hệ
Thuật toán Translation dưới đây mô tả phép dịch chuyển một LĐQH với
Method:
LĐQH b = (V, G) = a\M
V := U\M;
G: = ∅ ;For each FD L→R in F do
1.7 Một số dạng biểu diễn của khóa qua phép dịch chuyển lược đồ quan hệ 1.7.1 Dạng biểu diễn thứ nhất của khóa
Định lý 1.3
Cho LĐQH а = (U, F), X U và LĐQH b = a\X thì:
a) Key(a) = Key(b) khi và chỉ khi X Uo
b) Key(a) = X ⊕ Key(b) khi và chỉ khi X Ui
Trang 30Ví dụ 1.14
Cho LĐQH а = (U, F) với U = ABCDEH
F = {AE → D, BC → E}
Đặt b = (V, G) với V = U\ABCH = DE,
G = F\ABCH = {E → D, ∅ →
E}
Ta có b = a\ABCH và tính được Key(a) = ABCH ⊕ Key(b) = {ABCH}
Đặt с = a\DE = (P, W) ta có P = U\DE = ABCH,
W = F\DE = {A → ∅ (loại), BC → ∅ (loại)} ≡
∅ và do đó Key(c) = ABCH Theo định lý về dạng biểu diễn thứ nhất của khóa,
1.7.2 Dạng biểu diễn thứ hai của khóa
Định lý 1.4.
Cho LĐQH а = (U, F) Khi đó mọi khóa K của a đều biểu diễn được dướidạng K = LM trong đó L là một vế trái cực tiểu của F và M là khóa của LĐQHa\L+
Ví dụ 1.15
Cho LĐQH а = (U, F) với tập thuộc tính U = ABCDEH và tập phụ thuộchàm F = {AE → D, А → C, E → ВС, АС → EH, BD → С}
A → Ø (loại), Ø → Ø (loại), H → A , A → H , D → Ø (loại)} = {A → D,
H → A, A → H} ≡ {A → DH, H → A} Dễ thấy H là một khóa của b Như vậy
Trang 31Kết luận chương 1
Chương này đã trình bày một số các khái niệm cơ bản trong mô hình dữliệu quan hệ Đó là các phép toán đại số quan hệ, các khái niệm về phụ thuộchàm, bao đóng Bên cạnh đó các thuật toán tìm bao đóng của tập thuộc tính vàthuật toán tìm khóa của lược đồ quan hệ cũng được trình bày ở trong chươngnày
Trang 32CHƯƠNG 2 MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Chương 2 trình bày các khái niệm cơ bản trong mô hình dữ liệu dạng khốinhư: khái niệm về khối, lược đồ khối, lát cắt, các phép toán cơ bản trên khối,khái niệm về bao đóng của tập phụ thuộc hàm, bao đóng của tập thuộc tính chỉ
số, khóa của lược đồ khối R cùng với các thuật toán tìm bao đóng, tìm khóa củalược đồ khối Các vấn đề trình bày ở chương 2 được tham khảo trong các tài liệu[3], [4], [7]
Trang 33Ta kí hiệu khối đó là r(R) hoặc r(id; A1, A2, , An), hoặc 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
Công ty sản xuất và phân phối nước hoa BONSWEET có các đại lý bánhàng trên toàn miền bắc Các đại lý cùng bán các loại nước hoa của nhà sản xuấtlà: Spring (kí hiệu SP), Summer (kí hiệu SU), Autumn (kí hiệu AU), Winter (kíhiệu WI) Mỗi quý công ty lập biểu đồ theo dõi số lượng hàng được bán theotừng loại nước hoa tại mỗi đại lý (trên cơ sở số lượng bán hàng ra hàng ngày)
Trang 34Căn cứ vào các biểu đồ theo dõi của mỗi loại mặt hàng tại các đại lý này màcông ty điều chỉnh số lượng sản phẩm phân cho các đại lý phù hợp hơn Để đápứng yêu cầu trên công ty BONSWEET đã tiến hành xây dựng khối dữ liệu vớitên gọi BANHANG, cụ thể như sau:
Hình 2.1: Biểu diễn một phần khối BANHANG(R)
Với khối BANHANG(R) trên, ta thấy
- Ở Đại lý 1 (DL1), trong tháng 1, số lượng sản phẩm Spring bán được là 40
- Ở Đại lý 2 (DL2), trong tháng 1, số lượng sản phẩm Autumn bán được là 20
2.1.2 Lát cắt
Trang 35một phần tử thì r(R) trở thành một quan hệ
Mệnh đề 2.1
một phần tử thì r(R) trở thành một quan hệ
Trang 3625
Trang 370 0
0
26
Mệnh đề 2.2
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ủamột khối nào đó thì khối tìm được không duy nhất
2.1.3 Các phép tính trên mô hình dữ liệu dạng khối
2.1.3.1 Phép chèn
r = r { t0}, ở đó t0 = (t10, t20, , tn )
INSERT(r, t10, t20, , tn )
2.1.3.2 Phép loại bỏ
Phép loại bỏ là phép xóa một phần tử ra khỏi một khối cho trước
Trang 382.2 Các phép toán đại số trên mô hình dữ liệu dạng khối
quan hệ trong mô hình dữ liệu quan hệ, ở đây các phép toán của đại số quan hệlặp lại được áp dụng cho các khối như: phép hợp, phép giao, phép trừ, phépchiếu, phép chọn, phép kết nối, phép chia
Hai khối r và s được gọi là khả hợp nếu chúng có cùng một lược đồ khối
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 là một khối, kí hiệu:
r s, gồm các phần tử thuộc khối r hoặc thuộc khối s
Trang 392.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, là một khối gồm các phần tử thuộc đồng thời cả hai khối r và s đã cho
Trang 40Ta có khối r và khối s như sau:
Hình 2.3 Biểu diễn các khối r, s, r ∩ s
2.2.3 Phép trừ
Cho hai khối г và s khả hợp, khi đó hiệu của r và s là một khối, kí hiệu
r - s, là một khối gồm các phần tử thuộc r nhưng không thuộc s
Trang 41Ta có khối r và khối s như sau:
Hình 2.4 Biểu diễn các khối r, s, r - s
Trang 422.2.4 Tích Đề - các
{A1, A2, , An} {B1, B2, , Bm} =
Khi đó tích Đề - các của hai khối r(R) và s(S) là một khối, kí hiệu r x s,
khối này là một bộ gồm n + m ánh xạ, trong đó n ánh xạ đầu có dạng một phần
tử 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:
r x s = {t | t(R) r và t(S) s},trong đó t = t1, t2, , tn, tn+1, , tn+m ), t(R) = (t1, t2, , tn), t(S) = (tn+1, , tn+m )
2.2.5 Tích Đề - các theo tập chỉ số
khung R xid S = {id id‟; A1, A2, , An}, với id id‟ là kí hiệu hợp rời rạccủa hai tập chỉ số id và id‟ Mỗi phần tử thuộc khối này là một bộ gồm n ánh xạ
t1, t2, , tn với ti: id id‟ dom(Ai), i =