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

CHƯƠNG V: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU pps

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 (276.38 KB, 13 trang )

CHƯƠNG V: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU

Cơ sở dữ liệu (CSDL) là nơi lưu trữ lâu dài các dữ liệu của hệ thống ở bộ nhớ
ngoài. CSDL này phải được tổ chức tốt theo hai tiêu chí:
1. Hợp lý, nghĩa là phải đủ, không dư thừa.
2. Tiện lợi khi truy nhập, nghĩa là thao tác tìm kiếm, cập nhật, bổ sung và loại
bỏ các thông tin phải diễn ra một cách nhanh chóng, thu
ận tiện.
Nội dung của chương này là giới thiệu một số công cụ thường dùng trong quá
trình xây dựng CSDL.
I. PHỤ THUỘC HÀM

Khái niệm về phụ thuộc hàm (trong một quân hệ) là một khái niệm có tầm quan
trọng hết sức lớn đối với việc thiết kế các mô hình dữ liệu. Để biết được phụ thuộc
hàm là gì ta xét ví dụ sau:

Ví dụ:








Þ Bấ
t hợp lý à đưa ra rang buộc nếu 2 bộ dữ liệu bằng nhau trên SOXE thì
bằng nhau trên LOAIXE và bằng nhau CHUSH
Þ Ràng buộc như vậy ta gọi là phụ thuộc hàm.
Như vậy: Phụ thuộc hàm là một loại ràng buộc dữ liệu nhằm đảm bảo các bộ dữ
liệu nếu bằng nhau trên tập thuộc tính này thì bằng nhau trên tập thuộc tính khác.


I.1.Một số định nghĩa

Định nghĩa 1:

Cho một quan hệ
r định nghỉatên lược đồ quan hệ R. X,Y

R ta nói phụ thuộc
hàm X xác địnhu hàm Y hay Y thuộc hàm vào X, ký hiệu: X Y đúng trên r nếu ở
trong r không tồn tại bất kỳ 2 bộ dữ liệu t1, t2 mà:
+ t1[X] = t2[X]
+ t1[Y] t2[Y]

Nhận xét:

·
Nếu phụ thuộc hàm X xác định hàm Y đúng trên r thì ta nói r thỏa X Y.
·

Cho quan hệ r (R), F là một tập các phụ thuộc hàm được định nghĩa như
sau:
F=

Ta nói r thỏa F ( hay đúng trên R) nếu r thỏa tất cả các phụ thuộc hàm trong
F.




{

}
R⊆ΥΧΥ→
Χ
,/
SOXE LOAIXE
CHUSH


92N95501 DREAMII NAM
92N95502 WAVE@ HOA
92N95504 DREAMII MY
92N95501 @ NAM
XEMAY=
· Cho lược đồ quan R, F là một tập phụ thuộc hàm trên R. Một quan hệ tương
ứng với R chỉ được gọi là thể hiện của R nếu quan hệ đó thỏa F.
Định nghĩa:

Cho một quan hệ r định nghĩa trên lược đồ quan hệ R: X, Y Í R. Xét quan hệ
r, giả sử thỏa thuộc hàm X®Y và nếu không tồn tại một tập con thật sự X’ của
X sao cho r cũng thỏa phụ thuộc hàm X®Y thì ta nói Y phụ thu
ộc hàm đầy đủ
vào X trong r.
Người ta dùng ký hiệu FD (Functional Dependency) để chỉ phụ thuộc
hàm và FFD (Functinoal Dependency) để chỉ phụ thuộc hàm đầy đủ.
Định lý 2.1:

Cho một quan hệ r định nghĩa trên lược đồ quan hệ R. X,Y R, ta có:
-
X ® Y là phụ thuộc hàm trên r khi và chỉ khi X là khóa của quan hệ r(XY).
-


X ® Y là phụ thuộc hàm đầy đủ trên r khi và chỉ khi X là khóa tối thiểu của
quan hệ r(XY).
II.2. Hệ tiên đề cho phụ thuộc hàm

Hệ tiên đề Armstrong
Gọi r(R) là lược đồ quan hệ với R={A
1
, A
2,
,A
n
} là tập các thuộc tính; giả sử
X, Y, Z Í R, hệ tiên đề Armstrong bao gồm:
A1: Tính phản xạ: Nếu Y Í X thì X ® Y
A2: Tính tăng trưởng: Nếu Z Í R, X ®Y thì ZX® ZY, trong đó ZX = Z È X.
A3: Tính bắc cầu: Nếu X®Y và Y® Z thì X ®Z.

Ví dụ:
Xét một số ví dụ áp dụng: Cho AB ® C, C®A. Chứng minh: BC®ABC

Chứng minh:

Theo giả thiết: C ® A suy ra BC ® AB (1) (Tính tăng trưởng)
Mặt khác ta có: AB ® C (giả thiết)
Suy ra: AB ® ABC (2) (tính tăng trưởng)
Từ (1) và (2) suy ra B ® ABC (tính bắc cầu).
a.

Bổ đề 1


Hệ tiên đề Armstrong là đầy đủ, có nghĩa là nếu F là tập phụ thuộc hàm đúng
trên quan hệ r và f: X ® Y là một phụ thuộc hàm được suy dẫn từ F nhờ hệ
tiên đề Armstrong thì f đúng trên r.
b. Bổ đề 2:

A4: Tính hợp: Nếu X® Y và X ® Z thì X ®Y Z.
A5: Tính tự bắc cầu: Nếu X

Y và WY

Z thì XW

Z.
A6: Tính tách: Nếu X

Y và Z

Y thì X

Z.
c. Bao đóng của tập thuộc tính:


Định nghĩ
a:

Cho lược đồ quan hệ R, tập thuộc tính hàm F trên R . X R, bao đóng của X
theo F là một tập các thuộc tính được định như sau:
X

+
F
={A/A R, F |= X

A}



A

Ví dụ:

Cho R = (A, B, C, D )
F = {A

C, CD

B, BD

E}

Tính bao đóng: AD, AB

AD
+
F
= ADCBE

AB
+

F
= ABC

Thuật toán tìm bao đóng của tập thuộc tính trong lược đồ quan hệ:
- Cho tập phụ thuộc hàm F trên tập thuộc tính R và một tập con các thuộc tính
X, X
+
ta xuất phát từ thuộc tập X và bổ sung dần cho X các thuộc tính vế phải P
của các phụthuộc hàm T

P Î F thỏa điều kiện T X. Thuật toán sẽ dừng khi
không thể bổ sung thêm thuộc tính nào cho X.
Thuật toán :

Đầu vào
: - LĐQH p = (R, F )
- Tập thuộc tính X R


Đầu ra
: X
+
F
= {A /A R , F |= X

A }


Phương pháp:


Y := X ;


Repeat

Z := Y;
For each FD T

P in F do
If T Y then Y:= Y P
Until Y := Z;
X
+
F
= Y

Ví dụ:


Cho quan hệ r trên lược đồ quan hệ R(A, B, C, E, F ) và F là tập phụ thuộc
hàm:
F = { A

E , DC

B , F

C,A

D }. Tìm bao đóng của A và AF .

Ta có :
A
+
= AED

AF
+
= AFECDB.

d. Bổ đề

X

Y có thể suy dẫn từ F nhờ hệ Armstrong khi và chỉ khi Y X
+

Chứng minh
() Nếu F |= X

Y thì Y X
+

Đặt Y = A
1,
A
2,…
A
n

A

i
Y ta có F |= X

A
i
(luật tách)
A
i
X
+
YX
+

() Y X
+
thì F |= X

Y

Gọi Y = A
1
,A
2
,…, A
n
.











∀ ∈






A
A
i
( i=1,…,n), A
i
Î

X
+

F |= X

A
i
(
i
= 1,…,n)

F |= X

Y (hợp).
e. Dùng bao đóng của tập thuộc tính để xác định khóa một lược đồ quan
hệ

Định lý

Cho R là một tập các thuộc tính, F là tập phụ thuộc hàm trên R và X R. K là
khóa của R dưới F khi và chỉ khi K
+
= R

Ta có thuật tóan tìm khóa của lược đồ như sau :
Xuất phát từ một siêu khóa K , lọai dần các thuộc tính trong K, bảo tòan bbất
biến K
+
=R


Thuật toán:

Đầu vào: LĐQH p = (R,F)
Đầu ra: khóa K R thỏa mãn:
- K
+
=R.

- "A R: (K\A)
+

¹ R.


Phương pháp:

:= R {K là khóa}
or mỗi A Î R do
F (K\A)
+

Ví dụ
: Cho quan hệ r trên lược đồ quan hệ R=(A,B,C,D) và tập phụ thuộc hàm
F:
F= {AB C, C A, B D}. Tìm khóa của lược đồ quan hệ R.

Ta có:

+ giả sử K là khóa, ta có: K= ABCD
+ Loại A trong K ta được K = BCD (1), nếu loại C trong K ta được K = ABD (2)
+ Loại D trong K ở (1) ta được K = BC là khóa
+ Loại D trong K (2) ta được K = AB là khóa.
+Vậy khóa của lược đồ quan hệ: K ={BC, AB}

Nhược điểm: +Bắt đầu tập khoía với số lượng thuộc tính lớn
+Xét tất cả
thuộc tínhtrong R(A X).

Nhận xét:

+Những thuộc tính nào xuất hiện duy nhất ở phía phải tập phụ thuộc hàm

₣thì tham gia vào khóa.
+Những thuộc tính xuất hiện duy nhất ở phía trái thì chắc chắn tham gia vào
khóa.
+Những thuộc tính không xuất hiện trong các phụ thuộc hàm chắc chắn phải
tham gia vào khóa
+Những thuộc tính vuầ nằm ở vế phải là thuộc tính có khả năng tham gia
vào khóa hoặc không tham gia vào khóa.








Từ nhận xét trên ta có:
Cho <R,F>
Gọi T= X (Tập những thuộc tính xuất hiệnở vế trái trong trong PTH F)
X

YF
P = Y (tập những thuộc tĩnhuất hiện ở vế trảitong PTH F).
X

YF

Nếu k là khóa thì:


(R\P) K (R\P) (T P)



a) Cải tiến:

T:= X
X

YF
P := Y
X

Y F
K:=(R\P) (T P)
For mỗi thuộc tínhA T Pdo
If (K\A)
+
=R then

K=K\A
Return k;
Như vậy trong cả 2 phương pháp trên ta có kết luận.
Bắt đầu với một siêu khóathid ta có thể tồn được khóa
+ Nếu (R\P)
+
=R thì được đồ quan hệ R chỉ có duy nhất một khkóa

+ Nếu T P= Æ thì trên lược đồ quan hệ Rchỉ có duy nhất 1 khóalà R
f
. Dùng đồ thị của tập phụ thuộc hàm để xác định khóa của một lược đồ
quan hệ


1. Đồ thị của một tập phụ thuộc hàm

Ta có thể biểu diển một phụ thuộc hàm bằng một đồ thị như sau:



- Phụ thuộc hà m A® B



- Phụ thuộc hàm AB ® C



-Phụ thuộc hàm ABC ® D






⊆⊆






∪∩

∈∩

A
B
A
B
C
A
B
D



- Hàm phụ thuộc A ® BC


Đồ thị của một tập phụ thuộc hàm:Cho một tập phụ thuộc hàm F,ta có thể biểu
diển thành một đồ thịvới qui tắc: Mỗi một thuộc tính là một đỉnh trong đồ thị.
Ví dụ
:
Cho một tập phụ thuộc hàm F={A ®B, AB ®C, B®D,CD®E} ta biểu diễn
thành đồ thị sau:



Trong đồ thị, ta định nghĩa :
Đỉnh gốc: là đỉnh mà ch
ỉ có điểm đi của mủi tên.
Ví dụ:
Đỉnh A của đồ thị trên

Đỉnh ngọn: là đỉnh chỉ có điểm đến của mũi tên.
Vi dụ:
Đỉnh E của đồ thị trên
Đỉnh trung gian: là đình vừa có điểm đến, vừa có điểm đi của mũi tên.
Ví dụ:
Đỉnh B, C, D của đồ thị trên.
2. Dùng đồ thị của một tập ph
ụ thuộc hàm để xác định khóa của lược đồ
quan hệ
:
Cho lược đồ quan hệ r (R) và tập phụ thuộc hàm F trên R.
Thuật giải dùng đồ thị để tìm phụ thuộc hàm F trên R
- Các đỉnh gốc của đồ thị để tìm khóa lược đồ quan hệ.
- Các đỉnh gốc của đồ thị là khóa của lược
- K là tập các đỉnh gốc:
Nếu K
+
F
= R thì K là khóa.

Ngược lại, ta thêm lần lượt vào K một số thuộc tính là đỉnh trung gian cho
đến khi K
+
F
= R.

Trong đồ thị của ví dụ trên, A là khóa của R.
g. Phủ của tập phụ thuộc hàm

Cho tập phụ thuộc hàm F và G trên tập thuộc tính R.


Định nghĩa 1

- Ta nói F suy ra G, ký hiệu F|= G, nếu và chỉ nếu G
+
Í F
+
.

- Ta nói F và G tương đương, ký hiệu F º G, nếu và chỉ nếu F|=G và G|=F, khi
đó ta nói G là một phủ của F và ngược lại.

Định nghĩa 2

Tập phụ thuộc hàm F gọi là tối thiểu nếu:
1. "f ÎF Þ X ® A (vế phải chỉ có 1 thuộc tính)
C
A
B
C
A
B
C
D
E
2. Không tồn tại f= X ® A Î F và Z Ì X thỏa F
+
= (F\{F} È {Z A})
+


3. Không tồn tại f = X ® A Î F sao cho F
+

= (F\{f}
+

Định nghĩa 3:

Tập phụ thuộc hàm F, tập phụ thuộc hàm G gọi là phủ tối thiểu của F khi và ch


khi G là một phủ của F và G là tối thiểu.
Ví dụ:
Xét lược đồ quan hệ R(A,B,C,D,E) và tập phụ thuộc hàm:
F={AB ® C, C ® A, CB ® DE, AB ® DE}
Ta thấy CB ® DE là thừa.
Xét F’ ={AB®C, C® A, AB ® DE}
F º F’/ F’ |= CB ® DE (vì CB
+
F
= CBADE)

·

Mọi tập phụ thuộc hàm đều tương đương với một tập thuộc hàm mà vế
phải của các phụ thuộc hàm chỉ có duy nhất một thuộc tính.
·

Hiển nhiên nhận xét trên là đúng: Nếu trong F có một phụ thuộc hàm
·


X ® A
1
A
2
A
n
thay bởi X ® A
1
, X ® A
2
, X ® A
n
.
·

Cho 1 tập phụ thuộc hàm F, phụ thuộc hàm X ® A Î F là thừa nếu:
+ Một tập phụ thuộc hàm được gọi là không dư thừa nếu không có bất cứ một
phụ thuộc hàm nào là thừa.
+ Cho một tập hợp thuộc hàm F, X "A Î F. X ® A là thừa A Î X
+
F\{A ®A}



Phương pháp để loại các thuộc tính dư thừa trong F:

For mỗi X ® A Î F do
IF A Î X
+

F\{A ®A}

then

F:=F\{X"A};
RETURN F.
Ÿ Cho một tập phụ thuộc hàm F, X ® A Î F, B Î X, B được gọi là thừa nếu:
F\ {A ® A} È {X\B ®A} º F
Ví dụ :
Xét tập phụ thuộc hàm F
F={AB"C, A"D, D"B}
Xét AB ® C Þ B là thừa
Do F’= {A ® C, A ® D, D ® B} º F
Ÿ Cho tập phụ thuộc hàm F, X ® A Î F, B Î X là thừa Û A Î (A|B)
+

Phương pháp loại các phụ thuộc hàm dư thừa:

For mỗi X ® A Î F do
For mỗi B ÎX do
IF AÎ(X\B)
+
F
then

F=F\{X ® A} È {X\B ® A}
Ÿ Một tập phụ thuộc hàm được gọi là cực tiểu nếu thỏa mãn các điều kiện
sau:
(1) Mỗi một phụ thuộc hàm chỉ có duy nhất 1 thuộc tính ở vế phải .
(2) Không tồn tại bất cứ 1 phụ thuộc hàm nào mà vế trái có những thuộc tính

thừa.
(3) Không tồn tại bất cứ 1 phụ thuộc hàm nào thừa.
Cho một tập phụ thuộc hàm F nếu G là tập phụ thuộc hàm tương đương với F.
Mà G là cực tiểu thì ta nói G là phủ cực tiểu của F.
·


Phương pháp để tìm phủ cực tiiểu của R.

Bước 1: Làm cho F thỏa mãn điều kiện (1)
Bước 2: Làm cho F thỏa mãn điều kiện (2)
Bước 3: Làm cho F thỏa mãn điều kiện (3)
II. TÁCH MỘT QUAN HỆ
Như ta đã biết mô hình quan hệ do cold đề xuất năm 1970, có những ưu điểm
vượt trội so với các mô hình dữ liệu trước đó:
-

Đơn giản
:
các dữ liệu được biểu diễn dưới dang duy nhất, là các bảng giá trị,
khá tự nhiên và dễ hiểu đối vớimọi người sử dụng.
-

Chặt chẽ
:
Các khái niệm được hình thức hóa cao ,cho phép sử dụng các
công cụ
Toán học,các thuật toán.
- Trựu tượng hóa cao: mô hình chỉ ở mức quan niệm, nghĩa là độc lập với các
mức vật lý, với sự cài đặt, với thiết bị. Nhờ đó mà làm tăng thêm tính độc lập

giữa dữ liệu và chương trình.
- Cung cấp các ngôn ngữ truy cập dữ liệu ở mức cao (như SQL,….): nhờ đ
ó dễ
sử dụng và trở thành chuẩn.
Tuy vậy, khi cần thiết kế một dữ liệu quan hệ thường đòi hỏi phải các lượt đồ
quan hệ. Việc chọn tập các lược đồ này có thể tốt hơn hay xấu hơn tập các lược đồ
khác dựa trên một số tiêu chuẩn nào đó. Trọng tâm của việc thiết kế các lược đồ cơ
sở dư
liệu là ta tổ chức bao nhiêu lược đồ và mỗi lược đồ có nhưng thuộc tính nào
để đảm bảo các tinh chất sau :
Không trùng lặp dữ liệu liệu: Trong một quan hệ, giá trị của một thuộc tính nào
đó chiếm dung lượng bộ nhớ lớn không được lặp lại nhiều lần.
II.1.Tách một lược quan hệ

Phép tách một lược đồ quan hệ R=A
1,
A
2,……….
A
n


việc thay thế lược đồ
quan hệ R bằng một tập lược đồ R
1,
R
2,………
R
n
trong đó R

i
R,i=1…n.
R
1
R
2


R
3
R
n
và R
i
R
J
với i j.
Ví dụ
: Với lược đồ quan hệ :r
(M_HANG,MAKH,TENKH,DCKH,SOLUONG,DONGIA)tacó phụ thuộchàm :
r1(M_HANG,MAKH,SOLUONG,DONGIA),r2(MAKH,TENKH,DCKH)
Việc phân rã một lược đồ phụ thuộc hàm xác định trên lược đồ ấy .
a. Phép tắc bảo toàn thông tin

Định nghĩa 1:

Cho một lược đồ quan hệ Rvà tập phụ thuộc hàm F trênR .Phép tách của lược
đồ quan hệ R là việc thay bởi một tập các lược đồ R1, R2, , Rk sao cho R1 È È
Rk = R


∪∪ ∪



Kí hiệu:
r(R1,R2, R3, ,Rk)
Định nghĩa 2: Cho quan hệ r trên lược đồ quan hệ R và F là tập phụ thuộc
hàm xác định trên R, r(R1,R2, R3, ,Rk). Ta nói rằng r là một phép tách bảo toàn
thông tin nếu " quan hệ r(R) ta có:
r= P
R1
(r) wv P
R2
(r) wv wv P
Rk
(r)

Kí hiệu
: mr(r)

Ta có:
mr(r) Ê r.
b. Kiểm tra phép tách bảo toàn thông tin:

Liệu một phép tính lượt đò r thành các lươc đò con r1,r2,….rn dựa trênbảo
toà
n
thông tin hay không, được kiểm tra qua phương pháp sau đay gọi là tableau.
Thuật toán
: Kiểm tra phép tách bảo toàn thong tin .


Vào
: R, F, r =(R1,R2,….Rk);R=A1,A2,….,An

Ra
: Kết luận r có bảo tyòan thông tin (theo F).
Phương Pháp

Bước 1:
Xây dựng bảng có k dòng và cột
- Mỗi một dòng tương ứng với một lượt đồ tách.
- Mỗ
i một cột tương ứng với 1 thuộc tính của R.







Tiến hành khởi tạo giá trị các ô:


Ô tại vị trí (dòng i,cột j)=



Bước 2:
Biến đổi bảng (lặp )
Xét lần lượt từng phụ thuộc hàm X


Y F, tìm trong bảng từng cặp hai dòng
bao gồm bằng nhau trên X. Nếu tồn tại hai dòng như vậy thì biến đối các giá trị phía
Y sao cho 2 dòng này cũng b
ằng nhau ở Y theo nguyên tắc sau:
+ Nếu 1 trong 2 ô nhận giá trị là a thì ô còn lại bằng a.
+ Nếu trong trường hợp cả 2 ô nhận giá trị là b thì cho ô này bằng ô kia.
Điều kiện dừng: Qúa trình này lặp đi lặp lại cho đén khi ở trong bảng xuất hiện
1 dong toàn là a sau khi xét hết 1 lượt đồ phụ thuộc hàm mà không có sự thay đổi
trên bảng.
Kết luận:

+ Nếu trong bảng có một dòng toàn là a thì ta nói phép tách bảo toàn thông tin





R
1

R
2

.

.

A1 A2 An
aj nếu Aj Ri


bjj nếu Aj Î Ri
và ngược lại ta nói phép tách không bảo toàn thông tin .
Ví dụ: Cho lược đồ quan hệ R(A,B,C,D,E,F,G) thỏa mãn phụ thuộc hàm:
F={A ®BC, AD ® EF, D ® G}
1) Kiểm tra phép tách r ={ABC, AEF, ADG} có bảo toàn thông tin không ?
Ta có:

Xét A ® BC
(2,2) = a
2


(3,2) = a
2

(2,3) = a
3

(3,3) = a
3

Ta được bảng sau:
Xét AD ® EF (không thay đổi)
D ® F(không thay đổi)
A ® BC (không thay đổi)
AD ® EF (không thay đổi)
D ® G (không thay đổi)
2) Kiểm tra phép tách r ={ABCE, ADEF,DG} có bảo toàn thông tin không?
Ta có:

Xét A ® BC
(2,2) = a
2
, (2,3)= a
3

AD ® EF (không thay đổi)
D ® G
(2,7) = a
7


Ta có bảng sau:

A B C D E F G
ABC
a
1
a
2
a
3
b
14
b
15
b
16
b
17


AEF
a
1
b
22
b
23
b
24
a
5
a
6
b
27

ADG
a
1
b
32
b
33
a
4
b
35
b
36

a
7

A B C D E F G
ABC
a
1
a
2
a
3
b
14
b
15
b
16
b
17

AEF
a
1
a
2
a
3
b
24
a

5
a
6
b
27

ADG
a
1
a
2
a
3
a
4
b
35
b
36
a
7

A B C D E F G
ABCE
a
1
a
2
a
3

b
14
a
5
b
16
b
17

ADEF
a
1
b
22
b
23
a
4
a
5
a
6
b
27

DG
b
31
b
32

b
33
a
4
b
35
b
36
a
7

Vậy phép tách bảo toàn thông tin.
Định lý:
Cho <R,F>phép tách ρ(R1,R2)của R là bảo toàn thông tin khi và ch


khi
F|= (R1 Ç R2)

R1\R2.
Ví dụ:

R(A,B,C,D,E)
F= {A

B, AC

DE
r= (AB, ACDE) AB Ç ACDE ® AB\ ACDE



II.2 CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ

Khi thiết kế lược đồ quan hệ phải tuân theo một số nguyên tắc để khi thao tác
trên dữ liệu không dẫn đến sự dị thường dữ liệu,Công việc thiêt kế dữ liệu theo một
dạng chuẩn nào đógọi là chuẩn hóa dữ liệu.
Lý thuyết cơ sở dữ liệu nay đã đưa ra nhiều dạng chuẩn,tuy nhiên xét thấy
rằngdữ
liệu trong thực tế không đến nỗi quá phức tạp,trong quá trình này chúng tôi
chỉ đưa raba dạng chuẩn nhất là dạng1, dạng2, dangj 3,ngoài ra còn có dang chuẩn
Boyce codd(BCCF).
a.Các dạng chuẩn trong lược đồ quan hệ

Do việc cập nhật dử liệu (qua phép chèn,loại bỏ , sửa đổi)gây nên những dị
thường, cho nên các quan hệ nhất thiết phải được phổ biến đổi thành dạng phù
hợp,quá trình đó gọi là quá trình chuẩn hóa.Quan hệ đượ
c chuẩn hóalà quan hệ
trong đó mỗi miền của một thuợc tính chỉ chứa những giá trị trong quan hệ cũng
nguyên tố.
Quan hệ có chứa các miền trị là những nguyên tố gọi là quan hệ không chuẩn
hóa.Một quan hệ được chuẩn hóa có thể tách thành một hoăc nhiều quan hệ chuẩn
hóa khác và không làm mất thông tin .Giới hạn trong việc xem xét các lược đồ quan
hệ với các phụ thuộchàm,ta định nghĩa dưới
đây các dạng chuẩn 1NF,2NF,3NF.Ư
b. Một số định nghĩa

Thuộc tính khóa:Một thuọc tính trong lược đò quan hệ r(R)được gọi là thuộc
tính khóa nếu nó là một thành phần của khóa nào đó của r.Ngược lại được gọi là
thược tính không khóa.
Phụ thuộc hàm đầy đủ: Cho lược đồ quan hệ r(R), R là tập thuộc tính, X và Y

là hai tập con khác nhau của R, Y là phụ thuộc hàm đầy đủ vào X nếu Y là phụ
thuộc hàm vào X như
ng không phụ thuộc hàm vào bất kỳ tập hợp con thực sự nào
của X.
A B C D E F G
ABCE
a
1
a
2
a
3
b
14
a
5
b
16
b
17

ADEF
a
1
a
2
a
3
a
4

a
5
a
6
a
7

DG
b
31
b
32
b
33
a
4
b
35
b
36
a
7

Phụ thuộc bắc cầu: Cho lược đồ quan hệ r(R), R là tập thuộc tính, X là tập
con của R, A là một thuộc tính thuộc R, A được gọi là phụ thuộc hàm bắc cầu vào X
trên r nếu tồn tại một tập con Y của R sao cho X ®Y, Y ® A nhưng Y ® X với A Ï
XY.
c. Dạng chuẩn 1 (Frist Normal Form 1NF)

Một lược đồ quan hệ 1NF nếu mọi thuộc tính của lược đồ là nguyên tố.

Ví dụ: Kiểu record ® không nguyên tố.
+ Cho lược đồ quan h
ệ R(B,O,I, S, Q,D) và tập phụ thuộc hàm:
F={S ® D, I ® B, IS ®Q, B ® O}
·

Dạng chuẩn 1 được xem như là một qui ước trên lược đồ quan hệ và tức
nhiên ta thừa nhận lược đồ luôn có dạng chuẩn 1.
d. Dạng chuẩn 2 (Second Normal Form 3 NF)

Lược đồ quan hệ R được gọi là 2 NF nếu X ® A trên R(A X) thì
+ Hoặc là A là thuộc tính khóa.
+ Hoặc X không là phải là tập con thật sự của khóa.
Ví dụ: Cho lược đồ quan hệ R(A,B, C, D) thỏa mãn phụ thuộc hàm:
F={A ® BCD, C ® D}
e. Dạng chuẩn 3 (Third Normal Form 3NF)

Lược đồ quan hệ R
được gọi là 3NF nếu X ® A trên R (A X) thì
+ Hoặc A là thuộc tính khóa
+ Hoặc X là siêu khóa
Ví dụ: Cho lược đồ quan hệ A(A,B,C,D) thỏa mãn phụ thuộc hàm
F={AB ® CD, D ® A}
f. Dạng chuẩn BCNF (BOYCE- CODD)

Lược đồ quan hệ R được gọi là BCNF nếu X ® A trên R (A X) thì
+ X là siêu khóa
Ví dụ: Cho lược đồ quan hệ R(A, B,C, D) thỏa mãn phụ thuộc hàm
F={ AB ® C, BC ®A}
g. Dạng chuẩn một lược đồ cơ sở dữ liệu:


Một lược đồ cơ sở dữ
liệu (một tập hợp nhiều lược đồ quan hệ) gọi là ở dạng
chuẩn i ( i= 1,2,3 ) nếu mọi lược đồ con của nó đều ở dạng chuẩn i.
h. Chuẩn hóa một lược đồ cơ sở dữ liệu

Trong những tiết trước ta đã địng nghĩa phép tách một lược đồ quan hệ thanh
nhiều lược đồ con bảo toàn thông tin .Sau đây ,ta xét một cách tách mộtlược đồ

quan hệ thành nhiều lươc đồ con bảo toàn phụ thuộc hàm dạng chuẩn 3NF.
Thuật toán:
Phép tách bảo toàn phụ thuộc hàm thành 3NF
Vào: R,F
Ra: RI là 3 NT

là bảo toàn phụ thuộc hàm

Phương pháp:


Bước 1:
- Tìm phủ cực tiểu G của F
-
}{
RKRR , ,2,1=
ρ
ρ
φ
ρ
=


Bước2:
-Nếu trong R có thuộc tính không xuất hiện trong PTH thì đưa các
thuộc tinh này thành 1 lược đồ trong , loại các thuộc tính này khỏi R
Bước3:
Nếu tồn tại một phụ thuộc liên quan đến tất cả các thuộc tính thì:
, kết thúc

Ngược lại qua bước 4;

Bước 4:
Với mỗi các phụ thuộc hàm X ® A, X ®A2, , X ®Ak thì tạo thành 1
lược đồ XA1A2 Ak.

Bước 5:
Nếu tồn tại R
i
, R
j
Î r mà R
i
Î R
j
thì loại R
i
khỏi r

Ví dụ:
R(A, B,C, D,E,F,G), F={AB ® C, AB ® D, C ®B, CD ® E}
- F: đã là phủ cực tiểu

- F,G không có trong PTH
Þ r= (F,G)
Xét R(A,B,C,D,E)
r = (ABCD, CB, CDE). Vậy r = (FG, ABCD, CDE)
·

Phép tách tìm được theo phương pháp trên luôn bảo toàn PTH tuy nhiên
có thể không bảo toàn thông tin. Trong trường hợp này ta bổ sung thêm vào phép
tách lược đồ một khóa K, với K là một khóa bất kỳ của lược đồ quan hệ R. Vậy r=
r
È {k}

















ρ
}{

R∪=
ρ
ρ

×