Ở Database (DB) quan hê, đặc biệt là DB lớn, công việc chuẩn hoá database được đánh giá là một trong những giai đoạn quan trọng trước khi đưa DB vào sử dụng. Vậy chuẩn hoá DB là gì? Vì sao lại cần chuẩn hoá và làm sao để chuẩn hoá DB? Bài viết này sẽ giúp bạn giải đáp các thắc mắc này.
Nội dung
Chuẩn hoá Database là gì?
Là tổ chức lại dữ liệu:
- Cần loại bỏ sự dư thừa dữ liệu.
- Và đảm bảo lưu trữ dữ liệu có logic.
Hay chính là việc phân tách các table lớn thành các table nhỏ hơn và liên kết chúng bởi các mối quan hệ.
[Database] Normalization (Part 1)
[Database] Normalization (Part 2)
Vì sao cần chuẩn hoá Database
Ở DB quan hệ, đặc biệt là DB lớn, chúng ta cần phải tổ chức cấu trúc có logic để việc bảo trì và quản lý chúng dễ dàng hơn. Nên chuẩn hoá là một giai đoạn quan trọng trước khi đưa DB vào sử dụng.
Các cách chuẩn hoá Database
Chuẩn hoá 1
- Mỗi ô dữ liệu chỉ chứa đơn giá trị.
- Mỗi record phải là duy nhất (tức là phải có khoá chính).
Chuẩn hoá 2
- DB hiện tại phải đạt chuẩn 1NF.
- Cần loại bỏ các phụ thuộc thành phần (Partial Dependency).
Chuẩn hoá 3
- DB hiện tại phải đạt chuẩn 2NF.
- Cần loại bỏ các phụ thuộc bắc cầu (Transitive Dependency).
Chuẩn hoá Boyce-Codd
- DB hiện tại phải đạt chuẩn 3NF.
- Cần loại bỏ các khoá thành viên (candidate keys).
Tức là ngoài khoá chính (primary key) hiện tại, thì table không được phép chứa bất kỳ column nào có chức năng tương tự như primary key nữa.
Chuẩn hoá 4
- DB hiện tại phải đạt chuẩn Boyce-Codd.
- Cần loại bỏ các phụ thuộc đa trị (Multi-valued Dependency).
(tương tự như Quy tắc 2 ở các bước chuyển đổi ERD sang Table).
Chuẩn hoá 5
- Hay còn gọi là PJNF – Project-Join Normal Form.
- Cần loại bỏ phụ thuộc liên kết (Join Dependency) nếu cần thiết.
Kết luận
Vậy chúng ta đã đi qua toàn bộ các bước chuẩn hoá Database. Hầu hết các table sẽ không vượt quá 3NF, nhưng bạn cũng cần nắm thêm về 4NF, 5NF. Phụ thuộc vào yêu cầu hay độ lớn của dữ liệu mà các quy tắc đó sẽ được áp dụng.
0 Lời bình