25/05/2018, 00:36

Các dạng chuẩn hóa dữ liệu

Chuẩn hoá là quá trình tách bảng (phân rã) thành các bảng nhỏ hơn dựa vào các phụ thuộc hàm. Các dạng chuẩn là các chỉ dẫn để thiết kế các bảng trong CSDL. Mục đích của chuẩn hoá là loại bỏ các dư thừa dữ liệu và các lỗi khi thao tác dư ...

  • Chuẩn hoá là quá trình tách bảng (phân rã) thành các bảng nhỏ hơn dựa vào các phụ thuộc hàm.
  • Các dạng chuẩn là các chỉ dẫn để thiết kế các bảng trong CSDL.
  • Mục đích của chuẩn hoá là loại bỏ các dư thừa dữ liệu và các lỗi khi thao tác dư thừa và các lỗi khi thao tác dữ liệu (Insert, Delete, Update).
  • Nhưng chuẩn hoá làm tăng thời gian truy vấn

Các dạng chuẩn hoá

(Normal Form)

Định nghĩa:

Một bảng (quan hệ) được gọi là ở dạng chuẩn 1NF nếu và chỉ nếu toàn bộ các miền giá trị của các cột có mặt trong bảng (quan hệ) đều chỉ chứa các giá trị nguyên tử (nguyên tố)

Ví dụ:

Một bảng (quan hệ) chưa ở 1NF:

MASV HOTEN DIACHI MAMON TENMON DIEM
A01 Lê Na 12 Thái Hà M01M02 CSDLAnh 89
A02 Trần An 56 Mã Mây M01 CSDL 8
A03 Hà Nam 24 Cầu Gỗ M01M02M03 CSDLAnhToán 1 689

Cách chuyển sang dạng 1NF:

Điền đủ dữ liệu vào các cột khác. Như sau:

MASV HOTEN DIACHI MAMON TENMON TENGV PHONG DIEM
A01 Lê Na 12 Thái Hà M01 CSDL Mai P401 8
A01 Lê Na 12 Thái Hà M02 Anh Hương P405 9
A02 Trần An 56 Mã Mây M01 CSDL Mai P401 8
A03 Hà Nam 24 Cầu Gỗ M01 CSDL Mai P401 6
A03 Hà Nam 24 Cầu Gỗ M02 Anh Hương P405 8
A03 Hà Nam 24 Cầu Gỗ M03 Toán 1 Hoa P406 9

Định nghĩa

Một quan hệ ở dạng chuẩn 2NF nếu quan hệ đó:

+ Là 1NF

+ Các thuộc tính không khoá phải phụ thuộc hàm đầy đủ vào khoá chính

Ví dụ

- Ví dụ1: Cho quan hệ R = (ABCD) , khoá là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D}là quan hệ đạt chuẩn 2NF.

- Ví dụ2: Cho quan hệ R = (ABCD) , khoá là AB và tập phụ thuộc hàm

F = {AB -> C, AB -> D, B -> DC} là quan hệ không đạt chuẩn 2NF vì có phụ thuộc hàm

B -> DC là phụ thuộc hàm bộ phận (phụ thuộc hàm không đầy đủ) vào khoá. Khi đó ta đưa về dạng chuẩn 2NF như sau:

Nhận xét

Một quan hệ ở dạng chuẩn 2NF nếu thoả mãn 1 trong các đièu kiện sau:

  • Khoá chính chỉ gồm một thuộc tính
  • Bảng không có các thuộc tính không khoá
  • Tất cả các thuộc tính không khoá phụ thuộc hoàn toàn vào tập các thuộc tính khoá chính

Dạng chuẩn 3 – 3NF

Định nghĩa

Một quan hệ ở dạng chuẩn 3NF nếu quan hệ đó:

+ Là 2NF

+ Các thuộc tính không khoá phải phụ thuộc trực tiếp vào khoá chính

Ví dụ

- Ví dụ1: Cho quan hệ R = (ABCDGH, khoá là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D, AB -> GH} là quan hệ đạt chuẩn 3NF.

- Ví dụ2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm

F = {AB -> C, AB -> D, AB -> GH, G -> DH} là quan hệ không đạt chuẩn 3NF vì có phụ thuộc hàm G ® DH là phụ thuộc hàm gián tiếp vào khoá. Khi đó ta đưa về dạng chuẩn 3NF như sau:

Định nghĩa

Một quan hệ ở dạng chuẩn BCNF nếu quan hệ đó:

+ Là 3NF

+ Không có thuộc tính khoá mà phụ thuộc hàm vào thuộc tính không khoá.

Ví dụ

- Ví dụ1: Cho quan hệ R = (ABCDGH, khoá là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D, AB -> GH} là quan hệ đạt chuẩn BCNF.

- Ví dụ2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm

F = {AB -> C, AB -> D, AB -> GH, H -> B} là quan hệ không đạt chuẩn BCNF vì có thuộc tính khoá B phụ thuộc hàm vào thuộc tính không khoá H. Khi đó ta đưa về dạng chuẩn BCNF như sau:

0