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

Khoá luận tốt nghiệp khóa và vế trái cực tiểu của 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 (1.21 MB, 55 trang )

TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN

===o0o===

PHẠM THỊ CHUNG

KHÓA VÀ VẾ TRÁI CỰC TIỂU
TRONG 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 – 2019


TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN

===o0o===

PHẠM THỊ CHUNG

KHÓA VÀ VẾ TRÁI CỰC TIỂU
TRONG 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 – 2019


LỜI CẢM ƠN
Đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy hướng dẫn
PGS.TS.Trịnh Đình Thắng đã tận tình hướng dẫn em trong suốt quá trình
nghiên cứu và thực hiện bài khóa luận tốt nghiệp.
Em xin gửi lời cảm ơn các thầy, cô trong Viện Công Nghệ Thông tin
trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện giúp đỡ em rất nhiều trong
quá trình làm khóa luận tốt nghiệp.
Sinh viên thực hiện

Phạm Thị Chung


LỜI CAM ĐOAN
Tôi xin cam đoan khóa luận này được hoàn thành bằng sự cố gắng, nỗ
lực của bản thân, dưới sự hướng dẫn tận tình của PGS.TS. Trịnh Đình Thắng
và tham khảo một số tài liệu đã được ghi rõ nguồn về các định lý, mệnh đề.
Các ví dụ được nghiên cứu do bản thân tự tìm hiểu.
Khóa luận hoàn toàn không sao chép từ tài liệu có sẵn nào. Kết quả
nghiên cứu không trùng lặp với các tác giả khác.
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!
Hà nội, tháng 5 năm 2019
Sinh viên thực hiện

Phạm Thị Chung


DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT

Trong khóa luận tốt nghiệp này dùng thống nhất các kí hiệu và các chữ
cái viết tắt sau:
Kí hiệu

Ý nghĩa

CSDL

Cơ sở dữ liệu



Suy dẫn theo tiên đề



Khác



Với mọi



Phép giao



Phép hợp


\

Phép trừ



Tập con



Chứa trong



Thuộc



Không thuộc

X

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



Tương đương




Rỗng



Tồn tại

Fh

Phụ thuộc hàm Fh

Fhx

Phụ thuộc hàm Fhx


MỤ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 quan hệ ................................................................................. 3
1.2. Các phép toán đại số trên lược đồ quan hệ ................................................. 4
1.3. Phụ thuộc hàm của lược đồ quan hệ ......................................................... 10
1.4. Bao đóng trong lược đồ quan hệ ............................................................... 11
1.5. Khóa của lược đồ quan hệ......................................................................... 13
Kết luận ............................................................................................................ 15
Chƣơng 2. MÔ HÌNH DỮ LIỆU DẠNG KHỐI.............................................. 16
2.1. Khối, lát cắt, lược đồ khối......................................................................... 16
2.2. Các phép tính trên mô hình dữ liệu dạng khối. ......................................... 18
2.3. Các phép toán đại số trên mô hình dữ liệu khối ...................................... 19
2.4. Phụ thuộc hàm........................................................................................... 26
2.5. Bao đóng trong mô hình dữ liệu dạng khối .............................................. 27

2.6. Khóa của lược đồ khối .............................................................................. 29
2.7. Phép dịch chuyển lược đồ khối ................................................................. 30
Kết luận ............................................................................................................ 33
Chương 3. KHÓA VÀ VẾ TRÁI CỰC TIỂU TRONG LƯỢC ĐỒ KHỐI ..... 34
3.1. Một số tính chất của vế trái cực tiểu trong lược đồ khối. ......................... 34
3.2. Mối quan hệ của khóa và vế trái cực tiểu của lược đồ khối ..................... 36
3.3. Một số tính chất mới của khóa và vế trái cực tiểu trên lược đồ khối ....... 39
Kết luận ............................................................................................................ 45
KẾT LUẬN ......................................................................................................... 46
TÀI LIỆU THAM KHẢO ................................................................................. 47


DANH MỤC BẢNG BIỂU
Bảng 1.1: Quan hệ SinhViên ............................................................................. 4
Bảng 1.2: Biểu diễn các quan hệ r, s, r

....................................................... 5

Bảng1.3: Biểu diễn các quan hệ r, s, r s ....................................................... 5
Bảng 1.4: Biểu diễn các quan hệ r, s, r \ s ......................................................... 6
Bảng 1.5: Biểu diễn các quan hệ r, s, r x s ........................................................ 7
Bảng 1.6: Bảng biểu các diễn quan hệ r, s, r s ............................................... 7
Bảng 1.7: Biểu diễn các phép chiếu
.................................................. 8
Bảng 1.8: Biểu diễn các quan hệ
............... 9
Bảng 1.9: Bảng biểu diễn r, s, r*s ..................................................................... 9
Bảng 1.10: Quan hệ Sinh viên......................................................................... 10
Bảng 2.1: Biểu diễn lát cắt của r, r(R2/2019) ..................................................... 18



DANH MỤC HÌNH VẼ
Hình 2.1: Biểu diễn một phần khối của BANHANG(R) ................................ 17
Hình 2.2: Biểu diễn các khối r, s, r

s ........................................................... 20

Hình 2.3: Biểu diễn các khối r, s, r,

....................................................... 21

Hình 2.4: Biểu diễn các khối r, s, r

s ........................................................... 22

Hình 2.5: Biểu diễn các khối r,

P(r) .............................................................. 24


MỞ ĐẦU
1. Lý do chọn đề tài
Ngành khoa học máy tính là ngành nghiên cứu các cơ sở lý thuyết về
thông tin và tính toán cùng sự thực hiện và ứng dụng trong các hệ thống
máy tính. Khoa học máy tính là cách tiếp cận khoa học và thực tiễn để tính
toán và các ứng dụng của nó và nghiên cứu có hệ thống về tính khả thi, cấu
trúc, biểu hiện và cơ giới hóa các thủ tục cơ bản làm cơ sở cho việc thu
thập, đại diện, xử lý, lưu trữ, truyền thông và truy cập thông tin. Hay nói
cách đơn giản và ngắn gọn hơn ngành khoa học máy tính là nghiên cứu về
các quy trình thuật toán tự động hóa mà có thể nhân rộng trên quy mô lớn.

Để có thể xây dựng một hệ thống cơ sở dữ liệu hoàn chỉnh, người ta
thường sử dụng các mô hình dữ liệu thích hợp và 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 đó mô hình dữ liệu 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ẽ.
Tuy nhiên, mô hình quan hệ chưa đủ đáp ứng đối với các ứng dụng phức
tạp, phi tuyến,... Vì vậy nó được mở rộng theo nhiều hướng khác nhau như
mô hình dữ liệu đa chiều. Trong đó mô hình dữ liệu dạng khối cũng là một
hướng mở rộng của mô hình này. Đặc biệt về khóa, khóa đã có trong mô
hình dữ liệu khối nhưng chưa đầy nên tôi đã lựa chọn đề tài “Khóa và vế
trái cực tiểu của lược đồ khối ” cho khóa luận tốt nghiệp của mình để bổ
sung vào lý thuyết mô hình dữ liệu dạng khối được đầy đủ hơn.
2. Mục đích nghiên cứu
- Tìm hiểu về mô hình dữ liệu dạng khối
- Tìm hiểu về khóa và vế trái cực tiểu của lược đồ khối và một số tính
chất về khóa và vế trái cực tiểu của lược đồ khối.
- Phát biểu và chứng minh một số tính chất mới của vế trái cực tiểu của
lược đồ khối.
3. Nhiệm vụ nghiên cứu
- Tìm hiểu về mô hình dữ liệu dạng khối

1


- Tìm hiểu về khóa và vế trái cực tiểu của lược đồ khối, một số tính chất
của vế trái cực tiểu của lược đồ khối, mối quan hệ giữa khóa và vế trái
cực tiểu trong lược đồ khối.
- Chứng minh một số tính chất mới mối quan hệ về khóa và vế trái cực
tiểu trong lược đồ khối.

4. Đối tƣợng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Khóa và vế trái cực tiểu của lược đồ khối.
- Phạm vi nghiên cứu: Mô hình dữ liệu dạng khối
5. Dự kiến đóng góp mới
Đề xuất và chứng minh một số tính chất của khóa và vế trái cực tiểu
trong lược đồ khối.
6. Phƣơng pháp nghiên cứu
- Phương pháp tổng hợp
- Phương pháp thu thập tài liệu
- Phương pháp suy luận và chứng minh
7. Cấu trúc khóa luận
Chƣơng 1: Mô hình dữ liệu quan hệ
Chương này giới thiệu các kiến thức về mô hình dữ liệu quan hệ gồm có:
Các khái niệm của mô hình dữ liệu quan hệ như thuộc tính, lược đồ quan hệ,
đại số quan hệ, bao đóng,… và một số các phép toán của mô hình dữ liệu
quan hệ, khóa và phép dịch chuyển qua lược đồ quan hệ.
Chƣơng 2: Mô hình dữ liệu dạng khối
Chương này giới thiệu về mô hình dữ liệu dạng khối gồm có: Khái niệm
về khối, lược đồ khối, lát cắt, các phép toán đại số quan hệ trên khối, phụ
thuộc hàm, bao đóng và khóa trong mô hình dữ liệu khối.
Chƣơng 3: Khóa và vế trái cực tiểu của lƣợc đồ khối
Nội dung chương này gồm có: Khái niệm vế trái cực tiểu, mối quan hệ
của khóa và vế trái cực tiểu của lược đồ khối. Tiếp theo là một số tính chất về
khóa và vế trái cực tiểu. Cuối chương 3 phát biểu và chứng minh một số tính
chất mới của khóa và vế trái cực tiểu trên lược đồ khối.

2


Chƣơng 1

MÔ HÌNH DỮ LIỆU QUAN HỆ
Chương này, trình bày các khái niệm về mô hình dữ liệu quan hệ, thuộc
tính và miền thuộc tính, quan hệ và lược đồ quan hệ, khóa của lược đồ quan
hệ. Bên cạnh đó các tính chất của bao đóng, khóa, thuật toán tìm bao đóng và
phép dịch chuyển lược đồ quan hệ cũng được trình bày ở đây.
1.1 Các khái niệm quan hệ
1.1.1 Thuộc tính và miền thuộc tính
Định nghĩa 1.1 [1]
- Thuộc tính là đặc trưng của đối tượng.
- Thuộc tính là một tính chất riêng biệt của một đối tượng cần được lưu trữ
trong cơ sở dữ liệu để phục vụ cho việc khai thác dữ liệu về đố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 Nhânviên (NV) có các thuộc tính như:
MaNV, Hoten, Ngaysinh,…
Miền giá trị của các thuộc tính của đối tượng NV:
Dom(MaNV) = {„NV01‟, „NV02‟,…};
Dom(Hoten) = {„Trần Minh Anh‟, „Ngô Thị Lan‟,…};
Dom(Ngaysinh)= {„2/3/1997‟, „3/3/1997‟,…}
1.1.2 Quan hệ và lƣợc đồ quan hệ
Định nghĩa 1.2 [1]
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ó giá trị miền giá trị Dom( Ai ) . Khi đó r là
một tập các bộ {

} được gọi là quan hệ trên U với


h j ( j  1, 2,..., m) là một hàm: h j  U 
Ai U

DAi sao cho h j ( Ai )  DAi (i  1, 2,..., n)

Ta có thể nói một quan hệ như một bảng mà trong đó mỗi hàng là một bộ
và một cột tương ứng với một thuộc tính.

3


Ví dụ 1.2
SinhViên

MaSV

HOTEN

SV001

Trần Thị Anh

SV002

Nguyễn Văn B

Bảng 1.1: Quan hệ SinhViên
Trong đó các thuộc tính là MaSV: Mã sinh viên; HOTEN: họ tên
Bộ giá trị gồm có: (SV001, Trần Thị Anh) là một bộ

Nếu có một bộ t  (d1 , d2 ,..., dn )  r, r xác định trên U, X  U thì t(X) được
gọi là giá trị của tập thuộc tính X trên bộ t.
Lƣợc đồ quan hệ
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 =
} được viết là R(U) hoặc R(

{

).

1.2. Các phép toán đại số 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ư 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 là

là 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ệ. Được
định nghĩa như sau:

.[1]

Ví dụ 1.3: Cho các quan hệ sau:
r

s

MASV


HỌ VÀ TÊN

PHÁI

M01

Trần Thị A

Nữ

M02

Ngô Thị Ngân

Nữ

MASV

HỌ VÀ TÊN

PHÁI

M05

Nguyễn Văn B

Nam

M06


Trần Văn T

Nam

4


r

MASV

HỌ VÀ TÊN

PHÁI

M01

Trần Thị A

Nữ

M02

Ngô Thị Ngân

Nữ

M05


Nguyễn Văn B

Nam

M06

Trần Văn T

Nam

s

Bảng 1.2: Biểu diễn các quan hệ r, s, r
1.2.2. Phép giao
Cho hai quan hệ r và s khả hợp. Giao của r và s kí hiệu là một quan hệ
gồm tất cả các bộ thuộc r và s. Ta có:
[1]
Ví dụ 1.4: Cho các quan hệ sau:
r

s

r

s

MASV

HỌ TÊN


M011

Trần Thị Giang

M012

Ngô Hồng Hạnh

M013

Trần Văn Anh

MASV

HỌ TÊN

M013

Trần Văn Anh

M023

Trần Thị Tuyết

M025

Vũ Huy Hinh

MASV


HỌ TÊN

M013

Trần Văn Anh

Bảng1.3: Biểu diễn các quan hệ r, s, r

s

1.2.3. Phép trừ
Cho hai quan hệ r và s khả hợp. Hiệu của hai quan hệ r và s được kí
hiệu là r – s được định nghĩa như sau:
[1]

5


Ví dụ 1.5: Cho các quan hệ sau:

r

s

r-s

MASV

HỌ TÊN


M011

Trần Thị Giang

M012

Ngô Hồng Hạnh

M013

Trần Văn Anh

MASV

HỌ TÊN

M013

Trần Văn Anh

M023

Trần Thị Tuyết

M025

Vũ Huy Hinh

MASV


HỌ TÊN

M011

Trần Thị Giang

M012

Ngô Hồng Hạnh

Bảng 1.4: Biểu diễn các quan hệ r, s, r - s
1.2.4. Tích Đề-các
Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần lượt
. Tích Đề-các của r và s kí kiệu là

là một quan hệ trên U1  U 2

gồm tất cả các bộ ghép được từ 2 quan hệ r và s. Ta có:

r  s  {(u, v) | u  r, v  s} [1]
Ví dụ 1.6: Cho các quan hệ sau
r

s

MASV

HỌ TÊN

PHÁI


M01

Đoàn Châu An

Nữ

M 02

Nguyễn Thị Châm

Nữ

MÔN

ĐIỂM

Toán

9

Tin

8

6


MASV


HỌ TÊN

PHÁI

MÔN

ĐIỂM

M01

Đoàn Châu An

Nữ

Toán

9

M02

Nguyễn Thị Châm

Nữ

Tin

8

M01


Đoàn Châu An

Nữ

Tin

8

M02

Nguyễn Thị Châm

Nữ

Toán

9

Bảng 1.5: Biểu diễn các quan hệ r, s, r x s
1.2.5. Phép chia
Cho hai quan hệ r(V) và s(U) với 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
s thì ta được một c p t với u là một bộ thuộc r:

bộ t sao cho với mọi bộ u

[1]
Ví dụ 1.7: Cho các quan hệ sau:
r


s

r s

MASV

HỌ VÀ TÊN

TIỀN THƯỞNG

TIỀN PHẠT

M01

Trần Thị An

150000

10000

M02

Nguyễn Văn B

500000

20000

M03


Ngô Thị Ánh

150000

10000

M04

Nguyễn Văn C

200000

20000

TIỀN THƯỞNG

TIỀN PHẠT

150000

10000

MASV

HỌ VÀ TÊN

M01

Trần Thị An


M03

Ngô Thị Ánh

Bảng 1.6: Bảng biểu diễn các quan hệ r, s, r s
1.2.6. Phép chiếu
Cho quan hệ r xác định trên tập thuộc tính
Phép chiếu quan hệ R trên tập các thuộc tính X kí hiệu là
của R xác định trên X ta có:

=

[1]

7

,

.

(r) là tập các bộ


Ví dụ 1.8: Cho quan hệ r:

r

A

B


C

D

a

6

i

2

b

8

g

5

c

2

h

4

d


1

k

2

e

2

h

5

Ta có:
B

D

6

2

8

5

2


4

1

2

2

5

Bảng 1.7: Biểu diễn phép chiếu
1.2.7. Phép chọn
Phép chọn là phép toán lọc ra một tập con các phần tử của quan hệ đã
cho thỏa 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 được chọn. Kí hiệu phép chọn là .
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, trong đó mỗi toán hạng là một phép tính 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 cho giá trị True hoặc False đối với mỗi bộ đã cho của quan hệ
khi kiểm tra mình bộ đó. Nó cũng là tổ hợp dùng các phép toán
biểu thức logic cơ sở.Ta có:

[1]

Ví dụ 1.9: Cho bảng Sinh viên
Sinh viên

MaSV

Họ tên


Quê quán

M01

Nguyễn thị A

Nam Định

M02

Trần thị B

Hải Dương

M03

Nguyễn Thị Hạnh

Nam Định

M04

Trần Thị Mơ

Cần Thơ

8

của các



Ta chọn các bạn sinh viên quê ở Nam Định là
Sử dụng phép chọn
MaSV

Họ tên

Quê quán

M01

Nguyễn thị A

Nam Định

M03

Nguyễn Thị Hạnh

Nam Định

Bảng 1.7: Biểu diễn quan hệ
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 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
s = {(u, v) | u  r ˄ v s ˄ F(t) đúng}
F

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. [1]
Ví dụ 1.10: Cho các quan hệ sau:

r

MASV

HOTEN

XẾP LOẠI

M01

Trần Thị Anh

Giỏi

M02

Nguyễn Thị B


khá

XẾP LOẠI

TIỀN THƯỞNG

Giỏi

1.000.000

Khá

500.000

s

Điều kiện của F là xếp loại của các sinh viên cùng nhau
r

s
F

MASV

HOTEN

XẾP LOẠI

TIỀN THƯỞNG


M01

Trần Thị Anh

Giỏi

1.000.000

M02

Nguyễn Thị B

khá

500.000

Bảng 1.8: Bảng biểu diễn

9


1.3. Phụ thuộc hàm của lƣợc đồ quan hệ
Định nghĩa 1.3 [1]
Cho lược đồ quan hệ R xác định trên tập thuộc tính U và cho 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 2 bộ t1 , t2 bất kỳ mà t1 ( X )  t2 ( X )
thì t1 (Y )  t2 (Y ) .
Ví dụ 1.11: Cho Quan hệ Sinh viên


MaSV

HỌ VÀ TÊN

NGÀY SINH

QUÊ QUÁN

KHU VỰC

M01

Trần Thị A

2/3/1997

Nam Định

1

M02

Nguyễn Thị B

4/3/1997

Hải Dương

2


M03

Đỗ Văn C

5/4/1997

Hà Nam

1

M04

Trần thị D

6/5/1997

Ninh Bình

2

Bảng 1.9: Quan hệ Sinh viên
Quan hệ Sinh viên thỏa mãn 2 phụ thuộc hàm sau:
{QUÊ QUÁN} → {KHU VỰC }
{MaSV} →{HỌ VÀ TÊN, NGÀY SINH, QUÊ QUÁN, KHU VỰC}
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
cho

ta có một số tính chất sau:
-


u

thì



-

u



-

u



-

u



-

u




-

u



-

u





thì

-

u



thì



-

u




thì





thì



thì



thì



thì

t ht a



h ộ






thì




10

u
đ

đ


Hệ tiên đề Amstrong cho các thuộc hàm
Cho

và tập các thuộc tính

Các tính chất của hệ tiên đề Amstrong
- Tính phản xạ:
ì →
- Tính tăng trưởng:

u

- Tính bắc cầu:




v




thì
ì





Trong đó XZ là hợp của hai tập X và Z (

)

1.4. Bao đóng trong lƣợc đồ quan hệ
1.4.1. Bao đóng của tập phụ thuộc hàm
Định nghĩa 1.4
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   {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 
- 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  [1]
Ví dụ 1.14: Cho F  {A  B, C  X , BX  Y } . Khi đó AC  Y  F  ?

Vì A  B  AX  BX
Từ AX  BX , kết hợp BX  Y suy ra AX  Y
Từ C  X  AC  AX
Áp dụng tính chất bắc cầu, AC  AX và AX  Y suy ra AC  Y  F 
1.4.2. Bao đóng của tập thuộc tính
Định nghĩa 1.5 [1]
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 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  }

11


Các tính chất của bao đóng của tập thuộc tính[1]
- Tính phản xạ:
-

Tính đơn điệu:

-

Tính lũy đẳng:

ì

-



-










-



Thuật toán: Tìm bao đóng của tập thuộc tính
Tính liên tiếp tập các thuộc tính X 0 , X1 ,..., X n
Bước 1:
Bước 2: Lần lượt xét các phụ thuộc hàm của F, nếu


thì





khỏi F

Bước 3: Nếu
=
thì chính là bao đóng của X. Ngược lại

ta sẽ phải quay về bước 2.
Ví dụ 1.22: Cho lược đồ quan hệ R = (U, F) với U = {A, B, C, D, E, K} và
F={ →









Tìm bao đóng của

phần tử X = {C} dựa trên F
Giải
Bước 1: Chọn
Bước 2: Lần lượt xét các phụ thuộc hàm của F, ta thấy có C→K thỏa
mãn nên

=C

Lặp lại bước 2:

Ta lại gặp CK →AE thỏa mãn nên
Chứng minh tương tự ta có:

( áp dụng BK→CD)

12


= CKAE


1.5. Khóa của lƣợc đồ quan hệ
Định nghĩa 1.5 [1]
Cho
là một lược đồ quan hệ, ≠ , K
và F là các
tập phụ thuộc hàm. Ta nói rằng K là khóa của lược đồ quan hệ R khi và chỉ
khi nó thỏa mãn hai điều kiện sau:
1. (K→U)
2. Không tồn tại



sao cho

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( Đặc trưng của các thuộc tính khóa) [1]
Cho K là khóa của lược đồ quan hệ

Khi đó

ta có

Định lý 2( Định lý về khóa duy nhất) [1]
Cho lược đồ quan hệ


gọi

Khi đó R là một khóa duy nhất khi và chỉ khi

là giao của các khóa trong R.
.

1.6. Phép dịch chuyển lƣợc đồ quan hệ
Định nghĩa 1.7 [1]
Cho hai lược đồ quan hệ 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ập thuộ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ên quan đế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

13


- Với mỗi phụ thuộc hàm X →Y trong F tạo ra một phụ thuộc hàm
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 phụ thuộc hàm trong F
Sau khi thực hiện thủ tục G = F\M nếu:
- G chứa các phụ thuộc hàm tầm thường (dạng X→Y, X Y) thì ta

loại các phụ thuộc hàm này khỏi G
- G chứa các phụ thuộc hàm trùng lặp thì ta lược bớt các phụ thuộc hàm
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).
Thuật toán dịch chuyển lƣợc đồ quan hệ
Thuật toán Dịch chuyển dưới đây mô tả phép dịch chuyển một lược đồ
quan hệ với độ phức tạp O(mn)
Algorithm Dịch chuyển
Format: Dịch chuyển (a, M)
Input:

a = ( U, F)
Tập thuộc tính M

U

Output: b = (V, G) = a\M
Method:
V := U\M;
G: = ;
For each FD L→R in F do
G:= G {L\M → R\M};
endfor;
G:= Natural_Reduced (G);
Return (V, G);
End Dịch chuyển.

14



Thủ tục Natural_Reduced(G) đưa tập phụ thuộc hàm về dạng thu gọn
tự nhiên bằng cách loại khỏi G những phụ thuộc hàm tầm thường (có vế trái
chứa vế phải), chuyển đổi mỗi phụ thuộc hàm về dạng có vế trái và vế phải
rời nhau và gộp các phụ thuộc hàm có cùng vế trái.
Kết luận
Trong chương này giới thiệu kiến thức cơ bản về mô hình dữ liệu quan
hệ gồm có: các khái niệm như quan hệ, thuộc tính và miền thuộc tính, báo
đóng và khóa của lược đồ quan hệ, thuật toán tìm bao đóng của tập thuộc tính.
Cuối chương trình bày phép dịch và thuật toán của phép dịch chuyển lược đồ
quan hệ.

15


Chƣơng 2
MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Chương này trình bày về mô hình khối như: Khái niệm về khối, lược đồ
khối, lát cắt, các phép toán đại số quan hệ trên khối. Ngoài ra còn trình bày về
phụ thuộc hàm, bao đóng của tập thuộc tính chỉ số trong mô hình dữ liệu dạng
khối và khóa của lược đồ khối.
2.1. Khối, lát cắt, lƣợc đồ khối
2.1.1. Khối, lƣợc đồ khối
Định nghĩa 2.1 [6]
Gọi R  (id ; A1 , A2 ,..., An ) là một bộ phận hữu hạn các phần tử, trong đó id
là tập chỉ số hữu hạn khác rỗng,

(i = 1, n ) là các thuộc tính. Mỗi thuộc tính

(i = 1, n ) có miền giá trị tương ứng là Dom( ). Một khối r trên 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ủa các ánh xạ từ
tập chỉ số id đến các miền trị của các thuộc tính

(i=1..n). [6]

Nói một cách khác:
{

}

Ta nói kí hiệu khối đó là r(R) hoặc r(id;

. 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 Trường An sản xuất và phân phối các loại hoa quả có các
cơ sở cùng bán các loại hoa quả của nhà sản xuất là táo, lê, cam, quýt. Hàng
tháng các cơ sở lập biểu đồ theo dõi số lượng hàng được bán theo từng loại
hoa quả tại mỗi cơ sở. Căn cứ vào các biểu đồ theo dõi của mỗi loại sản phẩm
tại cơ sở 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 Trường An đã xây dựng khối
dữ liệu với tên là BANHANGcụ thể như sau:
Chọn R={id; A1, A2, A 3, A4, A5 }
id = {1/2019,2/2019,..., 12/2019} và các thuộc tính là:
A1: mcs (mã cơ sở)
CSi: cơ sở thứ i
A2: Táo
A4: Cam
A3: Lê

A5: Quýt

16


Với khối BANHANG dướiđây, gồm 3 phần tử: t1, t2, t3.

Hình 2.1: Biểu diễn một phần khối của BANHANG(R)
Với khối BANHANG ở trên, ta thấy:
- Ở Cơ sở 1 (CS1), trong tháng 1, số lượng sản phẩm Táo bán được là
60
t1(1/2019,Táo) = 60
- Ở Cơ sở 2 (CS2), trong tháng 1, số lượng sản phẩm Lê bán được là 40
t2(1/2019,Lê) = 40
2.1.1. Lát cắt
Cho

), r(R) là một khối trên R. Với mỗi

ta kí hiệu r(

là một khối với
{




Khi đó r(

sao cho:

̅̅̅̅̅ với t

}

)} i=̅̅̅̅̅
) được gọi là một lát cắt trên khối r(R) tại điểm x [6]

Ví dụ 2.2
Với khối BANHANG(R) trong ví dụ 2.1, có R=(id;А1,А2,А3,А4,A5)
Trong đó: id={1/2019, 2/2019,...,12/2019} và các thuộc tính A1=macs ;
A2=Táo; A3=Lê; A4= Cam; A5= Quýt.
Khi đó với x = 2/2019

id thì lát cắt r(R2/2019) có dạng như sau:

17


×