BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
TRƢƠNG THỊ PHƢƠNG
CHUẨN HOÁ VÀ TỰA CHUẨN HOÁ
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
HÀ NỘI, 2018
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
TRƢƠNG THỊ PHƢƠNG
CHUẨN HOÁ VÀ TỰA CHUẨN HOÁ
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 8 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: PGS.TS Trịnh Đình Thắng
TS. Trần Minh Tuyến
HÀ NỘI, 2018
i
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc nhất đến PGS.TS Trịnh Đình Thắng và
TS. Trần Minh Tuyến, ngƣời thầy hƣớng dẫn khoa học và tận tình hƣớng
dẫn tôi trong suốt quá trình tôi nghiên cứu, học tập và thực hiện luận văn thạc
sỹ này.
Tôi cũng xin cảm ơn các thầy cô giáo trƣờng Đại học Sƣ Phạm Hà Nội
2 đã nhiệt tình giảng dạy, chỉ bảo, truyền đạt những kiến thức, những kinh
nghiệm trong thời gian học tập và nghiên cứu.
Cuối cùng, tôi xin gửi lời cảm ơn đến gia đình, ngƣời thân, bạn bè và
đồng nghiệp đã động viên, giúp đỡ và khuyến khích tôi trong suốt thời gian
học cao học cũng nhƣ quá trình thực hiện luận văn cao học.
Mặc dù đã cố gắng trong quá trình thực hiện nhƣng luận văn không thể
tránh khỏi những sai sót. Tôi mong nhận đƣợc sự góp ý chân thành của quý
thầy cô, quý đồng nghiệp và bạn bè.
Xin trân trọng cảm ơn!
Hà Nội, tháng 8 năm 2018
Học viên
Trƣơng Thị Phƣơng
ii
LỜ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 và TS. Trần Minh Tuyến. Tôi xin
cam đoan r ng số liệu và kết quả nghiên cứu trong luận văn này là trung thực
và không trùng lặp với các đề tài khác. Tôi cũng xin cam đoan r ng mọi sự
giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và các thông tin trích
dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc.
Hà Nội, tháng 8 năm 2018
Học viên
Trƣơng Thị Phƣơng
iii
MỤC LỤC
LỜI CẢM ƠN .................................................................................................... i
LỜI CAM ĐOAN ............................................................................................. ii
MỤC LỤC ........................................................................................................ iii
DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT ........................................ v
DANH MỤC CÁC BẢNG............................................................................... vi
DANH MỤC CÁC HÌNH ............................................................................... vii
MỞ ĐẦU ........................................................................................................... 1
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ệ ................................................................................................ 5
1.2. Đại số quan hệ ............................................................................................ 6
1.3. Phụ thuộc hàm .......................................................................................... 13
1.3.1. Định nghĩa và tính chất phụ thuộc hàm ............................................. 13
1.3.2. Hệ tiên đề Armstrong......................................................................... 15
1.4. Bao đóng .................................................................................................. 15
1.4.1. Các tính chất của bao đóng ................................................................ 16
1.4.2. Thuật toán tìm bao đóng của tập thuộc tính ...................................... 16
1.5. Khóa ......................................................................................................... 18
1.6. Các dạng chuẩn của mô hình dữ liệu quan hệ.......................................... 20
1.6.1. Dạng 1NF (First Normal Form) ......................................................... 20
1.6.2. Dạng 2NF (Second Normal Form) .................................................... 22
1.6.3. Dạng 3NF (Third Nomal Form)......................................................... 23
1.6.4. Dạng chuẩn BCNF (Boyce-Codd Normal Form) .............................. 24
iv
Kết luận .......................................................................................................... 25
CHƢƠNG 2: MÔ HÌNH DỮ LIỆU DẠNG KHỐI ........................................ 26
2.1. Khối, lƣợc đồ khối ................................................................................... 26
2.2. Lát cắt ....................................................................................................... 28
2.3. Các phép tính trên khối ............................................................................ 30
2.3.1. Phép chèn ........................................................................................... 30
2.3.2. Phép loại bỏ ....................................................................................... 30
2.4. Đại số quan hệ trên khối........................................................................... 31
2.5. Phụ thuộc hàm .......................................................................................... 38
2.6. Bao đóng trong mô hình dữ liệu dạng khối ............................................. 39
2.7. Khóa của lƣợc đồ khối R đối với tập phụ thuộc hàm F trên R ................ 44
Kết luận .......................................................................................................... 47
CHƢƠNG 3: CHUẨN HOÁ VÀ TỰA CHUẨN HOÁ TRONG MÔ HÌNH
DỮ LIỆU DẠNG KHỐI ................................................................................. 48
3.1. Các dạng chuẩn trên lƣợc đồ khối............................................................ 48
3.2. Các dạng tựa chuẩn trên lƣợc đồ khối...................................................... 51
3.3. Chuẩn hoá và tựa chuẩn hoá trên lƣợc đồ khối và trên lƣợc đồ lát cắt.... 54
KẾT LUẬN ..................................................................................................... 62
DANH MỤC TÀI LIỆU THAM KHẢO ........................................................ 63
v
DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT
Ký hiệu
Ý nghĩa
CSDL
Cơ sở dữ liệu
Dom(A) hoặc dom(A)
Miền giá trị của thuộc tính A
Suy ra
Khi và chỉ khi
∪
Phép hợp
∩
Phép giao
∃
Tồn tại
∄
Không tồn tại
∈
Thuộc
Không thuộc
Là con(chứa trong)
Chứa
∅
Rỗng
∀
Với mọi
≦
Phủ định
→
Kéo theo
|=
Suy diễn logic
≠
Khác
vi
DANH 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ệ Hocsinh .................................................................... 5
Bảng 1.3. Biểu diễn quan hệ Sach1 ∪ Sach2 ......................................................... 7
Bảng 1.4. Biểu diễn quan hệ KH1 ∩ KH2 ............................................................. 7
Bảng 1.5. Biểu diễn quan hệ KH1 – KH2.............................................................. 8
Bảng 1.6. Biểu diễn quan hệ KH2 – KH1.............................................................. 8
Bảng 1.7. Biểu diễn quan hệ Muonsach x Sach ..................................................... 9
Bảng 1.8. Biểu diễn phép chiếu
MaKH, HoTen, Diachi (KH) .................................... 10
Bảng 1.9. Biểu diễn phép chọn δ (Lop=12A1 DTB > 8.0) (Hocsinh) ........................... 11
Bảng 1.10. Biểu diễn phép kết nối r*s ................................................................. 12
Bảng 1.11. Biểu diễn phép chia r ÷ s................................................................... 13
Bảng 1.12. Biểu diễn khoá K ............................................................................... 19
Bảng 1.13. Biểu diễn không ở dạng chuẩn 1NF .................................................. 21
Bảng 1.14. Biểu diễn ở dạng chuẩn 1NF ............................................................. 21
Bảng 1.14. Biểu diễn HS ...................................................................................... 22
Bảng 2.1: Biểu diễn lát cắt r(R2014) ...................................................................... 28
Bảng 2.2. Biểu diễn lát cắt r(R2015), r(R2016) ........................................................ 29
vii
DANH MỤC CÁC HÌNH
Hình 2.1. Biểu diễn khối học sinh HS(R) ............................................................ 27
Hình 2.2. Biểu diễn khối nhân viên NV(R) ......................................................... 29
Hình 2.3. Biểu diễn r, s và r ∪ s ........................................................................... 32
Hình 2.4. Biểu diễn khối r, s và r ∩ s ................................................................... 33
Hình 2.5. Biểu diễn khối r, s và r - s .................................................................... 34
Hình 3.1: Lƣợc đồ khối chƣa ở dạng chuẩn 1 ...................................................... 48
Hình 3.2: Lƣợc đồ khối ở dạng chuẩn 1 .............................................................. 49
1
MỞ ĐẦU
1. Lý do chọn đề tài
Trong thời đại ngày nay, ngành công nghệ thông tin có vai trò to lớn và
đƣợc ứng dụng vào hầu hết các lĩnh vực của đời sống xã hội. Ví dụ: ngành
giáo dục, viễn thông, điện lực, y tế… Muốn quản lí tốt các đối tƣợng trong
ngành cần phải có cơ sở dữ liệu.
Để 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. Một số 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 số các mô hình này thì mô hình quan hệ đƣợc quan tâm
hơn cả. Mô hình này đƣợc E.Codd đề xuất năm 1970. Tuy nhiên do các quan
hệ có cấu trúc tuyến tính nên mô hình này chƣa đáp ứng đƣợc đầy đủ 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 tính, …[5].
Trong những năm gần đây, việc nghiên cứu nh m mở rộng mô hình dữ
liệu quan hệ đã đƣợc nhiều nhà khoa học quan tâm. Theo hƣớng nghiên cứu
này, một mô hình dữ liệu mới đã đƣợc đề xuất, đó là mô hình dữ liệu dạng
khối. Mô hình dữ liệu này đƣợc xem là một mở rộng của mô hình dữ liệu
quan hệ. Tuy nhiên, trong quá trình nghiên cứu về mô hình dữ liệu khối thì
việc xây dựng và phân tích mối quan hệ phụ thuộc dữ liệu đóng vai trò quan
trọng trong việc thiết kế và xây dựng cơ sở dữ liệu. Vì vậy, tôi đã chọn đề tài
“Chuẩn hoá và tựa chuẩn hoá trong mô hình dữ liệu dạng khối” 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.
2. Mục đích nghiên cứu
Nghiên cứu các vấn đề về chuẩn hoá và tựa chuẩn hoá trong mô hình dữ
liệu dạng khối.
2
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.
- Nghiên cứu về chuẩn hoá và tựa chuẩn hoá 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
- Chuẩn hoá và tựa chuẩn hoá trong mô hình dữ liệu dạng khối.
* Phạm vi nghiên cứu
- 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.
6. Những đóng góp của đề tài
- 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.
- Tìm hiểu thêm một số tính chất mới về chuẩn hoá và tựa chuẩn hoá trên
lƣợc đồ khối và trên lƣợc đồ lát cắt.
7. Cấu trúc luận văn
Luận văn gồm lời mở đầu, nội dung của ba chƣơng, kết luận và tài liệu
tham khảo
Chƣơng 1: Mô hình dữ liệu quan hệ
Chƣơng này trình bày một số 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 trong chƣơng này.
Chƣơng 2: Mô hình dữ liệu dạng khối
3
Nội dung trong chƣơng này trình bày về mô hình dữ liệu dạng khối nhƣ:
Khái niệm về khối, lát cắt của khối, các phép tính trên khối, đại số quan hệ và
các tính chất của đại số quan hệ trên khối, các phép toán về khóa, bao đóng và
phụ thuộc hàm trên khối cũng đƣợc trình bày.
Chƣơng 3: Chuẩn hoá và tựa chuẩn hoá trong mô hình dữ liệu
dạng khối
Nội dung chƣơng này giới thiệu 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 hoá và tựa chuẩn hoá trên lƣợc đồ khối và lƣợc đồ lát cắt.
4
CHƢƠNG 1
MÔ HÌNH DỮ LIỆU QUAN HỆ
Nội dung chƣơng này trình bày các khái niệm cơ bản về mô hình dữ liệu
quan hệ. Mô hình này có nhiều ƣu điểm, tính độc lập cao, có cơ sở toán học
chặt chẽ… Những vấn đề này đã đƣợc tham khảo trong các tài liệu [3], [4],
[6], [7], [8].
Mô hình dữ liệu quan hệ là một mô hình đƣợc sử dụng rộng rãi trong đời
sống xã hội của mọi tổ chức, cơ quan, xí nghiệp, doanh nghiệp…. Dữ liệu
thƣờng đƣợc lƣu dƣới dạng bảng. Ta có thể xem một quan hệ nhƣ một bảng,
trong đó mỗi hàng là một bộ và mỗi cột là một thuộc tính.
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. Mỗi thuộc tính có một tên gọi
và phải thuộc về một kiểu dữ liệu nhất định.
- 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) viết tắt là DAi
Ví dụ 1.1:
Đối tƣợng Học sinh có các thuộc tính nhƣ: Mã học sinh (MaHS), Họ và
tên (HoTen), Ngày sinh (NgaySinh), Địa chỉ (Diachi), Lớp (Lop).
Miền giá trị của các thuộc tính của đối tƣợng Học sinh:
Dom(MaHS) = {char(5)} = {„Hs001‟, „Hs002‟, „Hs003‟};
Dom(HoTen) = {char(30)} = {„Nguyễn Văn Bình‟, „Đỗ Bích H ng‟,
„Cao Ngọc Trinh‟};
Dom(NgaySinh) = {date} = {„08/12/1991‟, „05/12/1991‟, „03/03/1991‟};
Dom(DiaChi) = {char(20)} = {„6 Nghĩa Tân‟, „12 Lê Lợi‟, „92 Nguyễn
Trãi‟};
5
Dom(Lop) = {char(10)} = {12A1};
1.1.2. Quan hệ
Định nghĩa 1.2:
Cho U= {A1, A2, …, An} là một tập hữu hạn không rỗng các thuộc tính.
Mỗi thuộc tính Ai (i= 1, 2,…, n) có miền giá trị là Dom(Ai) viết tắt là DAi. Khi
đó r là một tập các bộ {h1, h2, …, hm} được gọi là quan hệ trên U với hj (j=1,
2, …, m) là một hàm:
DAi sao cho hj (Ai) DAi (i=1, 2, ...,n)
hj :U →
AiU
Có thể hiểu r ng một quan hệ nhƣ một bảng và 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:
h1
h2
...
hm
A1
h1(A1)
h2(A1)
...
hm(A1)
A2
h1(A2)
h2(A2)
...
hm(A2)
...
...
...
...
...
An
h1(An)
h2(An)
...
hm(An)
Bảng 1.1. Biểu diễn quan hệ r
Ví dụ 1.2:
Ta có quan hệ Hocsinh
MaHS
HoTen
NgaySinh
DiaChi
Lop
Hs001 Nguyễn Văn Bình 08/12/1991 6 Nghĩa Tân
12A1
Hs002 Đỗ Bích H ng
05/12/1991 12 Lê Lợi
12A1
Hs003 Cao Ngọc Trinh
03/03/1991 92 Nguyễn Trãi 12A1
Bảng 1.2. Biểu diễn quan hệ Hocsinh
Trong đó các thuộc tính là MaHS: Mã học sinh; HoTen: Họ tên;
6
NgaySinh: Ngày sinh; DiaChi: Địa chỉ; Lop: lớp.
Bộ giá trị: Hs001, Nguyễn Văn Bình, 08/12/1991, 6 Nghĩa Tân, 12A1: là
một bộ.
Nếu có một bộ b = (b1, b2, ..., bm) ∈ r, r xác định trên U, X U thì b(X)
(hoặc b.X) đƣợc gọi là giá trị của bộ b trên tập thuộc tính X.
1.2. Đại số quan hệ
1.2.1. Quan hệ khả hợp
Hai quan hệ r và s đƣợc gọi là khả hợp nếu nhƣ hai quan hệ này xác
định trên cùng tập thuộc tính và các thuộc tính cùng tên có cùng miền giá trị.
1.2.2. Phép hợp
Hai quan hệ r và s khả hợp, phép hợp của 2 quan hệ kí hiệu: 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 hoặc t ∈ s}
Ví dụ 1.3:
Cho hai quan hệ Sach1, Sach2 nhƣ sau:
Sach1
MSach
Ten
TS01
Dế mèn phiêu lƣu kí
TS02
Hai vạn dặm dƣới biển
TS03
Sáng tạo toán học
Msach
Ten
Sach2
TS01
Dế mèn phiêu lƣu kí
TS04
Những điều kì diệu về máy tính
Khi đó phép hợp của Sach1 ∪ Sach2
7
Msach
Ten
TS01
Dế mèn phiêu lƣu kí
TS02
Hai vạn dặm dƣới biển
TS03
Sáng tạo toán học
TS04
Những điều kì diệu về máy tính
Bảng 1.3. Biểu diễn quan hệ Sach1 ∪ Sach2
1.2.3. Phép giao
Hai quan hệ r và s khả hợp, phép giao của 2 quan hệ kí hiệu: r ∩ s là tập
tất cả các bộ thuộc r và thuộc s. Ta có
r ∩ s = {t | t ∈ r và t ∈ s}
Ví dụ 1.4: Cho hai quan hệ KH1, KH2 nhƣ sau:
KH1
MaKH
HoTen
KH01
Hoàng Bình
KH02
Lê Văn Minh
KH03
Trần Nam Ninh
KH2
MaKH
HoTen
KH01
Hoàng Bình
KH04
Nguyễn Hải Sơn
Khi đó phép giao của KH1 ∩ KH2 là:
MaKH
HoTen
KH01
Hoàng Bình
Bảng 1.4. Biểu diễn quan hệ KH1 ∩ KH2
8
1.2.4. Phép trừ
Hai quan hệ r và s khả hợp, phép trừ của 2 quan hệ kí hiệu: r – s là tập tất
cả các bộ thuộc r nhƣng không thuộc s. Ta có
r – s = {t | t ∈ r và t
s}
Ví dụ 1.5: Ta có quan hệ KH1, KH2 từ ví dụ 1.4
- Phép trừ của KH1 – KH2:
MaKH
HoTen
KH02
Lê Văn Minh
KH03
Trần Nam Ninh
Bảng 1.5. Biểu diễn quan hệ KH1 – KH2
- Phép trừ của KH2 – KH1:
MaKH
HoTen
KH04
Nguyễn Hải Sơn
Bảng 1.6. Biểu diễn quan hệ KH2 – KH1
1.2.5. Tích Đề-Các
Cho 2 quan hệ r và s, r xác định trên U1={A1, A2,..., An} và s xác
định trên U2={B1, B2,..., Bm}. Tích Đề - Các của 2 quan hệ r và s kí hiệu:
r x s là tập tất cả các bộ thuộc ghép đƣợc từ các bộ r và s. Ta có:
r x s = {t = (a1, a2, ..., an, b1, b2, ..., bm) | (a1, a2, ..., an) ∈ r và (b1, b2, ..., bm)
∈ s}
Ví dụ 1.6:
Cho 2 quan hệ Muonsach, Sach nhƣ sau:
Muonsach
9
Sothe
Masach
Ngaymuon
TV01
TO-012
07/09/2017
TV02
TO-013
12/09/2017
Sach
Tensach
Sotrang
Dế mèn phiêu lƣu kí
236
Hai vạn dặm dƣới biển
120
Tích Đề-Các của Muonsach x Sach2
Sothe
Masach
Ngaymuon
Tensach
Sotrang
TV01
TO-012
07/09/2017
Dế mèn phiêu lƣu kí
236
TV01
TO-012
07/09/2017 Hai vạn dặm dƣới biển
120
TV02
TO-013
12/09/2017
Dế mèn phiêu lƣu kí
236
TV02
TO-013
12/09/2017 Hai vạn dặm dƣới biển
120
Bảng 1.7. Biểu diễn quan hệ Muonsach x Sach
1.2.6. Phép chiếu
Phép chiếu thực chất là phép toán loại bỏ những thuộc tính không
cần thiết và giữ lại một số thuộc tính cần thiết của quan hệ.
Cho r là một quan hệ xác định trên tập thuộc tính U1= {A1, A2,...,
An}, X là tập con của U1. Phép chiếu của quan hệ r trên tập thuộc tính X.
kí hiệu:
X(r) = {t.X | t ∈ r}
Ví dụ 1.7:
Cho quan hệ KH
10
MaKH
HoTen
MaMH
Soluong
Diachi
KH01
Hoàng Bình
MH01
5
Yên Trung
KH02
Lê Văn Minh
MH03
20
Dũng Liệt
KH03
Trần Nam Ninh
MH02
17
Tam Đa
KH04
Nguyễn Hải Sơn
MH04
2
Thu Hoà
Phép chiếu quan hệ KH trên ba thuộc tính MaKH, HoTen và Diachi
là:
MaKH, HoTen, Diachi (KH) sẽ cho ta một quan hệ mới chỉ gồm ba thuộc
tính là MaKH, HoTen và Diachi nhƣ sau:
MaKH
HoTen
Diachi
KH01
Hoàng Bình
Yên Trung
KH02
Lê Văn Minh
Dũng Liệt
KH03
Trần Nam Ninh
Tam Đa
KH04
Nguyễn Hải Sơn
Thu Hoà
Bảng 1.8. Biểu diễn phép chiếu
MaKH, HoTen, Diachi (KH)
1.2.7. Phép chọn
Phép chọn là phép toán lọc lấy ra một tập con các bộ của quan hệ đã cho
thoả mãn một điều kiện xác định. Điều kiện đó đƣợc gọi là điều kiện chọn
hay biểu thức chọn.
Biểu thức chọn G đƣợ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
G 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 và logic trong biểu thức G: >, <, =,≥, ≤, ≠, , ,
.
11
Cho quan hệ r và G 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 G kí hiệu: δG(r) là tập tất cả các bộ của
r thoả mãn G. Ta có δG(r) = {t | t ∈ r và G(t)}
Ví dụ 1.8:
Cho quan hệ Hocsinh
TT
MaHS
HoTen
Lop
DTB
1
HS01
Nguyễn An
12A1
8.6
2
HS02
Phạm Kim Anh
12A2
7.5
3
HS03
Nguyễn Xuân Bình
12A3
8.7
4
HS04
Trƣơng Hồng Hà
12A1
9.1
5
HS05
Hoàng Xuân Hải
12A1
7.3
Tìm học sinh lớp 12A1 và có điểm trung bình lớn hơn 8.0?
Khi đó phép chọn học sinh lớp 12A1 và có điểm trung bình >8.0 của
quan hệ Hocsinh đƣợc biểu diễn b ng công thức sau:
δ (Lop=12A1 DTB > 8.0) (Hocsinh)
ta đƣợc quan hệ sau:
TT
MaHS
HoTen
Lop
DTB
1
HS01
Nguyễn An
12A1
8.6
4
HS04
Trƣơng Hồng Hà
12A1
9.1
Bảng 1.9. Biểu diễn phép chọn δ (Lop=12A1 DTB > 8.0) (Hocsinh)
1.2.8. Phép kết nối
Phép kết nối là một phép ghép các bộ giá trị của quan hệ mà đi kèm là có
điều kiện.
Cho 2 quan hệ r(U) và s(V). Đặt X= U ∩ V. Phép kết nối hai quan hệ
r(U) và s(V), kí hiệu r*s, cho ta quan hệ gồm các bộ đƣợc gán từ các bộ u của
12
quan hệ R với mỗi bộ v của quan hệ S (sao cho các giá trị trên miền thuộc tính
chung X của hai bộ này giống nhau).
P(UV) = r*s={u*v | u ∈ r, v ∈ s, u.X=v.X}.
Nếu X= U ∩ V = ∅, thì r*s sẽ cho ta tích Đề - Các mà trong đó mỗi bộ
của quan hệ r sẽ đƣợc ghép với mỗi bộ của quan hệ s .
Ví dụ 1.9:
Cho quan hệ r
A1
A2
B1
Aa
Ca
Ba
Ab
Cb
Bb
Ac
Ca
Bd
Ad
Cd
Ba
và quan hệ s
B1
B2
Ba
Aaa
Bb
Abb
Khi đó phép kết nối của 2 quan hệ r*s sẽ cho kết quả là:
A1
A2
B1
B2
Aa
Ca
Ba
Aaa
Ab
Cb
Bb
Abb
Ad
Cd
Ba
Aaa
Bảng 1.10. Biểu diễn phép kết nối r*s
1.2.9. Phép chia
Cho 2 quan hệ r(U) và s(V) với V U. Phép chia của quan hệ r cho
13
quan hệ s kí hiệu là r÷s là tập tất cả các bộ t trên U\V sao cho với mọi bộ v ∈
s thì khi ghép bộ t với bộ v ta đƣợc một bộ thuộc r. Ta có
r÷s = {t | ∀ v ∈ s, (t,v) ∈ r}
Ví dụ 1.10: Cho quan hệ r và quan hệ s:
A
B
C
D
A
B
A1
B1
C1
D2
A1
B1
A2
B2
C1
D2
A2
B2
A3
B3
C1
D2
A3
B3
A1
B2
C1
D2
A2
B2
C3
D2
A3
B3
C2
D2
Khi đó phép chia 2 quan hệ r ÷ s là:
C
D
C1
D2
Bảng 1.11. Biểu diễn phép chia r ÷ s
1.3. Phụ thuộc hàm
1.3.1. Định nghĩa và tính chất phụ thuộc hàm
Định nghĩa 1.3:
Cho một tập hữu hạn các thuộc tính U = (A1, A2,..., An), r là một quan hệ
trên U, X, Y U. Khi đó: X →Y (đọc là X xác định Y hay Y phụ thuộc hàm
vào X nếu với mọi bộ t1, t2 ∈ r mà t1(X) = t2(X) thì t1(Y) = t2(Y)).
Điều đó có nghĩa là các giá trị của thành phần Y của một bộ trong R phụ
thuộc vào, hoặc đƣợc xác định bởi, các giá trị của thành phần X. Nói cách
khác, các giá trị của thành phần X của một bộ xác định một cách duy nhất các
giá trị của thành phần Y.
14
Khi xét đến mối quan hệ dữ liệu trong CSDL, quan hệ một trong những
yếu tố quan trọng đƣợ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 dữ liệu cũng nhƣ
loại bỏ đi những dƣ thừa dữ liệu trong một CSDL.
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={Al, A2, ...,
An}, cho X, Y, Z, W U, 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.
TC2 : Tính mở rộng hai vế
Nếu X → Y thì XW → YW.
TC3 : Tính chất bắc cầu
Nếu X → Y, Y → Z thì X → Z.
TC4 : Tính tựa bắc cầu
Nếu X → Y, YZ → W thì XZ → W.
TC5 : Tính cộng đầy đủ
Nếu X → Y, Z → W thì XZ → YW.
TC6 : Tính mở rộng vế trái
Nếu X → Y thì XZ → Y.
TC7 : Tính cộng ở vế phải
Nếu X → Y, X → Z thì X → YZ.
TC8 : Tính bộ phận ở vế phải
Nếu X → YZ thì X → Y.
TC9 : Tính tích luỹ
Nếu X → YZ, Z → WV thì X → YZW.
15
1.3.2. Hệ tiên đề Armstrong
Gọi F là tập tất cả các phụ thuộc hàm đối với lƣợc đồ quan hệ r(U) và X
→ Y là một phụ thuộc hàm với X, Y U, ta nói r ng X → Y đƣợc suy diễn
logic từ F nếu mọi quan hệ r trên U đều thỏa mãn các phụ thuộc hàm của F thì
cũng thỏa X → Y. Tập quy tắc của hệ tiên đề đƣợc Armstrong đề xuất vào
năm 1974, đƣợc gọi là hệ tiên đề Armstrong.
Hệ tiên đề Armstrong:
Cho lƣợc đồ quan hệ R(U) với U={ A1, A2,..., An }. Các tập thuộc tính
X, Y, Z U khi đó ta có các tiên đề Amstrong nhƣ sau:
- Tính phản xạ: Nếu Y X thì X → Y.
- Tính tăng trƣởng: Nếu X → Y thì XV → YV.
- Tính bắc cầu: Nếu X → Y, Y → Z thì X → Z.
Hệ quả:
- Luật hợp: Nếu X → Y và X → Z thì X → YZ
- Luật tách: Nếu X → Y và Z Y thì X → Z
- Luật tựa bắc cầu: Nếu X→ Y và VY → Z thì VX → Z
Hệ tiên đề Armstrong là đầy đủ, có nghĩa là nếu F là tập phụ thuộc hàm
đúng trên quan hệ R và F: X → Y là một phụ thuộc hàm đƣợc suy dẫn từ F
nhờ hệ tiên đề Armstrong thì F đúng trên R.
1.4. Bao đóng
Định nghĩa 1.4:
Cho lược đồ quan hệ R = { A1, A2,… An}. iả s
là tập phụ thuộc hàm
trên R.
X là tập con của tập thuộc tính R.
ao đóng của tập thuộc tính X đối với , ký hiệu X+ (hoặc XF+ để ch
bao đóng lấy theo tập ), là tập tất cả các thuộc tính A của R mà X → A được
suy d n t tập . Vậy X+ là tập:
16
X+ = {A: A ∈
v X →A ∈ F+ }
Nhƣ vậy bao đóng X+ của X đƣợc định nghĩa qua tập phụ thuộc hàm F,
vì thế đôi khi ta ký hiệu X+F. Tuy nhiên khi không có một tập phụ thuộc hàm
nào khác ta hiểu bao đóng X+F đƣợc tính qua F nên ta viết đơn giản X+[6].
Ví dụ 1.11:
Giả sử R = { A, B, C, D, E, G}.
F= { A → C, A → EG, B → D, G → E}.
X = { A, B}, Y = { A, B, C, D, E, G}.
Khi đó ta sẽ có: X+ = { A, B, C, D, E, G}
Y+ = { C, G, D, E}.
Tƣơng tự nhƣ tập bao đóng của tập phụ thuộc hàm F+ tập bao đóng X+
cũng chứa các phần tử của tập X, tức là X X+[6].
1.4.1. Các tính chất của bao đóng
Cho lƣợc đồ quan hệ α = (U, F). Khi đó X, Y U ta có:
- Tính phản xạ: X X+
- Tính đồng biến: Nếu X Y thì X+ Y+
- Tính lũy đẳng : (X+)+ = X+
Ta dễ dàng chứng minh đƣợc một số tính chất sau từ 3 tính chất trên:
- (XY)+ X+Y+
- (X+Y)+ = (XY)+ = (XY+)+ = (X+Y+)+
- X → Y Y+ X+
- X → Y X+ → X
- X → X+ và X+ → X
- X+ = Y+ X → Y và Y → X
1.4.2. Thuật toán tìm bao đóng của tập thuộc tính
Thuật toán 1.1
INPUT: Lƣợc đồ quan hệ R