Trang chủ » Blog » Chuẩn hoá Database (Database Normalization) là gì?

Chuẩn hoá Database (Database Normalization) là gì?

Ở 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.

Chuẩn hoá Database là gì?

Là tổ chức lại dữ liệu:

  1. Cần loại bỏ sự dư thừa dữ liệu.
  2. 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 1)

[Database] Normalization (Part 2)

[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

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

9 + 6 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM