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

CHƯƠNG VI: CHUẨN HÓA CSDL

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 (444.03 KB, 20 trang )

CHƯƠNG VI:
CHUẨN HÓA CSDL

NỘI DUNG

 Nguyên tắc thiết kế CSDL
 Phép tách các lược đồ quan hệ
 Các dạng chuẩn của lược đồ quan hệ

Cơ sở dữ liệu 2

I. Nguyên tắc thiết kế CSDL

Cơ sở dữ liệu 3

Cơ sở dữ liệu 4

II. Các dạng chuẩn của lược đồ quan hệ

 Chuẩn hóa là q trình phân tích các quan hệ cho trước dựa trên
tập phụ thuộc hàm và khóa chính để:
- Tối thiểu việc dư thừa thông tin
- Tránh dị thường thơng tin
- Truy cập nhanh

 Chuẩn hóa các bảng: là việc áp dụng một số quy tắc để đưa các
bảng từ dạng chuẩn thấp lên dạng chuẩn cao hơn  quá trình
này thực hiện theo phương pháp trên xuống bằng việc đánh
giá mối quan quan hệ và tách quan hệ nếu cần

 Cơ sở của chuẩn hóa dựa trên: phụ thuộc hàm, phụ thuộc đầy


đủ, khóa, thuộc tính khơng khóa,…

Cơ sở dữ liệu 5

 Các loại dạng chuẩn gồm:

- Dạng chuẩn 1 (1NF – First Normal Form)
- Dạng chuẩn 2 (2NF – Second Normal Form)
- Dạng chuẩn 3 (3NF)
- Dạng chuẩn Boye Code (BCNF)

Cơ sở dữ liệu 6

1. Một số khái niệm cơ bản

 Thuộc tính khố và khơng khố: Cho lược đồ quan
hệ R trên tập thuộc tính U={A1, .., An}.

- Thuộc tính A U được gọi là thuộc tính khố nếu A là một
thành phần thuộc một khố tối thiểu nào đó của R

- ngược lại A được gọi là thuộc tính khơng khóa
- Ví dụ: Cho lược đồ R = <U,F>

U = { A, B, C, D }
F = { AB C, B D, BC A }

 Ta thấy AB và BC là khoá.
A, B, C là thuộc tính khố
D là thuộc tính khơng khố


Cơ sở dữ liệu 7

 Phụ thuộc hàm đầy đủ: Cho lược đồ quan hệ R(U) với U

= { A1, ... ,Ak}. X,Y U, và X ≠ Y. Nói rằng, Y là phụ thuộc
hàm đầy đủ vào X nếu:

- X Y thuộc F+

- với mọi tập con thực sự X’ của X thì X’ Y khơng thuộc
F+

 Y phụ thuộc hàm đầy đủ vào X nếu Y phụ thuộc
hàm vào X nhưng không phụ thuộc hàm vào
bất kỳ một tập con thực sự nào của X

 Ví dụ: Cho tập F={AB->C; A->C} thì ta thấy AB->C
là phụ thuộc hàm khơng đầy đủ vì C cịn phụ thuộc
hàm vào A.

Cơ sở dữ liệu 8

 Phụ thuộc bắc cầu: Cho lược đồ quan hệ R(U); X
U, A U, F là phụ thuộc hàm trên R

 A được gọi là phụ thuộc bắc cầu vào X trên R nếu Y, Y
U sao cho X Y, Y A thuộc F+ nhưng Y X

khơng thuộc F+


 Ngược lại, nói rằng A không phụ thuộc bắc cầu vào X hay
A phụ thuộc trực tiếp vào X

 Ví dụ: Cho tập F={A->B; B->C; A->D}

=>C phụ thuộc bắc cầu vào A

Và D phụ thuộc trực tiếp vào A

Cơ sở dữ liệu 9

2. Dạng chuẩn 1NF

 Định nghĩa: Quan hệ được gọi là ở chuẩn 1NF nếu
các giá trị của tất cả các thuộc tính đều phải là nguyên
tử (đơn, không phân chia được) => không chứa các

thuộc tính có giá trị lặp hoặc đa trị

 Cách khác: bảng ở dạng 1NF là bảng có tồn tại PTH

có nguồn là một phần của khóa (phụ thuộc bộ
phận) .

 Chú ý: khi xét dạng chuẩn nếu không nói gì thêm thì

dạng chuẩn đang xét ít nhất là đạt dạng chuẩn một

 Biểu diễn sơ đồ: R(A1,A2,A3, A4, A5)


Cơ sở dữ liệu 10

VD: Cho bảng quan hệ GD (Ten_GV, MON_GD)

Ten_GV Mon_GD

Lan PASCAL, NM CSDN Không ở 1NF

Hà C, VISUAL BASIC, TK WEP ở 1NF

Ten_GV Mon_GD 11

Lan PASCAL

Lan NM CSDN

Hà C

Hà VISUAL BASIC

Hà TK WEP

Cơ sở dữ liệu

 Kết luận: Để kiểm tra một lược đồ có là dạng
1NF không thực hiện kiểm tra nếu thỏa mãn:

- Khơng có thuộc tính là thuộc tính đa trị
- Khơng có thuộc tính là thuộc tính phức hợp


Cơ sở dữ liệu 12

2. Dạng chuẩn 2NF

 Định nghĩa: Lược đồ quan hệ R ở 2NF khi và chỉ khi
- R đã là 1NF
- Mọi thuộc tính khơng khóa của R là phụ thuộc hàm đầy
đủ vào khóa chính

 Cách khác: lược đồ quan hệ R được gọi là 2NF nếu tồn tại
phụ thuộc hàm bắc cầu vào khóa

 Biểu diễn sơ đồ:
R(A1,A2,A3, A4, A5)

 Mục đích:
- giản ước sự dư thừa dữ liệu
- tránh các dị thường cập nhật gây nên do sự dư thừa dữ
liệu này

Cơ sở dữ liệu 14

Cơ sở dữ liệu 15

Thuật toán kiểm tra dạng chuẩn 2

 Bước 1: Tìm tất cả các khóa của quan hệ
 Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả các tập con


thực sự S của K
- Chú ý: nếu khóa có một thuộc tính đơn thì khơng cần phải

kiểm tra
 Bước 3: nếu có bao đóng S+ chứa thuộc tính khơng khóa thì

quan hệ khơng đạt chuẩn 2 ngược lại thì quan hệ đạt chuẩn 2
 Nhận xét:

- Nếu mọi khóa của lược đồ quan hệ R chỉ có 1 thuộc tính thì
R là 2NF

- R là 2NF X → A F+, với X K (K là khóa của R) thì:

 hoặc A là thuộc tính khóa
 hoặc A X (X → A là phụ thuộc hàm tầm thường)

Cơ sở dữ liệu 16

 Ví dụ 1: Cho LĐQH R = {A,B,C,D,E,G} và

- F = { A → BC, C → DE, E → G }

 Ta thấy A là khóa vì A+ = R (tập thuộc tính của quan
hệ).

 Các thuộc tính khơng khóa là {B,C,D,E,G}.
 Do khóa chỉ có một thuộc tính (các thuộc tính khác

phụ thuộc đầy đủ vào khóa) => quan hệ R ở 2NF.


Cơ sở dữ liệu 17

 Ví dụ 2: Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ
thuộc hàm F = {AB C, B D, BC A}. Hỏi Q có đạt
chuẩn 2 khơng?

 Khóa là K1 = AB và K2 = BC
 Ta thấy B+ = BD
 Vậy:

- D là thuộc tính khơng khóa
- thuộc tính khơng khóa D khơng phụ thuộc đầy đủ vào khóa

 => Q khơng đạt chuẩn 2

Cơ sở dữ liệu 18

 Chú ý: nếu quan hệ không thỏa mãn điều kiện 2NF có thể chuẩn hóa
để có 2NF như sau:

- nhóm vào một quan hệ gồm các thuộc tính phụ thuộc hồn tồn vào
khố và giữ lại khố của quan hệ đó

- nhóm vào một quan hệ khác các thuộc tính phụ thuộc vào một phần
của khố, lấy phần đó làm khố chính cho quan hệ .

 Ví dụ 1:

- Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F = {AB C, B D,

BC A} => Không đạt chuẩn 2

- Tách thành: Q1( B,D) và Q2( A, B, C)

 Ví dụ 2:

- trong quan hệ R2 (Số hoá đơn, Số sản phẩm, Tên sản phẩm, Lượng yêu
cầu) có phụ thuộc hàm : Số sản phẩmTên sản phẩm trong đó Số sản
phẩm là một phần của khoá => quan hệ chưa ở dạng chuẩn 2

- ta tách R2 thành R3 và R4 như sau :

 R3 (Số hoá đơn, Số sản phẩm, Lượng yêu cầu)
 R4 (Số sản phẩm, Tên sản phẩm)

Cơ sở dữ liệu 19

 Ví dụ: xét lược đồ quan hệ:
NHÂNVIÊN_DỰÁN( MãsốNV, MãsốDA, Sốgiờ, HọtênNV, TênDA,

ĐịađiểmDA)
 với các phụ thuộc hàm:

- MãsốNV, MãsốDA → Sốgiờ
- MãsốNV → HọtênNV
- MãsốDA →TênDA, ĐịađiểmDA
 NX: có những thuộc tính khơng khố phụ thuộc vào một bộ phận
của khố chính, như vậy nó khơng thoả mãn điều kiên 2NF.
 Áp dụng phương pháp chuẩn hoá trên, lược đồ được tách thành
các lược đồ như sau:

- N_D1(MãsốDA, TênDA, ĐịađiểmDA)
- N_D2(MãsốNV , HọtênNV)
- N_D3(MãsốNV, MãsốDA, Sốgiờ)

Cơ sở dữ liệu 20

 Ví dụ 3: cho R = {A, B, C, D, E, G}
 F = { ABC, DEG, CA,BEC, BCD, CGBD,

ACDB, CEAG }
 Kiểm tra lược đồ có ở dạng 2NF
 Nếu chưa ở dạng chuẩn 2NF thì đưa về dạng 2NF

Cơ sở dữ liệu 21


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×