Tải bản đầy đủ (.doc) (62 trang)

Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

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 (373.08 KB, 62 trang )

Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
mở đầu
Cơ sở dữ liệu (CSDL) là một trong những lĩnh vực đợc tập trung nghiên
cứu của tin học nhằm giải quyết các vấn đề về quản lý, tìm kiếm và xử lý
thông tin trên các hệ thống thông tin lớn, đa dạng và phức tạp. Cùng với sự
phát triển mạnh mẽ của tin học và máy tính trong đời sống kinh tế, văn hoá,
xà hội,...việc nghiên cứu CSDL ngày một phát triển rộng rÃi và hoàn thiện
hơn.
Hiện nay có rất nhiều loại mô hình cho các hệ csdl nh:
Mô hình mạng (Network model)
Mô hình phân cấp (Hierachical model)
Mô hình quan hệ (Relational model)
Từ những năm 1970, mô hình dữ liệu quan hệ do E.F Codd đa ra đÃ
tạo ra cơ sở toán học chặt chẽ với cấu trúc hoàn chỉnh làm nền tảng cho các
vấn ®Ị nghiªn cøu lý thut vỊ csdl. Víi u ®iĨm về tính cấu trúc và khả
năng hình thức phong phú, csdl quan hệ dễ dàng mô phỏng các hệ thông tin
đa dạng trong thực tiễn tạo điều kiện lu trữ thông tin tiết kiệm, có tính độc
lập và nhất quán cao, dễ sửa đổi, bổ sung cũng nh khai thác dữ liệu, mô hình
quan hệ có sự phát triển mạnh mẽ về lý thuyết và ngày càng đợc sử dụng rộng
rÃi trong việc thiết kế các CSDL lớn và phức tạp. Ngôn ngữ quản trị dữ liệu
cho mô hình quan hệ khá trong sáng và tự nhiên, do đó dễ học, dễ sử dụng,
điều này lý giải cho sự phát triển mạnh mẽ không ngừng của các hệ quản trị
CSDL trên máy tính IBM-PC nh: Dbase, Foxbase, Foxpro, Access, SQL
Forwin, Oracle,...
Mô hình dữ liệu quan hệ đặt trọng tâm hàng đầu không phải tính hiệu
quả của máy tính, mà sự mô phỏng trực quan dữ liệu theo quan điểm ngời
dùng, cung cấp mô hình dữ liệu đơn giản, dễ hiểu, chặt chẽ và có khả năng tự
động hoá thiết kế. Trong bản luận văn này em đà trình bầy một số kiến thức
cơ bản về cơ sở dữ liệu và áp dụng kiến thức này xây dựng chơng trình:
+ Tính bao đóng (A+).
+ Kiểm tra một sơ đồ quan hệ có phải là BCNF hay không ?


Em xin chân thành cảm ơn thầy giáo Vũ Đức Thi đà tận tình hớng dẫn
em trong quá trình làm luận văn, và em cũng xin chân thành cảm ơn Khoa

Hoàng Văn Thủy

1


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
Công Nghệ Thông Tin - Trờng Đại Học Đông Đô đà tạo điều kiện thuận lợi
cho em hoàn thành luận văn này.
Do luận văn này đợc x©y dùng trong thêi gian eo hĐp víi vèn kiÕn thức
hạn chế, cho nên luận văn này không tránh khỏi những thiếu sót. Em mong
nhận đợc những ý kiến đóng góp để kiến thức cũng nh chơng trình đợc hoàn
thiện hơn.
Hà Nội, Ngày 28 tháng 5 năm 2000
Ngời viết
Hoàng Văn Thủy

mục lục
mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
chơng I: Những khái niệm cơ bản về mô hình
cơ sở dữ liệu quan hệ . . . . . . . . . . . . . . . . . 5
1.1 Quan hÖ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Phơ thc hµm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 8
1.3 HÖ tiên đề Armstrong. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.4 Hàm đóng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Sơ đồ quan hệ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.6 Bao ®ãng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.7 Kho¸ cđa quan hƯ, lợc đồ quan hệ, họ f . . . . . . . . . . . . . . . . . . . . . . . . 13
1.8 Tập các phản khóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Hoàng Văn Thủy

2


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
1.9 Nửa dàn giao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.10 HÖ b»ng nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.11 ThĨ hiƯn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.12 Sơ đồ quan hệ tơng đơng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
1.13 Thuộc tính cơ bản, thuộc tính thø cÊp . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.14 Mét sè thuật toán liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
chơng II: Dạng chuẩn đối với quan hệ và
sơ đồ quan hệ . . . . . . . . . . . . . . . . . . . . 37
2.1 Các khái niệm cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2 D¹ng chuÈn 2NF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
2.3 D¹ng chuÈn 3NF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
2.4 D¹ng chuÈn BCNF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5 Các thuật toán liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
chơng III: chuẩn hóa dữ liệu trong thùc tÕ . . . 52
3.1 D¹ng chuÈn thø nhÊt (1NF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
3.2 D¹ng chuÈn 2 (2NF ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
3.3 D¹ng chuÈn 3 (3NF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
3.4 D¹ng chuÈn Boyce Codd (BCNF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
chơng IV: Cài đặt phần mềm tính bao đóng (A+)
và Kiểm tra tính BCNF của sơ đồ quan hệ . . . . . . 63
4.1 Các Thuật toán đợc sử dụng trong chơng tr×nh. . . . . . . . . . . . . . . . . . 63

4.1.1 ThuËt toán tính bao đóng (A+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
4.1.2 Tht to¸n kiĨm tra một sơ đồ quan hệ có là BCNF hay không . . . . . .63
4.2 Phân tích thông tin đầu vào . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.3 Phân tích thông tin đầu ra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
4.4 ThiÕt kế chơng trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
KÕt luËn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Hoàng Văn Thủy

3


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

Chơng I
những khái niệm cơ bản về mô hình
cơ sở dữ liệu quan hệ
Trong mục này trình bầy những khái niệm cơ bản nhất về mô hình dữ
liệu quan hệ của E.F.Codd. Những khái niệm cơ bản này gồm các khái niệm
về quan hệ, phụ thuộc hàm, hệ tiên đề Armstrong, khoá,..
Những khái niệm này đóng vai trò rất quan trọng trong mô hình dữ liệu
quan hệ. Chúng đợc dùng nhiều trong việc thiết kế hệ quản trị cơ sở dữ liệu
(CSDL) nh: Dbase, Foxbase, Foxpro, Oracle, Mega,..
1.1 Quan hệ .
Định nghĩa 1.
Cho R={a1,a2,..,an} là một tập hữu hạn không rỗng các tập thuộc tính.
Mỗi thuộc tính ai có một miền giá trị là D ai. Khi đó r là một tập các bộ
{h1,h2,..,hm} đợc gọi là một quan hệ trên R với hj (j =1, 2,..,m) lµ mét hµm:
hj: R   Dai

ai  R
Sao cho: hj ( ai ) Dai
Với định nghĩa này chúng ta sẽ lập đợc bảng tơng đơng và một bảng tơng đơng cũng sẽ chuyển đợc về định nghĩa này:

Hoàng Văn Thủy

4


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
a1

a2

...............

an

h1 (a1)

h1 (a2)

...............

h1 (an)

h2 (a1)

h2 (a2)


...............

h2 (an)

...........................................
hm (a1)

hm (a2)

...............

hm (an)

Nhận xét:
- Định nghĩa này là quan trọng, toàn bộ cơ sở dữ liệu dựa trên định
nghĩa này, nó là hạt nhân của cơ sở dữ liệu quan hệ.
- Vì h1, h2,.., hm là các thành phần trong tập hợp quan hệ trong r, cho nên các
file đó là khác nhau, vì vậy không chấp nhận có hai bản ghi trùng nhau trong
một file dữ liệu.
Ví dụ: Để lu dữ thông tin về các mặt hàng, ngời ta sử dụng bảng sau:
mặthàng

MÃ hàng

Tên hàng

Màu sắc

Trọng lợng


Tỉnh

P1

Gạch men

Trắng

120

Hà Nội

P2

Sơn

Xanh

450

Ninh Bình

P3

Kính

Nâu

800


Bình Định

P4

Bồn tắm

Trắng

1000

Phú Thọ

Chúng ta có thể quy định kích thớc cho các thuộc tính (các trờng) nh sau:
Tên thuộc tính
MÃ hàng
Tên hàng
Màu sắc
Trọng lợng
Tỉnh

Kiểu
Ký tự
Ký tự
Ký tự
Số
Ký tự

Kích thớc
5
30

15
10
20

Có nghĩa là chúng ta quy định:
Thuộc tính Mă hàng là một xâu ký tự có độ dài không quá 5
Thuộc tính Tên hàng là một xâu ký tự có độ dài không quá 30

Hoàng Văn Thủy

5


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
Thuộc tính Mầu sắc là một xâu ký tự có độ dài không qúa 15
Trọng lợng là một số nguyên không quá 10
Tỉnh là một xâu ký tự không quá 20
Nh vậy ta có tập thuộc tính
mặthàng = { MÃ hàng, Tên hàng, Màu sắc, Trọng lợng, Tỉnh}
ở đây DMÃ hàng là tập các xâu ký tự độ dài không quá 5
DTên hàng là tập các xâu ký tự độ dài không quá 30
DMàu sắc là tập các xâu ký tự độ dài không quá 15
DTrọng lợng là tập các xâu ký tự độ dài không quá 10
DTỉnh là tập các xâu ký tự độ dài không quá 20
Khi đó chúng ta có các quan hệ r = {h 1, h2, h3, h4}, ở đây đối với bản ghi thứ
nhất (dòng thứ nhất) chúng ta có
h1(MÃ hàng) = p1
h1(Tên hàng) = Gạch men
h1(Màu sắc) = Trắng
h1(Trọng lợng) = 120

h1(Tỉnh) = Hà nội.
1.2 Phụ thuộc hàm
Khái niệm vỊ phơ thc hµm trong mét quan hƯ lµ rÊt quan trọng trong
việc thiết kế mô hình dữ liệu. Năm 1970 E.F Codd đà đề cập phụ thuộc hàm
trong mô hình dữ liệu quan hệ, nhằm giải quyết việc phân rà không tổn thất
thông tin. Định nghĩa về khái niệm này đợc phát biểu nh sau:
Định nghĩa 2. (phụ thuộc hµm)
Cho R = { a1, a2,.., an } lµ tËp c¸c thuéc tÝnh, r = { h1, h2,.., hm } là một
quan hệ trên R, và A, B R ( A, B lµ tËp cét hay tËp thuéc tÝnh ). Khi đó ta
nói A xác định hàm cho B hay B phơ thc hµm vµo A trong r
f

( ký ph¸p A  B ) nÕu:
r

(  hi, hj  r) (( a  A ) ( hi(a) = hj(a))  ( b  B ) ( hi(b) = hj(b) ))
Ta sÏ viÕt (A, B) hay A  B thay cho A
Đặt Fr ={(A, B): A, B R, A B }

Hoàng Văn Thủy

f
r

B

6


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

Lúc đó Fr đợc gọi là họ đầy đủ các phụ thuộc hàm của r .
Nhận xÐt:
- Ta cã thĨ thÊy r»ng B mµ phơ thc hàm vào A, nếu hai dòng bất kỳ mà
các giá trị của tập thuộc tính A mà bằng nhau từng cặp một, thì kéo theo các
giá trị trên tập thuộc tính B cũng phải bằng nhau từng cặp một.
- Với định nghĩa này dễ thấy rằng trong các file dữ liệu cột, mà số hoặc số thứ
tự không thể bằng nhau.
Ví dụ: Xét quan hệ

sbd

hoten

BKA0001

Nguyễn Văn An

BKA0002

thisinh
diachi

tinh

khuvực

12 Kỳ lừa

Lạng Sơn


0

Nguyễn Hải Anh

16 Hàng đào

Hà Nội

3

BKA0003

Trần Thúy Anh

33 Hàng bồ

Hà Nội

3

BKA0004

Vũ Thúy Anh

89 Văn lÃng

Lạng Sơn

0


BKA0005

Vũ Vân Anh

40 Trần hng đạo

Hải Dơng

2

Trong quan hệ thisinh, dựa vào định nghĩa phụ thuộc hµm cđa quan
hƯ ta cã:
{ tinh }  { khuvuc }
{ sbd }  { hoten, diachi, tinh, khuvuc }
Kh¸i niệm phụ thuộc hàm miêu tả một loại ràng buộc ( phụ thuộc dữ
liệu) xẩy ra tự nhiên nhất giữa các tập thuộc tính.
Phụ thuộc hàm trên tập các thuộc tính R là một dÃy các ký tự có dạng
A B, ở đây A, B R. Ta nói phụ thuộc hàm A B đúng trong
r nếu A
B . Ta nãi r»ng r tho· m·n A  B.
rf
DÔ thấy Fr là tập tất cả các phụ thuộc hàm đúng trong r.
1.3 Hệ tiên đề Armstrong.

Hoàng Văn Thủy

7


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

Năm 1974, Armstrong đà chỉ ra đợc bốn đặc trng cho một tập phụ
thuộc hàm của một file dữ liệu nào đó. Chúng đợc gọi là hệ tiên đề
Armstrong.
Định nghĩa 3. (Hệ tiên đề Armstrong)
Cho trớc R = {a1, a2,.., an} là một tập hữu hạn không rỗng các thuộc
tính.
ta gọi P(R) x P(R) = {(A, B) : A, B  R }
Khi ®ã : Y  P(R) x P(R) lµ hä f nÕu
 A, B, C, D  R cã
1). (A, A)  Y
2). (A, B)  Y, (B, C)  Y  (A, C)  Y
3). (A, B)  Y, A  C, D  B  (C, D)  Y
4). (A, B)  Y, (C, D)  Y  (A  C, B D) Y
Hệ quả 4. (Tính đầy đủ cuả hệ tiên đề Armstrong)
Armstrong đà chỉ ra rằng, nếu Y là một họ f tuỳ ý thì tồn tại quan hệ r
sao cho Fr = Y.
A
A  (A, A)  Fr
r
A
B
r
A
C
r
B
C
r
A
B (A  C, D  B)  C

D
r
r
VÝ dô: Cho r1, r2 là các quan hệ:
a
b
a b
1
0
1 0
r1 = 1
1
r2= 1 1
2 3
2 3
1 2
1 2
Cã thÓ thÊy r»ng r1 và r2 khác nhau nhng Fr1 = Fr2.
Nh vậy là tơng quan giữa các lớp quan hệ với các lớp họ phụ thuộc hàm
đợc thể hiện bằng hình vẽ sau:

Lớp các quan hệ
1.4 Hàm đóng.

Hoàng Văn Thủy

Lớp các phụ thuộc hµm

8



Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
Định nghĩa 5. (Hàm đóng)
Một hàm L : P(R) P(R), ( P(R) là tập các tập con của R ) đợc gọi là
hàm đóng trên R nÕu víi mäi A, B  P(R):
-

A  L(A)

-

NÕu A  B th× L(A)  L(B)

L (L(A)) = L (A).
Định lý 6.
Nếu F là một họ f và chúng ta đặt LF(A) = { a: a R: (A,{a}) F}
Thì LF là một hàm đóng. Ngợc lại nếu L là một hàm đóng thì tồn tại duy nhất
một họ f F trªn R sao cho L = LF . F đợc chỉ ra theo cách sau:
F = {(A, B): A, B  R, B  L(A)}.
Nh vËy, chóng ta thÊy có sự tơng ứng 1 - 1 giữa lớp các hàm đóng và
lớp các họ f. Sự tơng ứng này đợc minh hoạ bằng hình vẽ sau:
-

Lớp các họ phụ thuộc hàm

Lớp các hàm đóng

1.5 Sơ đồ quan hệ.
Định nghĩa 7.
Cho trớc R = {a1, a2,.., an} là tập các thuộc tính.

Khi đó s là một sơ đồ quan hệ, s = < R, F >
A 1  B1
A 2 B2
F= ......
......
A t Bt
ở đây Ai, Bi R ( i = 1,...,t ) vµ Ai  Bi là phụ thuộc hàm
Ví dụ: Cho sơ đồ quan hệ s = < R, F >, víi R = {a1, a2, a3, a4}

Hoàng Văn Thủy

9


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

F=

{a1} {a3, a4}
{a2} {a3 }
{a3} {a4}

cột 1 xác định hàm với cột 3 cột 4
cột 2 xác định hàm với cột 3
cột 3 xác định hàm với cột 4

1.6 Bao đóng
Định nghĩa 8. (Bao đóng của các tập phụ thuộc hàm)
Giả sử F là tập các phụ thuộc hàm trên sơ đồ quan hƯ s = < R, F >. Gäi
F+ lµ tËp tất cả các phụ thuộc hàm có thể suy dẫn lôgic từ F bởi các luật của

hệ tiên đề Armstrong. Khi ấy F+ đợc gọi là bao đóng của F.
Định nghĩa 9. (Bao đóng của tập các thuộc tính)
Giả sử s = < R, F > là sơ đồ quan hệ trên tập các thuộc tính R, A R
ký hiÖu A+ = { a: A {a}  F+}. A+ đợc gọi là bao đóng của A trên s
Rõ ràng A  B  F+ nÕu vµ chØ nÕu B A+ .
Định nghĩa 10. ( Bao đóng của một tập thuộc tính trên tập phụ thuộc
hàm của một quan hệ)
Giả sử r = { h1, h2,.., hm } là mét quan hƯ trªn R = { a1, a2 ,..., am }.
Ta đặt
A+r ={a : A f {a}}
r
A+r đợc gọi là bao đóng của A trên r
1.7 Khóa của quan hệ, sơ đồ quan hệ, họ f.
Định nghĩa 11.
Giả sử r = { h1, h2,.., hm} lµ mét quan hƯ, s = < R, F > là một sơ đồ quan
hệ, trong đó R = {a1, a2,..., an} là tập các thuộc tính, F là tập tất cả các phụ
thuộc hàm trên R. Gọi Y là một họ f trên R vµ A  R. Khi Êy A lµ mét khoá
của r ( tơng ứng là một khoá của s, mét khãa cña Y) nÕu:
A
R ( A  R  F+, (A, R) Y).
Nghĩa là Afr phải thoả mÃn các tính chất sau đây:
Với bất kỳ hai bộ h1, h2 r đều tồn tại một thuộc tính a A sao cho h1(a)
h2(a). Nói cách khác, không tồn tại hai bộ mà có giá trị bằng nhau trên mọi
tập thuộc tính của A. Điều kiện này có thể viết t 1(A) t2(A). Do vậy, mỗi giá
trị của A xác định là duy nhất. Khi biết giá trị thuộc tính trong A sẽ biết đ ợc
các giá trị của thuộc tính khác.
Theo định nghĩa của Codd: Nếu có hai dòng bằng nhau trên các giá trị
của khoá A thì sẽ kéo theo bằng nhau trên tất cả các cột còn lại. Nh vậy sẽ có

Hoàng Văn Thủy


10


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
hai cột bằng nhau, điều này không thể có đợc và nếu có thì đấy là dữ liệu
nhầm lẫn.
Chúng ta gọi A ( A R) là một khoá tối tiểu của r ( tơng ứng của s,
của Y) nếu:
+ A là một khoá của r (s,Y) tøc A  R
+ BÊt kú mét tËp con thực sự của A không là khoá của r (s, Y) hay
không tồn tại A' tập con thực sự A' A mà A' R.
Nhận xét:
Khoá chính là hình ¶nh cđa cét m· sè hay sè thø tù (v× số thứ tự không
thể chùng nhau đợc).
Khóa đóng một vai trò rất quan trọng vì nhờ có nó ngời ta mới tìm
kiếm đợc (tìm kiếm bản ghi ). Phép toán tìm kiếm bản ghi trong file dữ liệu là
phép toán quan träng nhÊt v× chØ sau khi t×m kiÕm song thì ngời ta mới tiến
hành loại bỏ bản ghi ấy hoặc bổ sung một bản ghi mới vào trớc hoặc sau bản
ghi mà ta đà tìm đợc.
Dù rằng dễ thấy A cã thÓ chÝnh b»ng R nhng ngêi ta vÉn phải đi tìm
khóa tối tiểu, tức là khóa nhỏ nhất mà không thể nhỏ hơn đợc nữa để việc so
sánh các giá trị khóa với nhau trong quá trình tìm kiếm bản ghi là nhanh nhất.
Một sơ đồ quan hệ cã thĨ cã nhiỊu khãa, thËm chÝ cßn cã nhiỊu khoá
tối tiểu.
Ví dụ: Ta có bảng quan hệ sau:
MH
1001
1002
2012


BAN_HANG
TEN_HANG
Thép phi 8
Sắt phi 14
Xi măng

SO_LUONG (kg)
1000
500
2000

Trong bảng trên mà số mặt hàng (MH) là khoá. Mỗi giá trị MH đều
xác định duy nhất một loại mặt hàng trong quan hệ BAN_HANG
Ký hiệu Kr , Ks , Ky là tập tất cả c¸c kho¸ tèi tiĨu cđa r (s, Y).
NÕu ta cã: K ={K1, K2,.., Kn}
ở đây, Ki (i = 1,.., t) là các tập con của R, nếu có tính chất sau:
+ Ki kh«ng bao giê n»m trong Kj ( Ki Kj ) thì K đợc gọi là một hệ
Sperner.
Dễ thấy Kr , Ks , Kv là hệ Sperner trên R.

Hoàng Văn Thủy

11


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

1.8 Tập các phản khoá
Tập phản khóa đóng vai trò quan trọng trong quá trình nghiên cứu cấu

trúc logic của các họ phụ thuộc hàm, khóa, dạng chuẩn, quan hệ Armstrong,
đặc biệt đối với các bài toán tổ hợp trong mô hình dữ liệu quan hệ.
Đinh nghĩa 12.
Giả sử K = {K1, K2,.., Kt} là một hệ Sperner trên R = {a1, a2,.., an}. Ta
định nghĩa tập các phản khoá của K ký hiệu K-1 nh sau:
K-1 = { A  R : (B  K)  ( B  A) vµ ( A  C)  ( B  K) (B  C)}
NhËn xÐt:
NÕu K đóng vai trò là một tập các khoá tối tiểu của một sơ đồ quan hệ
nào đó thì theo định nghĩa K-1 là tập tất cả các tập không phải là khoá lớn
nhất.
- Dễ thấy rằng K-1 cũng là hệ Sperner trên R.
- ở đây ta luôn giả thiết rằng nếu một hệ Sperner đóng vai trò tập các khoá tối
tiểu (tập các phản khóa), thì hệ Sperner không rỗng ( Không chứa R).
- Demertovics.J. đà chứng tỏ rằng nếu K là một hệ Sperner tuỳ ý, thì tồn tại
một sơ đồ quan hệ s sao cho Ks = K và tồn tại quan hệ r để Kr = K.
1.9 Nửa dàn giao
Định nghĩa13.
Cho I P(R). Khi đó I đợc gọi là nửa dàn giao nếu
R I và A, B I A B I.
Định nghĩa 14.
Giả sử I là một nửa giàn giao. Giả sư M  P(R). Ký hiƯu
M+ = { M': M'  M}. Ta nãi r»ng M lµ hƯ sinh cđa I nÕu vµ chØ nÕu M+ = I.
Chó ý: R M+ nhng không thuộc M vì nó là giao của một họ rỗng các tập
hợp.
-

Ký hiệu NI ={AI: A {A' I: A A'}}.

-


Demertovics.J đà chứng minh đợc r»ng NI lµ hƯ sinh nhá nhÊt vµ
duy nhÊt cđa I. Do vËy víi mäi hƯ sinh N' cđa I ta có NI N'.

Hoàng Văn Thủy

12


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

1.10 Hệ bằng nhau .
Định nghĩa 15.
Giả sử r = { h1, h2,.., hm } là mét quan hƯ trªn R = { a1, a2,.., an }
Đặt Er = { Eij : 1 ij | r | } trong ®ã Eij = {a  R: hi(a) = hj(a)},
Er đợc gọi là hệ bằng nhau cđa r
Gi¶ sư Mr = { AP (R) :  Eij = A,  Epq :A  Epq}
Khi ®ã Mr đợc gọi là hệ bằng nhau cực đại của r .
Nhận xét:
Hệ bằng nhau và hệ bằng nhau cực đại đóng một vai trò quan trọng
trong các thuật toán thiết kế cũng nh mối quan hệ giữa các lớp quan hệ và
lớp các phụ thuộc hàm trong quá trình nghiên cứu cấu trúc logic của lớp các
phụ thuộc hàm.
Ví dụ: Cho quan hÖ r.
a1 a2 a3 a4 a5
1
1 0 1
0
1
0 0 3
0

3
1 1 3
1
5
1 0 3
0

Hoàng Văn Thủy

13


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

Hoàng Văn Thủy

14


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

Hoàng Văn Thủy

15


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

Hoàng Văn Thủy


16
A
Eij


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
Trớc hết ta sẽ chứng minh rằng nếu r là một quan hệ trên R
và A  R:


LFr (A) =

Eij nÕu tån t¹i Eij  Er: A Eij

A Eij

R ngợc lại
Trờng hợp 1: Giả sử không tồn tại E ij Er sao cho A  Eij , nh vËy víi mäi
hi, hj  r tån t¹i a  A : hi(a)  hj(a). Do đó theo định nghĩa phụ thuộc hàm
ta có A R.
Nhng do định nghĩa của LFr: LFr(A) = {a  R: (A, {a}) LFr}. Nh vËy
LFr(a) = R
-

HiĨn nhiªn LFr() = Eij

Trờng hợp 2: Giả sử A và tồn tại Eij Er sao cho A Eij . Khi ấy ta
đặt
V = { Eij : A  Eij, Eij  Er } vµ E = Eij
Eij  V


DÔ thÊy A  E.
+ NÕu V = Er thì mọi Eij đều chứa A và E, do ®ã a  A, i,j :
hi(a) = hj(a) b  E i,j : hi(b) = hj(b). VËy ta cã thÓ nãi A  E
hay (A, E)  Fr.
+ NÕu V  Er th×
 Eij  V bao giê cịng tån tại a A sao cho hi(a) hj(a). Do đó hi(a) =
hj(a)  a A chØ cã thÓ xÈy ra víi c¸c i,j cã EijV.
Khi Êy b  E : hi(b) = hj(b) víi nh÷ng i, j cã Eij  V (do định nghĩa
của E)
Suy ra (A, E) Fr.
Từ định nghĩa của LFr: LFr(A) ={aR: (A,{a}) Fr} và (A, E)  Fr ta cã
A  E  LFr(A).
V× r là một quan hệ trên R ta có E R. Nh vËy (E, LFr(A))Fr (1)
Ta sÏ chøng minh r»ng E = LFr(A).

Hoàng Văn Thủy

17


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
Giả sử LFr(A) chứa thuộc tính c, cE. Khi đó tồn tại Eij V mà c Eij
do đó tồn tại cặp hi, hj r mµ b E: hi(b) = hj(b) nhng hi(c)  hj(c).
Nh vậy theo định nghĩa phụ thuộc hàm, c không phụ thuộc hàm vào E, trái
với (1).
Ta có thể kết luận LFr(A) = E =  Eij
EijV

Nh vËy LFr(A) = LFr(A) . Do định lý về sự tơng ứng 1-1 giữa các hàm

đóng và họ f, điều đó tơng đơng với F = Fr.
Hệ quả 18.
Giả sử r là một quan hệ, F là một họ f trên R. Khi đó r thể hiện F nếu
và chỉ nếu Z(LFr) = Er+
Định nghÜa 19.
Cho tríc quan hƯ r vµ hƯ Sperner K trªn R. Chóng ta nãi r»ng r thĨ
hiƯn K nÕu Kr = K.
Định nghĩa 20.
Cho F là một họ f trên R, (A, B) là một phần tử của F.
Ta nói (A, B) là một phụ thuộc có vế phải cực đại của F nếu với mọi B' (B
B') vµ (A, B')  F kÐo theo B = B'.
Ta ký hiệu M(F) là tập tất cả các phụ thuộc có vế phải cực đại của F
Định nghĩa 21.
Ta nói rằng B là vế phải cực đại của F nếu cã A sao cho (A, B) 
M(F) vµ ta ký hiệu I(F) là tập tất cả các vế phải cực đại của F.
1.12 Sơ đồ quan hệ tơng đơng.
Định nghĩa 22.
Giả sử s = <R, F> và t = <R, G> là hai lợc đồ quan hệ trên R. Ta nói
s là tơng đơng với t nếu F+ = G+. Trong trờng hợp này ta có thể nói s là phủ
định của t hoặc t là phủ định của s.
Nhận xét:
Dễ dàng kiểm tra xem t và s có tơng đơng không, bằng cách sau:
Lấy mỗi phụ thuộc hàm Y  Z cđa F kiĨm tra xem cã thc G + hay không
và ngợc lại.
Ví dụ: Xét hai sơ đồ quan hệ

Hoàng Văn Thủy

18



Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu
s = <R, F> và t = <R, G> trong ®ã
R = {a, b, c, d}
{a, b}  {c}
F = {a}  {d}
{b, d}  {c}
{a, b, d}  {c, d}
G = {a}  {d}
{b, d}  {c}
XÐt tõng phơ thc hµm trong F. Hai phơ thuộc hàm sau đà nằm trong G

Xét {a, b}{c}. Kiểm tra xem phơ thc hµm nµy cã thc G+ hay không.
Tính {a, b}+ đối với G
A0 = {a, b}
A1 = {a, b, d} = R do {a}  {d}
A2 = {a, b, c, d} = R do {a, b, d} {c}
Ta tìm đợc {a, b}+ ={a, b, c, d}.
Vậy {c} {a, b}+ đối với G, tức là {a, b} {c} G+
XÐt tõng phơ thc hµm trong G. Hai phụ thuộc hàm sau đà nằm trong F.
Xét phụ thuộc hµm {a, b, d}  {c, d} G. KiĨm tra xem phụ thuộc hàm
này có thuộc F+ hay không.
Tính {a, b, d}+ ®èi víi G:
A0 = {a, b, d}
A1 = {a, b, c, d} = R do {a, b}{c}
Ta t×m ®ỵc {a, b, d}+ ={a, b, c, d}.
VËy c, d {a, b, d}+ đối với F, tức là {a, b, d}{c, d} F+
Định nghĩa 23. (Hai quan hệ tơng đơng với nhau)
Giả sử r1 và r2 là hai quan hệ trên R. Khi đó r1 tơng đơng với r2 nếu
Fr1 = Fr2.

Định lý 24.
Giả sử r và v là hai quan hệ trên R. Khi đó r tơng đơng với v khi và
chỉ khi Nr = Nv .

Hoàng Văn Thñy

19


Một số vấn đề liên quan đến dạng chuẩn trong hệ cơ sở dữ liệu

1.13 Thuộc tính cơ bản, thuộc tính thứ cấp.
Định nghĩa 25. (Thuộc tính cơ bản, thuộc tÝnh thø cÊp)
Gi¶ sư r = { h1, h2,.., hm } là một quan hệ trên R = { a1, a2,.., an } và Kr
là tập tất cả các khóa tèi tiĨu cđa r. Ta nãi a lµ mét thc tính cơ bản của r
nếu tồn tại một khoá tối tiểu K (K Kr ) để a là một phần tử của K.
Nếu a không là thuộc tính cơ bản, a sẽ đợc gọi là thuộc tính thứ cấp.
Nhận xét:
Thuộc tính cơ bản và thuộc tính thứ cấp đóng một vai trò quan trọng
trong việc chuẩn hóa các sơ đồ quan hệ và các quan hệ.
Đinh lý 26.
Cho trớc một sơ đồ quan hệ s = < R, F > và một thuộc tính a. Bài
toán xem a có phải là thuộc tính cơ bản hay không là bài toán NP - đầy
đủ.
1.14 Một số thuật toán liên quan
Thuật toán 1. (Tìm tập các thuộc tính cơ bản của mét quan hƯ trªn R)
Input: r = { h1, h2, ..., hm} là một quan hệ trên R
Output: V là tập tất cả các thuộc tính cơ bản của r
Phơng ph¸p:
Bíc 1: Tõ r = { h1, h2,.., hm } ta x©y dùng mét tËp Er

Er = {Eij : 1 i < j  m }
Trong ®ã Eij = { a : a  R vµ hi(a) = hj(a) }
Bíc 2: Tõ Er ta x©y dùng tËp M
M = { B  P(R): Tån t¹i Eij  Er: Eij = B }
Bíc 3: Tõ M x©y dùng tËp Mr
Mr = { B  P(R) : B'  M : B  B' }
Bíc 4: X©y dùng tËp V = R\ Mr
Nhận xét:

Hoàng Văn Thủy

20



×