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

Các dạng chuẩn

Chuẩn hóa thường được thực hiện qua nhiều bước, mỗi bước tương ứng với một dạng chuẩn (normal form). Trong quá trình chuẩn hóa, các quan hệ sẽ ở các dạng tốt hơn nhằm loại bỏ các bất thường dữ liệu khi thao tác.

Dạng chưa chuẩn hóa

Khi mới bắt đầu, dữ liệu được thu thập từ thế giới thực và được lưu trữ dưới dạng các bảng dữ liệu, với các cột và các hàng. Các dữ liệu này có thể chứa một hay nhiều nhóm bị trùng lặp hay các ô (cell) là các giá trị phức hợp. Chúng ta gọi các bảng dữ liệu này là dữ liệu chưa chuẩn hóa (unnormalized form)

Dạng chuẩn 1

Lược đồ quan hệ $R$ ở dạng chuẩn 1 (1NF – Fists Normal Form) nếu mọi thuộc tính của $R$ đều chứa các giá trị nguyên tố (atomic), giá trị này không là một danh sách các giá trị hoặc giá trị phức hợp (composite attribute).

Các thuộc tính của lược đồ quan hệ $R$ ở dạng chuẩn 1 không được là thuộc tính đa trị (multivalued attribute) hoặc thuộc tính phức hợp.

Một quan hệ ở dạng chuẩn 1 vẫn có thể có các bất thường khi cập nhật.

Dạng chuẩn 2

Phụ thuộc hàm đầy đủ $X \to A$ được gọi là phụ thuộc hàm đầy đủ (Full functional dependency) nếu không tồn tại $Y \in X$ để cho $Y \to A$.

Lược đồ quan hệ $R$ ở dạng chuẩn 2 (2NF – Second Normal Form) đối với tập phụ thuộc hàm $F$ nếu $R$ ở dạng chuẩn 1 và mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào mọi khóa của $R$.

Dạng chuẩn 2 chỉ được áp dụng cho các quan hệ có khóa phức hợp (có ít nhất 2 thuộc tính). Nếu 1 quan hệ chỉ có các khóa đơn thì quan hệ này đương nhiên ở dạng chuẩn 2 và cũng có thể ở các dạng chuẩn cao hơn.

Dạng chuẩn 3

Phụ thuộc hàm bắc cầu $X \to A$ được gọi là phụ thuộc hàm bắc cầu nếu tồn tại $Y$ để cho $X \to Y, Y \to A, Y \not\to X \text{và } A \notin XY$. Dạng chuẩn 3 (3NF) được phát biểu theo 2 cách:

  1. Lược đồ quan hệ $R$ ở dạng chuẩn 3 đối với tập phụ thuộc hàm $F$ nếu $R$ ở dạng chuẩn 1 và mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào thuộc tính khóa.
  2. Lược đồ quan hệ $R$ ở dạng chuẩn 3 đối với tập phụ thuộc hàm $F$ nếu $R$ ở dạng chuẩn 1 và mọi phụ thuộc hàm $X \to A$ với $A \notin X$ thì $X$ là một siêu khóa của $R$ hoặc $A$ là một thuộc tính khóa.

Dạng chuẩn BOYCE-CODD

Cho lược đồ quan hệ $R$ ở dạng chuẩn Boyce-codd (BCNF – Boyce-Codd Normal Form) đối với tập phụ thuộc hàm $F$ nếu $R$ ở dạng chuẩn 1 và mọi phụ thuộc hàm $X \to A$ với $A \notin X$ thì $X$ là một siêu khóa của $R$

Lưu ý: mội quan hệ hệ ở dạng chuẩn BCNF thì nó cũng ở dạng chuẩn 3. BCNF được xây dựng dựa vào khái niệm “định thuộc”.

Dạng chuẩn 4

Phụ thuộc đa trị (multivalued dependency): xuất hiện khi có tối thiểu 3 thuộc tính trong một quan hệ. Dạng chuẩn 4 đạt được khi quan hệ đã đạt tới BCNF và không có phụ thuộc đa trị.

CSDL đạt tới dạng chuẩn 4 đã là rất tốt rồi, nhưng nếu các bạn muốn CSDL của mình tốt hơn, các bạn có thể tham khảo thêm dạng chuẩn 5.