B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI
• HỌC
• s ư PHẠM
• HÀ NỘI• 2
NGÔ MINH LOAN
KHÓA VÀ SIÊU KHÓA
VỚI PHÉP DỊCH CHUYỂN LƯỢC ĐÒ KHỐI
LUẬN VĂN THẠC SĨ MÁY TÍNH
HÀ NỘI, 2015
B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC s ư PHẠM HÀ NỘI 2
__________________•_____________•_____________________________•_________________
•
NGÔ MINH LOAN
KHÓA VÀ SIÊU KHÓA
TRONG PHÉP DỊCH CHUYỂN LƯỢC ĐÒ KHỐI
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01
LUÂN
VĂN THAC
SỸ MÁY TÍNH
•
•
Ngưòi hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng
HÀ NỘI, 2015
1
LOI CAM ON
De hoan thanh luan van nay em xin chan thanh gui loi cam an den quy
thay co trong truang Dai hoc Su pham Ha Noi 2, cac thay trong Vien Cong
nghe thong tin thuoc Vien Han lam Khoa hoc va Cong nghe Viet Nam, cac
anh chi thu vien Vien Cong nghe thong tin thuoc Vien Han lam Khoa hoc va
Cong nghe Viet Nam, thu vien truang Dai hoc Cong nghe thong tin va truyen
thong - Dai hoc Thai Nguyen, trung tam hoc lieu Dai hoc Thai Nguyen, thu
vien Dai hoc Cong nghe - Dai hoc Quoc gia Ha Noi da quan tam giup da
trong qua trinh thuc hien de tai. Nha do toi da tiep thu dugc nhieu y kien dong
gop va nhan xet quy bau cua quy thay, co thong qua cac buoi trao doi thong
tin va bao ve d6 cuang.
Em xin gui loi cam an sau sac nMt d6n PGS.TS. Trinh Dinh Thang
dang cong tac tai truang Dai hoc Su Pham Ha Noi 2 da true tiep huang dan,
dinh huang chuyen mon, tan tam chi bao trong qua trinh thuc hien luan van.
Em xin bay to su bilt an sau sac din gia dinh da tao moi di6u kien t6t
nhit d! em co thl hoan thanh t6t moi cong viec trong qua trinh thuc hien luan
van. Em cung xin gui loi cam an cua minh toi ban be va dong nghiep, luon
quan tam, chia se, dong vien em trong su6t thoi gian thuc hien luan van.
Mac du da rit c6 g^ng trong qua trinh thuc hien nhung luan van khong
the tranh khoi nhung thieu sot. Em xin mong nhan ducrc su gop y cua quy
thay co, quy dong nghiep va ban be.
Ha Noi, ngay 10 thang 11 nam 2015
Hoc vien
Ngo Minh Loan
LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung được trình bày ừong bản luận văn này là
kết quả tìm hiểu và nghiên cứu của riêng tôi, đây là công trình 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, rõ ràng. 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. Tôi xin chịu hoàn toàn
trách nhiệm với những nội dung được viết ừong luận văn này.
Hà Nội, ngày 10 tháng 11 năm 2015
Hoc viên
Ngô Minh Loan
MỤC LỤC
Trang
Trang bìa phụ
Lời cảm ơ n .........................................................................................................1
Lời cam đoan..................................................................................................... 2
Mục lục.............................................................................................................. 3
Danh mục kí hiệu và các chữ cái viết tắ t..........................................................5
Danh mục các bảng........................................................................................... 6
Danh mục các hình............................................................................................ 7
MỞ ĐẦU........................................................................................................... 8
NỘI DUNG.......................................................................................................
Chương 1: Mô hình dữ liệu quan hệ và phép dịch chuyển lược đồ quan hệ
1.1 Mô hình dữ liệu quan h ệ ........................................................................... 10
1.2 Phép dịch chuyển lược đồ quan h ệ ...........................................................25
1.3 Một số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược
đồ quan h ệ ....................................................................................................... 28
Kết luận chương 1 ........................................................................................... 30
Chương 2: Mô hình dữ liệu dạng khối............................................................ 31
2.1 Khối, Lát cắt.............................................................................................. 31
2.2 Các phép tính trên khối.............................................................................34
2.3 Đại số quan hệ trên khối............................................................................ 35
2.4 Phụ thuộc hàm...........................................................................................40
2.5 Bao đóng của tập thuộc tính chỉ số ...........................................................42
2.6 Khóa của khối............................................................................................44
4
2.7 Phép dịch chuyển lược đồ khối................................................................ 47
Kết luận chương 2 .......................................................................................... 49
Chương 3: Khóa và siêu khóa với phép dịch chuyển lược đồ khối.............. 50
3.1 Biểu diễn khóa và siêu khóa qua phép dịch chuyển................................50
3.2 Một số dạng biểu diễn mới của khóa và siêu khóa..................................55
Kết luận chương 3 .......................................................................................... 60
KẾT LUẬN.................................................................................................... 61
TÀI LIỆU THAM KHẢO.............................................................................. 62
5
DANH 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:
Kí hỉêu
Ý nghĩa
LĐQH
Lược đồ quan hệ
PTH
Phụ thuộc hàm
+
Khác
V
Với mọi
n
Phép giao
u
Phép hợp
\
Phép trừ
c
Tập con
=2
Nằm trong
G
Thuộc
T
Bao đóng của tập thuộc tính X
0
Rỗng
3
Tồn tại
Fh
Phụ thuộc hàm Fh
Fhx
Phụ thuộc hàm Fhx
•
6
DANH MUC CÁC BẢNG
.1. Bảng ví dụ về quan hệ r .......................................
11
.2. Bảng quan hệ Sinhvien........................................
11
.3. Bảng biểu diễn quan hệ Sinhvienl u Sinhvien2 ..
12
.4. Bảng biểu diễn quan hệ Sinhvienl n Sinhvien ....
13
.5. Bảng biểu diễn quan hệ Sinhvienl - Sinhvien2 ..
14
.6. Bảng biểu diễn quan hệ r X s.................................
15
.7. Biểu diễn phép chiếu : ĩlmãsv, lóp, Điểm ra(sinh viên)
16
.8. Biểu diễn phép chọn : ôĐiểmTB>5 (Sinhvien) .........
17
.9. Biểu diễn phép nối tự nhiên giữa 2 quan h ệ ........
18
.10. Biểu diễn phép chia............................................
19
.11. Bảng quan hệ Sinhvien......................................
19
7
DANH MUC CÁC HÌNH
Hình 2.1. Biểu diễn khối BANHANG(R)......................................................30
Hình 2.2. Phép giao trong khối...................................................................... 34
8
MỞ ĐÀU
1. Lý do chọn đề tài
Để có thể 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. Những mô hình được sử dụng
rộng rãi trong hệ thống cơ sở dữ liệu trên thế giới như: mô hình thực thể - liên
kết, mô hình mạng, mô hình dữ liệu, mô hình phân cấp, mô hình quan hệ...
Việc nghiên cứu tìm ra các mô hình mới đáp ứng các ứng dụng phức
tạp, các cơ sở dữ liệu có cấu trúc tuyến tính và phi tuyến tính được các nhà
nghiên cứu trong và ngoài nước quan tâm. Một ừong những mô hình mới này
là mô hình dữ liệu dạng khối. Mô hình dữ liệu này có thể xem là một mở rộng
của mô hình dữ liệu quan hệ.
Như chúng ta đã biết trong mô hình quan hệ, để giảm tính phức tạp của
việc xác định khóa trong các cơ sở dữ liệu lớn, phức tạp thì phép dịch chuyển
lược đồ quan hệ đã được đề xuất. Trong mô hình cơ sở dữ liệu dạng khối, việc
xác định khóa càng khó khăn hơn. Chính vì vậy mà phép dịch chuyển lược đồ
khối cũng đã được đề xuất ở đây, nhờ việc dịch chuyển lược đồ khối mà trong
nhiều trường họp việc tìm khóa của khối trở nên đơn giản hơn.
Để góp phần hoàn chinh thêm về mô hình dữ liệu dạng khối em chọn
đề tài là “Khóa và siêu khóa với phép dịch chuyển lược đồ khối” cho luận
văn của mình.
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 và
nghiên cứu một số dạng biểu diễn của khóa và siêu khóa qua phép dịch
chuyển lược đồ khối.
3. Nhiệm vụ nghiên cứu
Tìm hiểu khái quát về mô hình dữ liệu.
9
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ố dạng biểu diễn của khóa và siêu khóa
qua phép dịch chuyển lược đồ khối.
4. Đổi tượng và phạm vỉ nghiên cứu
- Đối tượng: Khóa và siêu khóa qua phép dịch chuyển.
- Pham
vi: Mô hình dữ liêu
•
• 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.
Phương pháp suy luận và chứng minh.
10
CHƯƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ PHÉP DỊCH
CHUYỂN LƯỢC ĐỒ 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ệu quan hệ, các phép toán cơ bản, định nghĩa về phụ thuộc hàm, bao
đóng cuả tập phụ 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ới thuật toán tìm khoá, phép dịch chuyển lược đồ quan hệ và một
số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ quan
hệ. Các vấn đề trình bày ở chương 1 được tham khảo trong các tài liệu
[2,3,6,7].
1.1. Mô hình dữ liệu quan hệ
1.1.1. Quan hệ, thuộc tính
1.1.1.1. Thuộc tính và miền thuộc tính [6,7]
Đị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à DA
Ví du 1.1
Đối tượng Sinhviên (SV) có các thuộc tính như: MaSV, Hoten,
NgSinh, Đ chi,...
Miền giá trị của các thuộc tính của đối tượng SV:
Dom(MaNV) = {char(4)} ={‘SV01’, ‘SV02’, ‘SV03’
Dom(Hoten) = (char(30)} ={‘Nguyễn Văn A’,‘Nguyễn Văn B’, ...} ;
Dom(NgSinh) = {date} ={‘30/03/78’, ‘22/12/96’, ...}
Dom(Đchi) ={char(10)} ={‘H N \ ‘H P \ ‘V P\
;
11
1.1.1.2. Quan hệ, lược đồ quan hệ [6,7]
Định nghĩa 1.2 [6]
Cho u = {Ai, 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 Aị(i=l, 2,..., n) có miền giá ừị là Dom(Ai)- Khi đó r là một
tập các bộ {hi, h2, . . hm} được gọi là quan hệ ừên Ư với hj (j = 1, 2,.. .,m) là
một hàm:
hj :ư —» ỊJ
ầ
sao cho hj (Ai) e 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ệ г như sau:
Ai
Аг
A„
hi
hi(Ai)
hi(A2)
hi(An)
h2
h2(A0
h2(A2)
h2(An)
...
...
...
hm(Ai)
hm(A2)
hm(An)
hm
Л
Bảng 1.1. Ví dụ vê quan hệ r
Ví dụ 1.2
Sinhviên MaSV
HOTEN NS
DC
KHOA
SV01
А
24/01/92 HN
TOAN
SV02
В
3/05/92
VP
LY
SV03
В
3/05/92
VP
TOAN
Bảng 1.2. Quan hệ Sinhvien
Trong đó các thuộc tính là MaSV: mã sinh viên; HOTEN: họ tên; NS:
ngày sinh; DC: địa chỉ; KHOA: khoa.
Bộ giá trị: (SV01, A, 24/01/92, HN, TOAN) là một bộ.
12
Nếu có một bộ t = (di, d2, d3,
dm) € r, r xác định trên и , X ÇÜ thì
t(X) (hoặc t.X) được gọi là giá tri của tập thuộc tính X trên bộ t.
Định nghĩa 1.3
Tập tất cả các thuộc tính ừong 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 и = {Ai, A2,
An} được viết là
R(U) hoặc R(Ab A2, A n).
1.1.2. Đại số quan hệ
1.1.2.1. Phép họp [6]
Hai quan hệ r và s được gọi là khả hợp nếu như hai quan hệ này xác
định 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ị.
Cho hai quan hệ г và s khả họp. Hợp của r và s ký hiệu г и s là một
quan hệ gồm tất cả các bộ thuộc r hoặc thuộc s hoặc thuộc cả hai quan hệ. Ta
có: r u s = {t 11 € r hoặc t e s }
Ví dụ 1.3 Cho hai bảng
SV1
MaSV
Địa chỉ
KT01
TN
KT02
HN
MaSV
Địa chỉ
KT01
TN
KT04
YB
MaSV
Địa chỉ
KT01
TN
KT02
HN
KT04
YB
và SV2
Sinhvienl u Sinhvien2
Bảng 1.3. Biéu diễn quan hệ SVluSV2
13
I.I.2.2. Phep giao [6]
Cho hai quan he r vä s khä hop. Giao cüa r vä s ky hieu r n s lä mot
quan he göm tät cä cäc bo thuoc r vä thuoc s. Ta co:
r n s = { t | t e r v ä t es}
Vi du 1.4: Cho hai bang:
Sinhvii MaSV
vä Sinh vien 2
Sinhvienl n Sinhvien2
Dia chi
KT01
YB
KT02
TN
MaSV
Dia chi
KT01
YB
KT04
HN
MaSV
Dia chi
KT01
YB
I.I.2.3. Phep trü’ [6]
Cho hai quan he r vä s khä hop. Hieu cüa r vä s ky hieu lä r - s lä tap tat
cä cäc bo thuoc r nhung khöng thuoc s. Ta co:
r - s = {t I te r v ät g }
V id u l.5 : Cho bang
SV1
SV2
MaSV
Dia chi
KT01
TN
KT02
VP
KT03
LS
MaSV
Dia chi
KT01
TN
KT04
YB
14
Sinhvienl - Sinhvien2
MaSV
Địa chỉ
KT02
VP
KT03
LS
Bảngl.5. Biểu diễn quan hệ Sinhvienl-Sinhvien2
1.1.2.4. Tích Đề - các [6]
Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần lượt là Ui và и 2 với
Ui n
u2= 0 . Tích đề các của r và s ký hiệu là: г X s là một quan hệ trên Ư1 n
Ư2 gồm tập tất cả các bộ ghép được từ các bộ của r và s. Ta có:
r x s = | t = (u,v)/V u e r, v g s Ị
Ví dụ 1.6:
cho hai bảng
và bảng s
MaSV
MaMH
Diem
T001
MANG
6.5
T002
CTDL
7
T003
LTC
8
MaMH
TenMH
MaMH
LTC
Lập trình С
LTC
CTDL
Câu trúc dữ liệu
CTDL
Tích đề - các của 2 bảng trên là г X s:
MaSV
MaMH
Diem
MaMH
TenMH
T001
MANG
6.5
LTC
Lập trình С
T001
MANG
6.5
CTDL
Câu trúc dữ liệu
T002
CTDL
7
LTC
Lập trình С
T002
CTDL
7
CTDL
Câu trúc dữ liệu
15
T003
LTC
8
LTC
Lập trình c
T003
LTC
8
CTDL
Câu trúc dữ liệu
Bảng 1.6. Biểu diễn quan hệ r X s
1.1.2.5. Phép chiếu [6]
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
quan hệ r trên tập thuộc tính X, kí hiệu là n x(r) là tập các bộ của r xác định
trên X, ta có:
n x(r) = {t.x |t e 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ần
thiết của quan hệ và loại bỏ những thuộc tính không càn thiết (trùng lặp).
Ví dụ 1.7 Cho bảng r gồm những thuộc tính sau:
Ta có: n BD(r)
A
B
c
D
a
1
i
2
b
2
g
4
c
8
h
5
d
6
g
2
e
2
i
5
B
D
1
2
2
4
8
5
6
2
16
cần lấy một số thuộc tính tên sinh viên mà chỉ quan tâm đến mã số, lớp
và Điểm TB thì phép chiếu sẽ được sử dụng như sau: n mãsv, lớp
Điểm t b {
SV) =
quan hệ kết quả
Mã sv
Lớp
Điêm TB
T001
TIN1
7
T002
TIN1
6
T003
TIN2
8
T004
TIN3
4
Bảng 1.7. Biểu diễn phép chiếu : n m ãSV, lớp, Điểm ra(SV).
I.I.2.6. Phép chọn [6]
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 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ộ đó.
- 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:
A
(và), V (hoặc), - 1 (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) ={ 11 te r AF(t) = đúng}.
17
Ví dụ 1.8: Cho bảng sv
Mã sv
Họ và tên
Lóp
Điêm TB
T001
Nguyên Anh
TIN1
7
T002
Nguyên Bình
TIN1
6
T003
rin
Trân Trang
TIN2
8
T004
Lưu Nam
TIN3
4
A
rin
Chọn sinh viên có Điểm TB > 6. ta làm như sau : ÔĐiểmTB>ó(SV)
Kết quả là:
Mã sv
Họ và tên
Lớp
Điêm TB
T001
Nguyên Anh
TIN1
7
T003
Trân Trang
TIN2
8
Bảng 1.8. Biểu diễn phép chọn : ÔĐiểmTB^SV)
I.I.2.7. Phép kết nối [6]
Phép kết nối là một phép ghép các bộ giá trị của hai quan hệ có điều
kiên (chú ý: tích đề các không có điều kiên). Ký hiêu:
r ^
s
Kết quả của phép kết nối r và s qua điều kiện F là tập tất cả các bộ giá
trị từ những bộ giá trị của hai quan hệ tham gia và bộ giá trị vừa được ghép
thỏa mãn điều kiện cho trước.
rX
s = {t = (u, v) / u e r A V es
A
F(t) đúng}
Do đó, phép kết nối chính là một phép chọn trên tích đề các.
r [><] s = ôF(r X s)
F
Điều kiện kết nối F là tổ hợp logic của các toán hạng trong đó mỗi toán
hạng là một phép so sánh giữa thuộc tính của r và s.
18
Ví dụ 1.9
Cho 2 quan hệ
Và bangma
Mã sv
Lớp
Điêm TB
T001
TIN1
7
T002
TIN1
6
T003
TIN2
8
Mã sv
Họ và tên
T001
Nguyên Lan Anh
T002
Nguyên Văn Bình
Phép nối tự nhiên giữa 2 quan hệ trên sẽ có kết quả sau:
Mã sv
Họ và tên
Lớp
Điêm TB
T001
Nguyên Lan Anh
TIN1
7
T002
Nguyên Văn Bình
TIN1
6
TIN2
8
T003
Bảng 1.9. Biểu diễn phép nối tự nhiên giữa 2 quan hệ
I.I.2.8. Phép chia [6]
Cho hai quan hệ r(U) và r(V) ={Ai,A2,...,An}> V e ư . Phép chia của
quan hệ r cho quan hệ s ký hiệu là: r
s là một quan hệ ừên ư - V gồm các
bộ t sao cho tồn tại bộ u e s và ghép t với u ta được bộ thuộc r:
r
-7-
s ={ 11 V ues, (t,u)er}
Ví dụ 1.10: Cho quan hệ sau và tìm sinh viên có Điểm các môn học 1 và 2 >
6 điểm (một trong 2 môn không có điểm nào dưới 5 điểm).
19
Sinhvien
Họ tên
ĐiêmM l
Điêm M2
Điêm M3
Nguyên Hải Anh
4
8
9
Trân Bích Hăng
7
3
8
Tạ Hông Linh
6
7
9
Diemcantim
ĐiêmM l
Điêm M2
6
7
Sinhviendapung
Họ tên
Tạ Hông Linh
Bảng 1.10. Biểu diễn phép chia
1.1.3. Phu• thuôc
• hàm
Định nghĩa 1.4 [6]
Cho lược đồ quan hệ R xác định trên tập thuộc tính u. Cho X, Y là hai
tập con của 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 2 bộ ti, t2 bất kỳ mà
MX) = t2(X) thì MY) = t2(Y).
Ví dụ 1.11
MaSV
Quan hệ SINHVIEN
Hoten
Diachi
Tinh
Khuvuc
T001
Nguyên Minh Anh
Vĩnh Phúc
Băc Ninh
2
T002
Nguyên Văn Bôn
Hà Nội
Hà Nội
1
T003
Ngô Thị Thanh
TP Hô Chí Minh
Hải Dương
1
T004
Trân Văn Ninh
Lạnh Sơn
Vĩnh Phúc
2
Bảng 1.11. Quan hệ SINHVIEN
20
Trong quan hệ SINHVIEN, dựa vào định nghĩa phụ thuộc hàm của
quan hệ ta có:
{Tinh}
{MaSV}
{Khuvuc}
{Hoten, Diachi, Tinh, Khuvuc}
- Thuộc tính là các đặc điểm riêng của một đối tượng, quan hệ. 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, kiểu dữ
liệu đó có thể là vô hướng (là các kiểu dữ liệu cơ bản như chuỗi, số, logic,
ngày tháng...) hoặc các kiểu có cấu trúc được định nghĩa dựa trên các kiểu dữ
liệu có sẵn.
Ví dụ 1.12: SINHVIEN (MaSV, Hoten, NgSinh, Đchi).
Đối tượng SINHVIEN có các thuộc tính mã sinh viên, họ tên, ngày
sinh, địa chỉ.
- Mỗi một thuộc tính có thể chỉ chọn lấy những giá trị trong một tập
họfp con của kiểu dữ liệu. Tập họp các giá trị mà thuộc tính A có thể nhận
được gọi là miền giá ừị của thuộc tính A, thường được kí hiệu là Dom(A) hay
viết tắt là D a
Ví dụ 1.11: Dom(MaSV) = {char (4)}; Dom(Hoten) = {char (3)};
Dom(NgSinh) = {date}; Dom(Đchi) = {‘HN’, ‘VP’, ‘BN’,...};
1.1.4. Bao đóng của tập phụ thuộc hàm [6,7]
Định nghĩa 1.5
Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc hàm F ký hiệu
F4-: 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 F.
Vậy: F+ = { f l F Ị=f}
Các tỉnh chất
• Tính chất phản xạ: Với mọi tập phụ thuộc hàm F ta luôn có F Ç F+
• Tính chất đơn điệu: Nếu F çz G thì F* ç: G+
21
• Tính chất lũy đẳng: Với mọi tập phụ thuộc hàm F ta luôn có F++ = F4Ví dụ 1.13: Cho F = {A -» в , с -» X, в х -» Z}. Khi đó AC —>z £
Ff ?
- Vi A —►В => AX —>BX.
- Từ AX —» BX , kết hợp в х —>z, suy ra AX —» z.
- Từ с —>X => AC —>AX.
- Áp dụng tính chất bắc cầu, AC —>AX và AX —>z suy ra AC —>•z £
F 1-.
1.1.5. Bao đóng của tập thuộc tính [6,7]
Định nghĩa 1.6
Cho lược đồ quan hệ R xác định trên tập thuộc tính и , X ç u . Bao
đóng của tập thuộc tính X ký hiệu là 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 I X —» A G F4-}
Các tính chất của bao đóng: dựa vào các tính chất của phụ thuộc hàm
ta có các tính chất của bao đóng tập thuộc tính sau:
• Tính phản xạ: X с x +
• Tính đơn điệu: Neu X
• Tính lũy đẳng: X"^ = x +
• X+Y+ с (XY)+
• ( X +Y ) + = ( X Y +) + = ( X +Y +) + = ( X Y ) +
•X ^ Y o ^ cX 1
•X
x + và х +^ X
• x += Y+
X
Y và Y
X
22
Thuật toán tìm bao đóng
Tính liên tiếp tập các tập thuộc tính Xo, XI, x 2,... theo phương pháp
sau:
Bước 1:
Xo
=X
Bước 2: lần lượt xét các phụ thuộc hàm của F. Nếu Y —> z có Y с Xi
thì Xi + 1 = Xi u z. Loại phụ thuộc hàm Y —>z khỏi F.
Bước 3: Nếu ở bước 2 không tính được X i + 1 thì Xi chính là bao đóng
của X. Ngược lại lặp lại bước 2
Định lý 1.1: Thuật toán tìm bao đóng cho kết quả Xi = x +
Ví dụ 1.14: Cho tập thuộc tính и = {А, в , с , D, Е, G, H} và tập phụ thuộc
hàm F = {A -» D, AB -» DE, CE -» G, E -» H}
Tính (AB)+f
Bước 0: X o = AB
Bước 1: Xỉ = X0U {D} vì có A —» D thỏa mãn điều kiện
Bước 2: x 2 = XiU {E} vì có AB —» DE thỏa mãn điều kiện
Bước 3: x 3 = X2U {H} vì có E —» H thỏa mãn điều kiện
Bước 4: X4 = x 3 = ABDEH.
Do đó, tất cả các phụ thuộc hàm có thể xác định từ AB:
(AB -» D, AB -» E, AB -» H, AB -> AB)
Vậy (AB)+f = ABDEH.
Đánh giá độ phức tạp tỉnh toán: Độ phức tạp thời gian của thuật toán
trên là đa thức theo kích thước của lược đồ quan hệ.
23
1.1.6. Khóa và siêu khóa trên lược đồ quan hệ [6]
Định nghĩa 1.7 [6]
Cho s = <U,F> là 1 lược đồ quan hệ, Ư là tập thuộc tính khác rỗng và F
là tập các phụ thuộc hàm. Cho tập con bất kỳ V K Ç U . Ta nói rằng к là khóa
của lược đồ quan hệ s khi và chỉ khi nó thỏa mãn 2 điều kiện sau:
- (K-> U) ÉF+
- Không tồn tại z (Z к 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 ừên có thể suy ra rằng к là khóa của lược đồ
quan hệ khi và chỉ khi nó thỏa mãn 2 điều kiện:
- K+ = U
- ( К - А )+Ф u, VAG К
Các tính chất của khóa trong lược đồ quan hệ
Định lý 1.2 (Đặc trưng của các thuộc tính khóa)
Cho К là 1 khóa của LĐQH а = (U,F). Khi đó với mọi tập con X của к
t a c ó X +r ì K = X
Định lý 1.3 (Công thức tính giao các khóa)
Cho LĐQH а = (U,F) với n thuộc tính trong Ư và m PTH trong F. Gọi
Ui là giao các khóa của a. Khi đó có thể xác định giao các khóa bằng 1 thuật
toán tuyến tính theo mn qua công thức:
Uj=U\
u (R\L)
L -> R eF
Định lý 1.4 (Định lý về khóa duy nhất)
Cho LĐQH а = (U,F). Gọi ƯI là giao của các khóa ừong a. Khi đó a có
một khóa duy nhất khi và chỉ khi ƯỊ+ = u.