60
Do đâu có phthuc hàm? “Tính khóa (duy nht)” ca các thuc tính. Các ràng buc trên min giá trràng buc ng Các ràng buc trên min giá trràng buc ng dng. ế Các ràng bucca thế gii thc Phthuc hàm giúp chúng ta định nghĩa “khóa” - 48 -

Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

  • Upload
    vonga

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Do đâu có phụ thuộc hàm?

“Tính khóa (duy nhất)” của các thuộc tính.

Các ràng buộc trên miền giá trị và ràng buộc ứngCác ràng buộc trên miền giá trị và ràng buộc ứngdụng.

ếCác ràng buộc của thế giới thực

Phụ thuộc hàm giúp chúng ta định nghĩa “khóa”

- 48 -

Page 2: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Khóa của sơ đồ quan hệ

Trong lược đồ quan hệ, một số thuộc tính đóngvai trò quan trọng, và từ các thuộc tính này có thểá đị h á th ộ tí h kháxác định các thuộc tính khác.

Khái niệm sơ đồ quan hệệ q ệCho lược đồ quan hệ R={A1,A2,…,An}, F là tậpcác phụ thuộc hàm trên R. Sơ đồ quan hệ là cặpR F h t ê ký hiệ SĐQH là W <R F>R, F như trên, ký hiệu SĐQH là W=<R,F>

Sơ đồ quan hệ là một lược đồ quan hệ và tậpq ệ ộ ợ q ệ ậpphụ thuộc hàm trên nó.

- 49 -

Page 3: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Định nghĩa khóa SĐQH

được gọi là khóa tối thiểu của SĐQH trên W nếu k là tập tối thiểu kéo theo R, tức là k là khóa tốithiể ế à ế bớt khỏi k dù ột

k R⊂

( )k R k R+thiểu nếu: và nếu bớt khỏi k dù mộtphần tử thì bao đóng của tập còn lại khác R.

i là khó tối thiể ế thỏ ã

( )k R k R+ = →

k R gọi là khóa tối thiểu nếu thỏa mãnk R⊂

1.k R+ =

Những thuộc tính thuộc khóa gọi là thuộc tính2.( ) for k A R A k+− ≠ ∀ ∈

g gkhóa, những thuộc tính không thuộc khóa gọi làthuộc tính không khóa (thuộc tính thứ cấp)

- 50 -

X là siêu khóa nếu X thỏa mãn điều kiện 1.

Page 4: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Định lý 2.4

a. Nếu k là khóa của sơ đồ quan hệ W = <R,F>, r làquan hệ trên R thì với mọi cặp phần tử khác nhaut1 t2 ủ t l ô ó t k t k≠t1, t2 của r ta luôn có

b. Ngược lại nếu k là tập tối thiểu và với mọi quan hệ r

1 2. .t k t k≠

b. Ngược lại nếu k là tập tối thiểu và với mọi quan hệ r trên R mà mọi cặp t1, t2 của r mà thì k làkhóa của sơ đồ quan hệ W=<R,F>

1 2. .t k t k≠

- 51 -

Page 5: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán tìm khóa

Do bao đóng của k là R nên ban đầu ta coi k=R.

Ta loại trừ dần các phần tử và kiểm tra xem k+=RTa loại trừ dần các phần tử và kiểm tra xem k+=R

Input: W = <R,F>

Output: k – khóa của W

ậ áThuật toánBước 1: Đặt k=RBước 2: Lặp quá trình loại khỏi k phần tử ABước 2: Lặp quá trình loại khỏi k phần tử Amà (k-A)+=R

- 52 -

Page 6: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán tìm khóa

Mô tả thuật toán bằng ngôn ngữ tựa Pascal

BeginBegink=Rfor each A in k do

if (k-A)+=R then k=k-AEnd

Thuật toán sẽ tìm được một khóa k cho R

Nếu muốn tìm được khóa khác, ta có thể thay

đổi thứ tự loại trừ các phần tử A ra khỏi k.

- 53 -

đổi thứ tự loại trừ các phần tử A ra khỏi k.

Page 7: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các tính chất của khóa

1. Các thuộc tính không xuất hiện trong cả hai vếtrái hoặc phải của tập F phải có trong mọi khóa k.

2 Cá th ộ tí h hỉ ất hiệ bê t ái ủ á PTH2. Các thuộc tính chỉ xuất hiện bên trái của các PTHtrong F cũng phải thuộc mọi khóa k.

3. Những thuộc tính xuất hiện, và chỉ xuất hiện bên3. Những thuộc tính xuất hiện, và chỉ xuất hiện bênvế phải của tập PTH sẽ không thuộc bất kỳ khóanào.

4 Th ật t á khẳ đị h i SĐQH W đề ó4. Thuật toán khẳng định mọi SĐQH W đều cókhóa, tuy nhiên thuật toán không khẳng định cóbao nhiêu khóa và số lược các phần tử trongbao nhiêu khóa và số lược các phần tử trongkhóa có như nhau hay không.

5. Họ tất cả các khóa của một SĐQH W là hệSperner (tức là không có hai khóa bao nhau).

- 54 -

Page 8: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán tìm mọi khóa

Ý tưởng

Cho W=<R F>Cho W=<R,F>

1. Tìm tất cả các tập con khác rỗng của R

2. Loại tập con có bao đóng khác R.

3. Tạo tập con bao tập con khácạ ập ập

4. Những tập còn lại là khóa của W.

- 55 -

Page 9: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán tìm mọi khóa

Cho W=<R,F>R={A,B,C}, F={A B, A C, B A, B C, AC B}

Bao đóng Tập con cóbao đóngbằng R

Khóa

bằng RA ABC A AB ABC B BC CAB ABC ABAC ABC ACBC ABC BCABC ABC ABC

- 56 -

Page 10: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán tìm mọi khóa

Một số cải tiến*Theo tính chất của khóa, chúng ta sẽ có một số

thuộc tính luôn thuộc khóa. Trong thuật toán

tìm khóa sẽ không xét nó và thêm vào khóatìm khóa sẽ không xét nó và thêm vào khóa

* Một số thuộc tính không thuộc khóa nào cả. Ta

loại bỏ nó trong quá trình tìm kiếm khóa.

- 57 -

Page 11: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán tìm mọi khóa

Cho W = <R,F>, R={A,B,C,D,E,H}F = {A B, A C, B A, B C, AC B, E C,C H B H}C H, B H}• Chắc chắn D, E tham gia mọi khóa• H sẽ không tham gia vào khóa nàoH sẽ không tham gia vào khóa nào

Thuật toán tìm khóa: sẽ không cố gắng loại trừ D,E ra khỏi tập. Tập khởi tạo ban đầu có thể làE ra khỏi tập. Tập khởi tạo ban đầu có thể làK=R\{H}

Th ật t á tì i khó Thê ột ột ới l ôThuật toán tìm mọi khóa: Thêm một cột mới luônchứa D, E. Trong các tập con của thuộc tính cònlại không xem xét đến H.

- 58 -

ạ ô g e ét đế

Page 12: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Thuật toán

Bao đóng Siêu khóa KhóaDE DEHCDE A DEHABC DEA DEADE A DEHABC DEA DEADE B DEHABC DEB DEBDE C DEHCDE AB DEHABC DEABDE AB DEHABC DEABDE AC DEHABC DEACDE BC DEHABC DEBCDE ABC DEHABC DEABC

- 59 -

Page 13: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tìm khóa từ mô hình ER

Page 14: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tìm khóa từ mô hình ER

Page 15: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tìm khóa từ mô hình ER

Page 16: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Bài tập

Các bài tập trong chương 2

- 63 -

Page 17: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các dạng chuẩn

Mỗi dạng chuẩn là một tập các điều kiện trênlược đồ nhằm đảm bảo các tính chất của nó (liên

tới d thừ à bất th ờ t ậ hật)quan tới dư thừa và bất thường trong cập nhật)

Chuẩn hóa dữ liệu: quá trình phân tích lược đồChuẩn hóa dữ liệu: quá trình phân tích lược đồquan hệ dựa trên FD và các khóa chính để đạtđược:

ể• Cực tiểu sự dư thừa• Cực tiểu các phép cập nhật bất thường

- 64 -

Page 18: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các dạng chuẩn

Thủ tục chuẩn hóa cung cấp:• Một cơ cấu hình thức để phân tích các lược

đồ hệ d t ê á khó ủ ó à áđồ quan hệ dựa trên các khóa của nó và cácphụ thuộc hàm giữa các thuộc tính của nó

• Một loạt các kiểm tra dạng chuẩn có thểMột loạt các kiểm tra dạng chuẩn có thểthực hiện trên các lược đồ quan hệ riêng rẽsao cho CSDL có thể được chuẩn hóa đếnột ứ ầ thiếtmột mức cần thiết.

Tính chất• Nối không mất mát (hoặc nối không phụNối không mất mát (hoặc nối không phụ

thêm)• Bảo toàn sự phụ thuộc: Nó bảo đảm rằng

ể- 65 -

từng phụ thuộc hàm sẽ được biểu hiện trongcác quan hệ riêng rẽ nhận được sau khi tách.

Page 19: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Phân loại các dạng chuẩn

Boyce Codd đề nghị 3 dạng• 1NF (first normal form): tương đương với định

hĩ ủ l đồ hệ ( hệ à bộ)nghĩa của lược đồ quan hệ (quan hệ và bộ)• 2NF: không có giá trị trong thực tiễn• 3NF BCNF: thường được sử dụng nhiều3NF BCNF: thường được sử dụng nhiều

nhất

4NF, 5NF do tính đa trị và phụ thuộc hàm nối

- 66 -

Page 20: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 1

Định nghĩa: 1NF nếu miền giá trị của một thuộctính chỉ chứa giá trị nguyên tử (đơn, không phânhi đ ) à iá t ị ủ ỗi th ộ tí h ũ làchia được) và giá trị của mỗi thuộc tính cũng là

một giá trị đơn lấy từ miền giá trị của nó.

Trong 1NF• Không có thuộc tính lặp lại

Không có th ộc tính đa trị• Không có thuộc tính đa trị

Ví dụ: PHONGBAN(MaPHG, TenPHG, DDIEM)

PHONGBAN(MaPHG, TenPHD)

DDIEM PHG(M PHG DDIEM)

- 67 -

DDIEM_PHG(MaPHG, DDIEM)

Page 21: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 1

Vẫn còn vấn đề tồn tại trong 1NF

Xét lược đồ: DDIEM_PHG(MaPHG, DDIEM)

MAPHG DIADIEM1 TPHCMVẫn bị lặp lại

4 HANOI5 VUNGTAU5 NHATRANG

Ẩn chứa các phụ thuộchàm bộ phận

5 TP HCM

- 68 -

Page 22: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 2

Phụ thuộc hàm đầy đủ: Một phụ thuộc hàm X Ylà một phụ thuộc hàm đầy đủ nếu loại bỏ bất kỳth ộ tí h A à đó khỏi X thì h th ộ hàthuộc tính A nào đó ra khỏi X thì phụ thuộc hàmđó không còn đúng nữa.

( { } )A A X X A Y∀

Phụ thuộc hàm bộ phận: Một phụ thuộc hàmế ể ỏ

, , ( { } )A A X X A Y∀ ∈ − → là sai

X Y là phụ thuộc hàm bộ phận nếu có thể bỏmột thuộc tính ra khỏi X phụ thuộc hàmvẫn đúng điều đó có nghĩa là

A X∈vẫn đúng, điều đó có nghĩa là

, ( { })A X X A Y∃ ∈ − →

- 69 -

Page 23: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 2

2NF• Thỏa mãn 1NF

Ph th ộ hà đầ đủ à khó hí h• Phụ thuộc hàm đầy đủ vào khóa chính

Với các quan hệ có thuộc tính khóa đơn thìkhô hải étkhông phải xét

Chỉ kiểm tra các lược đồ có chứa phụ thuộc hàmbộ phận

- 70 -

Page 24: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ Dạng chuẩn 2

Phụ thuộc vào cả 2 MaNV, MaDA

NV_DA (MaNV, MaDA, Sogio, TenDA, DDiemDA)

Chỉ phụ thuộc vào MaDA

- 71 -

Page 25: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ Dạng chuẩn 2

Phụ thuộc vào cả 2 MaNV, MaDA

NV_DA (MaNV, MaDA, Sogio, TenDA, DDiemDA)

Chỉ phụ thuộc vào MaDA

NV_DA (MaNV, MaDA, Sogio)

- 72 -

DUAN (MaDA, TenDA, DDiemDA)

Page 26: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 3

3NF dựa trên khái niệm phụ thuộc bắc cầu.

Định nghĩa: Một lược đồ quan hệ R là ở dạng3NF nếu nó thỏa mãn (theo Codd)( )• Thỏa mãn 2NF• Không có thuộc tính không khóa nào của R là

phụ thuộc bắc cầu vào khóa chínhphụ thuộc bắc cầu vào khóa chính.

- 73 -

Page 27: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 3Ph th ộ à M NVPhụ thuộc vào MaNV

NV_DV (MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaDV

Tất cả các thuộc tính phải phụ thuộc vào thuộctính khóa

Một ài th ộ tí h h th ộ à th ộ tí h• Một vài thuộc tính phụ thuộc vào thuộc tínhkhông phải là khóa

• Để chuẩn hóa Tách nhóm các thuộc tính

- 74 -

Để chuẩn hóa Tách nhóm các thuộc tínhđó thành quan hệ mới

Page 28: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn 3Ph th ộ à M NVPhụ thuộc vào MaNV

NV_DV (MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaDV

NHANVIEN (MaNV, TenNV, NS, DCHI, MaDV)

DONVI (MaDV, TenDV, TruongPHG)

- 75 -

Page 29: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tóm tắt dạng chuẩn 1-3NF Nhậ biết Cá h h ẩ hóNF Nhận biết Cách chuẩn hóa1 Quan hệ có

thuộc tính đa trịhoặc quan hệ

Loại bỏ các thuộc tính vi phạm dạng chuẩn 1 và đặt chúngvào một bảng riêng cùng với khóa chính của quan hệ ban đầu Khóa chính của bảng này là một tổ hợp của khóa chínhhoặc quan hệ

lặpđầu. Khóa chính của bảng này là một tổ hợp của khóa chínhcủa quan hệ ban đầu và thuộc tính đa trị hoặc khóa bộ phậncủa nhóm lặp. Các thuộc tính còn lại lập thành một quan hệvới khóa chính là khóa chính ban đầu

2 Phụ thuộc 1 phần vào thuộctính khóa

Loại bỏ các thuộc tính không khóa phụ thuộc vào một bộphận khóa chính và tách rành ra một bảng riêng, khóa chínhcủa bảng này là bộ phận khóa mà chúng phụ thuộc vào. Cácth ộ tí h ò l i lậ thà h ột hệ khó hí h ủ óthuộc tính còn lại lập thành một quan hệ, khóa chính của nólà khóa chính ban đầu

3 Phụ thuộc ẩn, Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ vàtồn tại phụthuộc hàm giữacác thuộc tínhkhông phải là

tách chúng thành một quan hệ riêng có khóa chính là thuộctính bắc cầu. Các thuộc tính còn lại lập thành một quan hệ cókhóa chính là quan hệ ban đầu.

- 76 -

không phải làkhóa

Page 30: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các bước chuẩn hóa – Đưa về dạng 1

Tách các thuộc tính lặp

Nhóm các thuộc tính đơn còn lại thành một quanNhóm các thuộc tính đơn còn lại thành một quan

hệ. Chọn khóa cho nó.

Nhóm các thuộc tính lặp tách ra, tăng thêm khóa

của quan hệ trên tạo thành một quan hệ (hay mộtq ệ ạ ộ q ệ ( y ộ

số quan hệ theo chủ đề). Chọn khóa cho quan hệ

này thường là khóa bội trong đó khóa của quannày, thường là khóa bội, trong đó khóa của quan

hệ trên là một thành phần.

Các quan hệ lập được đều là 1NF- 77 -

Page 31: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các bước chuẩn hóa – Đưa về dạng 2

Tách các nhóm thuộc tính phụ thuộc hàm một

phần của khóaphần của khóa

Nhóm còn lại tạo thành quan hệ với khóa là khóa

của quan hệ ban đầu

Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ(g ộ g p ụ

thuộc hàm vào bộ phận của khóa) tăng thêm các

thuộc tính mà chúng phụ thuộc tạo thành mộtthuộc tính mà chúng phụ thuộc tạo thành một

quan hệ. Khóa là các thuộc tính tăng thêm này.

Các quan hệ lập được đều là 2NF- 78 -

Page 32: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các bước chuẩn hóa – Đưa về dạng 3

Tách các nhóm thuộc tính phụ thuộc vào một haymột số thuộc tính ngoài khóa.Nhó ò l i t thà h hệ ới khó là khóNhóm còn lại tạo thành quan hệ với khóa là khóacủa quan hệ ban đầuMỗi nhóm tách ra (gồm các thuộc tính cùng phụMỗi nhóm tách ra (gồm các thuộc tính cùng phụthuộc vào một hay một số thuộc tính ngoài khóa)tăng thêm các thuộc tính mà chúng phụ thuộc tạothà h ột hệ Khó là á th ộ tí h tăthành một quan hệ. Khóa là các thuộc tính tăngthêm này.Các quan hệ lập được đều là 3NFCác quan hệ lập được đều là 3NF

- 79 -

Page 33: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ kiểm tra dạng chuẩn

Ví dụ 1: Cho sơ đồ quan hệ W như sau:W = <U=CTRHSG; F={C T, HR C, HT R,CS G HS R}CS G, HS R}>

C – giáo trình (curriculumn)C giáo trình (curriculumn)T – Giáo viên (Teacher)R – phòng học (Room)H Giờ (H )H – Giờ (Hour)S – Sinh viên (Student)G – Lớp (Grade)G Lớp (Grade)

- 80 -

Page 34: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Các ràng buộc PTH

C T: Mỗi giáo trình chỉ có một thầy dạyHR C: chỉ một môn học ở một phòng học tạiột thời điểmột thời điểm.

HT R: Tại mỗi thời điểm, mỗi giáo viên chỉ cóthể dạy ở một phòng họcthể dạy ở một phòng họcCS G: Mỗi sinh viên chỉ ở một lớp học theo mỗigiáo trìnhHS R Mỗi i h iê hỉ ó thể ở ột hò hHS R: Mỗi sinh viên chỉ có thể ở một phòng họctại một thời điểm.Yêu cầu: Kiểm tra W có ở dạng chuẩn 3NF hayYêu cầu: Kiểm tra W có ở dạng chuẩn 3NF hay

không? Nếu không W ở dạng chuẩn nào?

- 81 -

Page 35: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ kiểm tra dạng chuẩn

Xác định tập K các khóa của W và tập N cácthuộc tính không khóa.

Nhận xét: Thuộc tính HS tham gia khóa vì chúngkhông xuất hiện ở vế phải. Kiểm tra HS có phải làgkhóa không

HS+=HSRCTG=U

Ta có khóa K={HS} là duy nhất, N={RCTG} là cácthuộc tính không khóathuộc tính không khóa- R là thuộc tính không khóa: HS HT R- Như vậy R phụ thuộc bắc cầu vào khóa HS

ầ- 82 -

thông qua cầu HT. Suy ra W không ở dạngchuẩn 3NF.

Page 36: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ kiểm tra dạng chuẩn

Kiểm tra N=RCTG có phụ thuộc đầy đủ vào HShay không?

::

H C H H C HS C S S C S

+ +

+ +

⎧ → = ⇒ ⊄⎪⎨

→ = ⇒ ⊄⎪⎩⎪⎩

Vậy C phụ thuộc đầy đủ vào HS.Tương tự với RTG

Kết luận: W ở dạng chuẩn 2NF.

g ự

- 83 -

Page 37: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ khác

Ví dụ 2: Cho lược đồ W =<R={MaSV, TenSV, MaMT, DiemThi};

F {M SV T SV M SV M MT Di thi}F={MaSV TenSV; MaSV,MaMT Diemthi}>Kiểm tra W có ở dạng chuẩn 3NF không?Kiểm tra W có ở dạng chuẩn 3NF không?

Ví dụ 3: Cho lược đồ quan hệC { C C }W = <R=ABC; F={AB C; BC A}>

Hỏi W có ở dạng chuẩn 3NF hay không?

- 84 -

Page 38: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn Boyce-Codd

Một lược đồ quan hệ R được gọi là ở dạng chuẩnBoyce-Codd (BCNF) nếu nó

Thỏ ã d h ẩ 3NF- Thỏa mãn dạng chuẩn 3NF- Không có các thuộc tính khóa phục thuộc

hàm vào thuộc tính không khóahàm vào thuộc tính không khóa

Ví dụ

- 85 -

Page 39: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn Boyce-Codd

Ví dụ:R (A1, A2, A3, A4, A5)Với á h th ộ hàVới các phụ thuộc hàm

- A1, A2 A3, A4, A5- A4 A2A4 A2

- 86 -

Page 40: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Dạng chuẩn Boyce-Codd

Nếu một lược đồ quan hệ không thỏa mãn điềukiện BCNF, thủ tục chuẩn hóa bao gồm

L i bỏ á th ộ tí h khó h th ộ hà- Loại bỏ các thuộc tính khóa phụ thuộc hàmvào thuộc tính không khóa ra khỏi quan hệ.

- Tách chúng thành một quan hệ riêng có khóaTách chúng thành một quan hệ riêng có khóachính là thuộc tính không khóa gây ra phụthuộc.

Ví dụ:R (A1, A2, A3, A4, A5)Với á h th ộ hàVới các phụ thuộc hàm

- A1, A2 A3, A4, A5- A4 A2

- 87 -

A4 A2Lược đồ được tách ra như sau:

- R1(A4, A2) - R2 (A1, A4, A3, A5)

Page 41: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ về chuẩn hóa quan hệ

Cho lược đồ quan hệ ở dạng chuẩn 1,R = {A, B, C, D, E, F, G,H, I, J} có khóa chính là A, BVới tậ á PTHVới tập các PTH

A, B C, D, E, F, G, H, I, JA, B C, D, E, F, G, H, I, JA E, F, G, H, I, JF I, JD BD B

Do có phụ thuộc hàm A E, F, G, H, I, J mà A là mộtbộ phận của khóa chính nên quan hệ R vi phạmbộ phận của khóa chính nên quan hệ R vi phạm2NF.

- 88 -

Page 42: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ về chuẩn hóa quan hệ

Ta tách R thành R1 (A, E, F, G, H, I, J) vàR2(A, B, C, D)T R1 d ó h th ộ hà F I J ê t óTrong R1, do có phụ thuộc hàm F I, J nên ta cóI, J phụ thuộc hàm bắc cầu vào khóa chính.R1 là quan hệ vi phạm 3NFR1 là quan hệ vi phạm 3NFTrong R2 ta có PTH D B trong đó B là một thuộctính khóa, R2 vi phạm BCNF

Tách R1 và R2 ta cóR11 (F I J)R11 (F, I, J)R12 (A, E, F, G, H)R21 (D, B)

- 89 -

R22 (A, D, C)

Page 43: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tách kết nối không mất thông tin

Định nghĩa: Cho lược đồ quan hệ R = {A1, A2,A3,…,An}, R1, R2,…,Rn là các tập con của R vàhú là ột hé tá h ủ R tứ làchúng là một phép tách của R, tức là

, F là PTH trên R.1 2 ... kR R R R= ∪ ∪

Ta nói phép tách R thành các lược đồ conp=(R1,R2,…,Rk) không mất thông tin đối với F nếuới i hệ t ê R à F thỏ ã thìvới mọi quan hệ r trên R mà F thỏa mãn thì:

1 2. . ... . kr r R r R r R=

- 90 -

Page 44: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ về tách kết nối ko mất t.tin

Cho lược đồ

α=<U={MaSV, TenSV, MaMT, TenMon, Diemthi};{ , , , , };F={MaSV TenSV; MaMT TenMon;

MaSV,MaMT Diemthi}>

Tách lược đồ α thành các lược đồ sauα1 =<U1={MaSV, TenSV}; F1={MaSV TenSV}>α1 U1 {MaSV, TenSV}; F1 {MaSV TenSV}α2 =<U2={MaMT, Tenmon}; F2={MaMT Tenmon}>α3 =<U3={MaSV, MaMT, Diemthi};

F {M SV M MT Di hi}F3={MaSV, MaMT Diemthi}>

- 91 -

Page 45: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ (cont.)

Lấy quan hệ R là quan hệ KETQUA (MaSV, TenSV,MaMT, Tenmon, Diemthi), khi đó ta có

R KETQUA[M SV T SV] SINHVIENR1=KETQUA[MaSV, TenSV] = SINHVIEN α1R2=KETQUA[MaMT, Tenmon] = MONTHI α2R3=KETQUA[MaSV, MaMT, Diemthi]=KQUA α3

∈∈∈R3 KETQUA[MaSV, MaMT, Diemthi] KQUA α3

Khi cần ta khôi phục lại thông tin

KETQUA SINHVIEN MONTHI KQUA=

- 92 -

Page 46: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ tách (không) tổn thất thông tin

Cho R={X,Y,Z} tập các thuộc tính vàGiả sử quan hệ gốc R và các quan hệ tách như

sau

Ta thấy

1 2R R R⊆

- 93 -

Page 47: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ tách (không) tổn thất thông tinCho R {X Y Z} tập các th ộc tính àCho R={X,Y,Z} tập các thuộc tính vàGiả sử quan hệ gốc R và các quan hệ tách như

sau

Ta thấy 1 2R R R=

Nếu một phép tách không có tính chất nối không mất mátNếu một phép tách không có tính chất nối không mất mátthông tin thì chúng ta có thể nhận được các bộ phụ thêm(các bộ giả) sau khi áp dụng các phép chiếu và nối tựnhiên Nghĩa của từ mất mát ở đây là mất mát thông tin chứ

- 94 -

nhiên. Nghĩa của từ mất mát ở đây là mất mát thông tin chứkhông phải mất các bộ giá trị. Vì vậy với tính chất này tanên gọi chính xác hơn là tính chất nối không phụ thêm.

Page 48: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Kiểm tra tính tách kết nối

Thuật toán ChaseInput: Sơ đồ quan hệ R = {A1,A2,…,Ak} làl đồ hệ F là tậ á PTH hé tá hlược đồ quan hệ. F là tập các PTH; phép táchp={R1,R2,…,Rk}Output: Khẳng định phép tách kết nối khôngOutput: Khẳng định phép tách kết nối khôngmất thông tin không?

Thuật toán:ảXây dựng bảng

Xây dựng một bảng gồm n cột và m hàng, cộtj tương ứng với thuộc tính Aj hàng i tươngj tương ứng với thuộc tính Aj, hàng i tươngứng với RiỞ vị trí hàng i cột j, ta ký hiệu là aj nếu Aj

- 95 -

thuộc Ri, ngược lại ta ký hiệu là bij.Ta có bảng T như sau:

Page 49: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Kiểm tra tính tách kết nối

- 96 -

Page 50: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Kiểm tra tính tách kết nối

Bước lặp: Áp dụng các PTH trong F cho bảng vừaxây dựng

Xét hiề lầ ỗi PTH X Y th ộ F h đế khiXét nhiều lần mỗi PTH X Y thuộc F cho đến khikhông xét được nữa. Với mỗi PTH X Y màtrong bảng có giá trị giống nhau trên tập X thì tatrong bảng có giá trị giống nhau trên tập X thì tacho chúng bằng nhau trên tập Y với lưu ý là nếumột trong 2 ký hiệu là aj thì chọn aj, ngược lạilà bằ hú bằ ột t á ký hiê blàm bằng chúng bằng một trong các ký hiêu bijThuật toán dừng khi trong bảng có một dòngtoán là ký tự a hoặc cho đến khi không xét đượctoán là ký tự a hoặc cho đến khi không xét đượcnữa.

Kết luận: Nếu có một dòng toàn a thì phép tách

- 97 -

Kết luận: Nếu có một dòng toàn a thì phép táchkết nối đó không mất thông tin. Ngược lại phéptách có mất thông tin.

Page 51: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ

R= {A,B,C,D,E,F}; R1={A,B,D,E}; R2={A,C,D,F};R3={B,C,E,F}; F={A B,F E}

Bước 1: Lập bảng

B ớc 2 Áp d ng A B s ra b aBước 2: Áp dụng A B, suy ra b22=a2

- 98 -

Page 52: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ

Bước 3: Áp dụng F E, suy ra b25=a5

ấPhép tách không làm mất thông tin.

- 99 -

Page 53: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ

F= {A B, C D, D EG}R1={A,B,C,D}, R2={D,E,G}

D EG: b15=a5, b16=a6;dòng đầu chứa toàn aiPhép tách không mất thông tin

- 100 -

Page 54: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ

Cho lược đồ quan hệ R = {A,B,C,D,E}

Tá h R thà h á l đồTách R thành các lược đồ sauR1 = ADR2 = ABR2 ABR3 = BER4 = CDER5 AER5 = AE

Tập PTH F = {A C, B C, C D, DE C, CE A}Xác định phép tách trên có mất thông tin hayXác định phép tách trên có mất thông tin haykhông?

- 101 -

Page 55: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Lập bảng

F = {A C, B C, C D, DE C, CE A}

A B C D EA B C D E

AD a1 b12 b13 a4 b15

AB a1 a2 b23(b13) b24(a4) b25

BE b31(a1) a2 b33(b13)(a3)

b34(a4) a5

CDE b41 b42 a3 a4 a5CDE b41 b42 a3 a4 a5

AE a1 b52 b53(b13)(a3)

b54(a4) a5

- 102 -

)

dòng 3 chứa toàn aiPhép tách không mất thông tin

Page 56: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tách quan hệ thành các quan hệ BCNF với tính chất nối không mất thông tintính chất nối không mất thông tin

Input: Lược đồ quan hệ R và tập các PTH F trêncác thuộc tính R

1. Đặt D = {R}2 Khi có một LĐQH Q trong D không phải ở BCNF thực

các thuộc tính R

2. Khi có một LĐQH Q trong D không phải ở BCNF, thựchiện vòng lặp:

Với mỗi LDQH Q trong D không ở BCNF hãy tìmột PTH X Y t Q i h BCNF à th thế Qmột PTH X Y trong Q vi phạm BCNF và thay thế Q

trong D bằng hai lược đồ quan hệ (Q-Y) và (XUY).Quá trình lặp dừng khi không còn quan hệ nào trongQuá trình lặp dừng khi không còn quan hệ nào trongD vi phạm BCNF.Mỗi lần đi vào vòng lặp trong thuật toán trên, chúng

ta tách một quan hệ Q không phải BCNF thành hai- 103 -

ta tách một quan hệ Q không phải BCNF thành hailược đồ quan hệ. Kết thúc thuật toán, tất cả cácquan hệ trong D sẽ ở BCNF.

Page 57: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Tách quan hệ thành các quan hệ BCNF với tính chất nối không mất thông tin

Trong bước 2 của thuật toán trên, cần xác định

tính chất nối không mất thông tin

xem một LĐQH Q có ở BCNF hay không. Mộtphương pháp để làm điều đó là kiểm tra. Với mỗiPTH X Y trong Q ta tính X+PTH X Y trong Q, ta tính X .Nếu X+không chứa tất cả các thuộc tính trong Qthì X Y vi phạm BCNF bởi vì X không phải làgmột siêu khóa.

- 104 -

Page 58: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Ví dụ

Xét LĐQH R = {A, B, C, D, E, F}. Với các PTHA BCDEF, BC ADEF, B F, D E, D BL đồ hệ à ó 2 khó là A à BCLược đồ quan hệ này có 2 khóa là A và BC

Ta có B F vi phạm BCNF vì B+><R nên B không phảilà siêu khóa.R được tách thành: R1(B,F) với PTH B F,R2(A,B,C,D,E) với các PTH A BCDE, BC ADE,D E D BD E, D B.Xét R2: Do D E vi phạm BCNF (D là thuộc tính khôngkhóa), R2 được tách thành: R21(D,E) với PTH D E,R (ABCD) ới á PTH A BCD BC AD D BR22(ABCD) với các PTH A BCD, BC AD, D B.Xét R22: Do D B vi phạm BCNF (D không phải làthuộc tính khóa), R22 được tách thành: R221(D,B),

- 105 -

) 22 221( )R222(A,C,D) với PTH A CD (PTH BC AD bị mất)Tóm lại ta có phép tách D={R1,R2,R221,R222}

Page 59: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

Kết luận…Nội dung chính của chương

Phụ thuộc hàm

Hệ diễ A tHệ suy diễn Armstrong

Thuật toán tìm bao đóng

Thuật toán tìm khóa

Các dạng chuẩnCác dạng chuẩn

Kiểm tra tách kết nối có làm mất thông tin?

- 106 -

Page 60: Do đâu có phụ thuộc hàm? - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Các dạng chuẩn Thủtụcchuẩn hóa cung cấp:

-------

----

----

----

----

- 107 -