Tải bản đầy đủ (.pdf) (65 trang)

Khóa và siêu khóa với phép dịch chuyển lược đồ khối

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (892.71 KB, 65 trang )

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 THẠC 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



LỜI CẢM ƠN
Để hoàn thành luận văn này em xin chân thành gửi lời cảm ơn đến quý
thầy cô trong trường Đại học Sư phạm Hà Nội 2, các thầy trong Viện Công
nghệ thông tin thuộc Viện Hàn lâm Khoa học và Công nghệ Việt Nam, các
anh chị thư viện Viện Công nghệ thông tin thuộc Viện Hàn lâm Khoa học và
Công nghệ Việt Nam, thư viện trường Đại học Công nghệ thông tin và truyền
thông - Đại học Thái Nguyên, trung tâm học liệu Đại học Thái Nguyên, thư
viện Đại học Công nghệ - Đại học Quốc gia Hà Nội đã quan tâm giúp đỡ
trong quá trình thực hiện đề tài. Nhờ đó tôi đã tiếp thu được nhiều ý kiến đóng
góp và nhận xét quý báu của quý thầy, cô thông qua các buổi trao đổi thông
tin và bảo vệ đề cương.
Em xin gửi lời cảm ơn sâu sắc nhất đến PGS.TS. Trịnh Đình Thắng
đang công tác tại trường Đại học Sư Phạm Hà Nội 2 đã trực tiếp hướng dẫn,
định hướng chuyên môn, tận tâm chỉ bảo trong quá trình thực hiện luận văn.
Em xin bày tỏ sự biết ơn sâu sắc đến gia đình đã tạo mọi điều kiện tốt
nhất để em có thể hoàn thành tốt mọi công việc trong quá trình thực hiện luận
văn. Em cũng xin gửi lời cảm ơn của mình tới bạn bè và đồng nghiệp, luôn
quan tâm, chia sẻ, động viên em trong suốt thời gian thực hiện luận văn.
Mặc dù đã rất 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 thiếu sót. Em xin mong nhận được sự góp ý của quý
thầy cô, quý đồng nghiệp và bạn bè.
Hà Nội, ngày 10 tháng 11 năm 2015
Học viên

Ngô Minh Loan


2


LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung được trình bày trong 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 trong luận văn này.

Hà Nội, ngày 10 tháng 11 năm 2015
Học viên

Ngô Minh Loan


3

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í hiệu


Ý nghĩa

LĐQH

Lược đồ quan hệ

PTH

Phụ thuộc hàm



Khác



Với mọi



Phép giao



Phép hợp

\

Phép trừ




Tập con



N m trong



Thuộc

X+

Bao đóng của tập thuộc tính X



Rỗng



Tồn tại

Fh

Phụ thuộc hàm Fh

Fhx


Phụ thuộc hàm Fhx


6

DANH MỤC CÁC BẢNG
Bang 1.1. Bảng ví dụ về quan hệ r ................................................................. 11
Bảng 1.2. Bảng quan hệ Sinhvien .................................................................. 11
Bảng 1.3. Bảng biểu diễn quan hệ Sinhvien1  Sinhvien2 .......................... 12
Bảng 1.4. Bảng biểu diễn quan hệ Sinhvien1  Sinhvien ............................. 13
Bảng 1.5. Bảng biểu diễn quan hệ Sinhvien1 – Sinhvien2 ........................... 14
Bảng 1.6. Bảng biểu diễn quan hệ r x s........................................................... 15
Bảng 1.7. Biểu diễn phép chiếu : Πmã SV, lớp, Điểm TB(sinh viên) ........................ 16
Bảng 1.8. Biểu diễn phép chọn : Điểm TB 5(Sinhvien) ................................... 17
Bảng 1.9. Biểu diễn phép nối tự nhiên giữa 2 quan hệ .................................. 18
Bảng 1.10. Biểu diễn phép chia ...................................................................... 19
Bảng 1.11. Bảng quan hệ Sinhvien ................................................................ 19


7

DANH MỤC 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 trong 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 chỉnh 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 vi nghiên cứu
- Đối tƣợng: Khóa và siêu khóa qua phép dịch chuyển.
- Phạm 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


i

Ví dụ 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)} ={„HN‟, „HP‟, „VP‟, …}.

;


11

1.1.1.2. Quan hệ, lƣợc đồ quan hệ [6,7]
Định nghĩa 1.2 [6]
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). 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:
hj :U →
Ai U

DAi sao 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 như sau:
A1

A2



An

h1

h1(A1)

h1(A2)



h1(An)

h2

h2(A1)

h2(A2)



h2(An)












hm

hm(A1)

hm(A2)



hm(An)

Bảng 1.1. Ví dụ về quan hệ r
Ví dụ 1.2
Sinhviên MaSV

HOTEN NS

DC

KHOA


SV01

A

24/01/92 HN

TOAN

SV02

B

3/05/92

VP

LY

SV03

B

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 = (d1, d2, d3, ..., dm)

 r, r xác định trên U, X  U thì

t(X) (hoặc t.X) được gọi là giá trị 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 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.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ệ 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 bộ thuộc r hoặc thuộc s hoặc thuộc cả hai quan hệ. Ta
có: r  s = {t t  r hoặc t 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

Sinhvien1  Sinhvien2

Bảng 1.3. Biểu diễn quan hệ SV1SV2


13

1.1.2.2. Phép giao [6]
Cho hai quan hệ r và s khả hợp. Giao của r và s ký hiệu r  s là một
quan hệ gồm 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 bảng: Sinhvien1MaSV

và Sinh viên 2

Sinhvien1  Sinhvien2

Địa chỉ

KT01


YB

KT02

TN

MaSV

Địa chỉ

KT01

YB

KT04

HN

MaSV

Địa chỉ

KT01

YB

Bảng1.4.Biểu diễn quan hệ sinhvien1 sinhvien2
1.1.2.3. Phép trừ [6]
Cho hai quan hệ r và s khả hợp. Hiệu của r và s ký hiệu là 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 }
Ví dụ 1.5: Cho bảng

SV1

SV2

MaSV

Địa chỉ

KT01

TN

KT02

VP

KT03

LS

MaSV

Địa chỉ

KT01

TN


KT04

YB


14

Sinhvien1 - Sinhvien2

MaSV

Địa chỉ

KT02

VP

KT03

LS

Bảng1.5. Biểu diễn quan hệ Sinhvien1–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à U1 và U2 với
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 U1 
U2 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  / u  r, v  s
Ví dụ 1.6:


cho hai bảng
r

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 C

LTC

CTDL

Cấu trúc dữ liệu

CTDL

Tích đề - các của 2 bảng trên là r x s:
MaSV

MaMH

Diem

MaMH

TenMH

T001


MANG

6.5

LTC

Lập trình C

T001

MANG

6.5

CTDL

Cấu trúc dữ liệu

T002

CTDL

7

LTC

Lập trình C

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à X(r) là tập các bộ của r xác định
Πx(r) = {t.X ⎢t ∈ r}

trên X, ta có:

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ó: Π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: Π mã SV, lớp, Điểm TB(SV) =
quan hệ kết quả
ketqua


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 : Πmã SV, lớp, Điểm TB(SV).
1.1.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:  (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) = đúng}.


17

Ví dụ 1.8: Cho bảng SV
Họ và tên

Lớp

Điểm TB

T001

Nguyễn Anh


TIN1

7

T002

Nguyễn Bình

TIN1

6

T003

Trần Trang

TIN2

8

T004

Lưu Nam

TIN3

4

Mã SV


Chọn sinh viên có Điểm TB  6. ta làm như sau : Điểm TB 6(SV)
Kết quả là:
SV

Họ và tên

Lớp

Điểm TB

T001

Nguyễn Anh

TIN1

7

T003

Trần Trang

TIN2

8

Mã SV

Bảng 1.8. Biểu diễn phép chọn : Điểm TB 5(SV)

1.1.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
s
kiện (chú ý: tích đề các không có điều kiện). Ký hiệu: r
F

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.
r
F

s = {t = (u, v) / u  r ˄ v s ˄ 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
F

s = δF(r x s)

Đ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ệ


SV

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:
SV1

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ệ
1.1.2.8. Phép chia [6]
Cho hai quan hệ r(U) và r(V) ={A1,A2,…,An}, V U. Phép chia của
quan hệ r cho quan hệ s ký hiệu là: r † s là một quan hệ trên U – V gồm các
bộ t sao cho tồn tại bộ u s và ghép t với u ta được bộ thuộc r:
r  s ={ t |  us, (t,u)r}
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ểm M1


Đ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ểm M1

Đ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. Phụ 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ộ t1, t2 bất kỳ mà

t1(X) = t2(X) thì t1(Y) = 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ợp 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á trị của thuộc tính A, thường được kí hiệu là Dom(A) hay
viết tắt là DA i
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
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 F.
Vậy: F+ = {f | 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  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++ = F+
Ví dụ 1.13: Cho F = {A → B, C → X, BX → Z}. Khi đó AC → Z ∈
F+ ?

- Vì A → B ⇒ AX → BX.
- Từ AX → BX , kết hợp BX → Z, suy ra AX → Z.
- Từ C → 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.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 U, 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 X  A  F+}
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: Nếu X  Y thì X+ Y+
• Tính lũy đẳng: X++ = X+
• X+Y+  (XY)+
• (X+Y)+ = (XY+)+ = (X+Y+)+ = (XY)+
• X  Y  Y+ X+
• X  X+ và X+ 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 X0, X1, X2,... theo phương pháp
sau:
Bước 1: X0 = 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 ∪ 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 Xi+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 U = {A, B, C, D, E, 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: X0 = AB
Bước 1: X1 = X0 {D} vì có A  D thỏa mãn điều kiện
Bước 2: X2 = X1 {E} vì có AB  DE thỏa mãn điều kiện
Bước 3: X3 = X2 {H} vì có E  H thỏa mãn điều kiện
Bước 4: X4 = X3 = 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ệ, U 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ỳ  K  U. Ta nói r ng K 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  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 2 đ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ệ
Định lý 1.2 (Đặc trưng của các thuộc tính khóa)
Cho K là 1 khóa của LĐQH a = (U,F). Khi đó với mọi tập con X của K
ta có X+  K = X
Định lý 1.3 (Công thức tính giao các khóa)
Cho LĐQH a = (U,F) với n thuộc tính trong U 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:

UI  U \

 ( R \ L)

LRF

Định lý 1.4 (Định lý về khóa duy nhất)
Cho LĐQH a = (U,F). Gọi UI là giao của các khóa trong a. Khi đó a có
một khóa duy nhất khi và chỉ khi UI + = U.



×