You are on page 1of 5

Chuẩn hóa là một kỹ thuật thiết kế CSDL giúp giảm bớt sự dư thừa dữ liệu và loại bỏ

những đặc điểm không mong muốn như Insertion, Update and Deletion Anomalies. Các quy tắc
chuẩn hóa chia những bảng lớn thành các bảng nhỏ hơn và kết nối chúng bằng cách dùng quan
hệ. Mục đích chuẩn hóa trong SQL nhằm loại bỏ dữ liệu thừa (lặp lại) và đảm bảo dữ liệu được
lưu trữ một cách logic.
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.
Chuẩn hóa - Normalization là gì? Ví dụ về 1NF, 2NF, 3NF, BCNF Database (techmaster.vn)

Danh sách Normal Forms:


 1NF (First Normal Form)
 2NF (Second Normal Form)
 3NF (Third Normal Form)
 BCNF (Boyce-Codd Normal Form)
 4NF (Fourth Normal Form)
 5NF (Fifth Normal Form)
 6NF (Sixth Normal Form)

Chuẩn hoá cấp 1: First Normal Form


 Các thuộc tính của bảng phải là nguyên tố
 Giá trị của các thuộc tính trên các hàng phải là đơn trị, không chứa
nhóm lặp
 Không có một thuộc tính nào có giá trị có thể tính toán được từ một
thuộc tính khác
Chuẩn hóa 1NF tách các thuộc tính lặp ra thành 1 bảng mới, loại bỏ các
thuộc tính không cần thiết.

 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

 Nguyên tắc 1: Trước tiên phải tuân thủ nguyên tắc 1NF


 Nguyên tắc 2: Khóa chính là một cột đơn.
 Bước 1: 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 ra thành một bảng riêng, khóa chính của bảng là bộ
phận của khóa mà chúng phụ thuộc vào.
 Bước 2: Các 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.

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

Khóa là một giá trị thường được sử dụng để định danh duy nhất cho một bản
ghi trong bảng. Khóa có thể là một cột hoặc kết hợp của nhiều cột.
 Các cột trong bản không được sử dụng để định danh bản ghi là duy nhất
được gọi là các cột không khóa (non-key collumns).
Khóa chính
Một giá trị chính là một cột giá trị thường dùng để định danh duy nhất cho bản ghi
của dữ liệu

Nó có một số thuộc tính sau:

 Khóa chính không thể NULL,


 Giá trị của khóa chính phải là duy nhất,
 Giá trị của khóa chính thường hiếm khi được thay đổi,
 Khóa chính phải được gán giá trị mỗi khi một bản ghi được thêm vào.

Một khóa tổng hợp là một khóa chính được kết hợp bởi nhiều cột mà các cột
này có thể định danh duy nhất cho bản ghi. Trong dữ liệu ví dụ, chúng ta có 2
người với cùng tên là Robert Phil nhưng sống ở 2 địa chỉ khác nhau.

Đị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

 Nguyên tắc 1: đảm bảo nguyên tắc của 2NF


 Nguyên tắc 2: Không có sự bắc cầu trong phụ thuộc hàm.
 Quy tắc chuẩn hóa từ 2NF thành 3NF:
 Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và
tách chúng thành quan hệ riêng có khóa chính là thuộc tính bắc cầu.
 Bước 2: Các thuộc tính còn lại lập thành một quan hệ có khóa chính là
khóa ban đầu.

Tính bắc cầu của phụ thuộc hàm là khi thay đổi một cột không phải là khóa có thể dẫn đến
việc các cột không phải khóa khác cũng sẽ phải thay đổi

Dạng chuẩn BCNF (Boyce Codd Normal Form)

Đị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á.

Chuẩn hoá cấp 4 (Fourth Normal Form)


Nếu không có cá thể bảng cơ sở dữ liệu nào chứa hai hoặc nhiều dữ liệu độc
lập và nhiều giá trị mô tả thực thể có liên quan, thì nó ở 4th Normal Form.

Chuẩn hoá cấp 5 (Fifth Normal Form) 


Một bảng là 5th Normal Form chỉ khi là 4NF và không thể bị phân tách thành
các bảng nhỏ hơn mà không bị mất dữ liệu

Chuẩn hoá cấp 6 (Sixth Normal Form)


6th Normal Form chưa có quy chuẩn nhưng đang được thảo luận bởi những chuyên
gia về CSDL.

You might also like