/ / Khái niệm cơ bản về chuẩn hóa cơ sở dữ liệu

Khái niệm cơ bản về chuẩn hóa cơ sở dữ liệu

Nếu bạn đã làm việc với cơ sở dữ liệu một thời gian, rất có thể bạn đã nghe đến thuật ngữ chuẩn hóa. Có lẽ ai đó đã hỏi bạn, “Cơ sở dữ liệu đó có được chuẩn hóa không?” hoặc “Đó có phải là trong BCNF không?” Bình thường hóa thường được coi là một điều xa xỉ chỉ các học giả mới có thời gian. Tuy nhiên, biết các nguyên tắc chuẩn hóa và áp dụng chúng cho các tác vụ thiết kế cơ sở dữ liệu hàng ngày của bạn không phải là quá phức tạp và nó có thể cải thiện đáng kể hiệu suất của DBMS của bạn.


Trong bài viết này, chúng tôi sẽ giới thiệu khái niệm chuẩn hóa và tìm hiểu sơ qua về các dạng chuẩn hóa phổ biến nhất.



Chuẩn hóa là gì?

Chuẩn hóa là quá trình tổ chức dữ liệu một cách hiệu quả trong cơ sở dữ liệu. Có hai mục tiêu của quá trình chuẩn hóa: loại bỏ dữ liệu thừa (ví dụ: lưu trữ cùng một dữ liệu trong nhiều bảng) và đảm bảo các phụ thuộc dữ liệu có ý nghĩa (chỉ lưu trữ dữ liệu liên quan trong một bảng). Cả hai đều là những mục tiêu xứng đáng, vì chúng làm giảm dung lượng mà cơ sở dữ liệu sử dụng và đảm bảo rằng dữ liệu được lưu trữ một cách hợp lý.



Các hình thức bình thường

Cộng đồng cơ sở dữ liệu đã phát triển một loạt các hướng dẫn để đảm bảo rằng cơ sở dữ liệu được chuẩn hóa. Chúng được gọi là dạng bình thường và được đánh số từ một (dạng chuẩn hóa thấp nhất, được gọi là dạng chuẩn đầu tiên hoặc 1NF) đến năm (dạng chuẩn thứ năm hoặc 5NF). Trong các ứng dụng thực tế, bạn sẽ thường thấy 1NF, 2NF và 3NF, cùng với 4NF không thường xuyên. Dạng bình thường thứ năm rất hiếm khi được nhìn thấy và sẽ không được thảo luận trong bài viết này.


Trước khi chúng ta bắt đầu thảo luận về các biểu mẫu thông thường, điều quan trọng là phải chỉ ra rằng chúng chỉ là nguyên tắc và hướng dẫn. Đôi khi, cần phải đi lạc khỏi chúng để đáp ứng các yêu cầu kinh doanh thực tế. Tuy nhiên, khi các biến thể diễn ra, bạn bắt buộc phải đánh giá bất kỳ sự phân nhánh nào mà chúng có thể có trên hệ thống của bạn và giải thích các mâu thuẫn tiềm ẩn. Điều đó nói rằng, chúng ta hãy khám phá các hình thức bình thường.


Dạng chuẩn đầu tiên (1NF)

Dạng chuẩn đầu tiên (1NF) đặt ra các quy tắc cơ bản cho một cơ sở dữ liệu có tổ chức:


  • Loại bỏ các cột trùng lặp khỏi cùng một bảng.
  • Tạo các bảng riêng biệt cho từng nhóm dữ liệu liên quan và xác định mỗi hàng bằng một cột hoặc tập hợp cột duy nhất (khóa chính).


Dạng chuẩn thứ hai (2NF)

Dạng chuẩn thứ hai (2NF) giải quyết thêm khái niệm loại bỏ dữ liệu trùng lặp:


  • Đáp ứng tất cả các yêu cầu của biểu mẫu thông thường đầu tiên.
  • Loại bỏ các tập hợp con dữ liệu áp dụng cho nhiều hàng của bảng và đặt chúng vào các bảng riêng biệt.
  • Tạo mối quan hệ giữa các bảng mới này và các bảng tiền nhiệm của chúng thông qua việc sử dụng các khóa ngoại.


Dạng chuẩn thứ ba (3NF)

Dạng chuẩn thứ ba (3NF) tiến thêm một bước quan trọng:


  • Đáp ứng tất cả các yêu cầu của biểu mẫu thông thường thứ hai.
  • Loại bỏ các cột không phụ thuộc vào khóa chính.


Boyce-Codd Dạng bình thường (BCNF hoặc 3.5NF)

Biểu mẫu thông thường Boyce-Codd, còn được gọi là “biểu mẫu thông thường thứ ba và một nửa (3.5),” thêm một yêu cầu nữa:


  • Đáp ứng tất cả các yêu cầu của biểu mẫu thông thường thứ ba.
  • Mọi yếu tố quyết định phải là một khóa ứng viên.


Dạng chuẩn thứ tư (4NF)

Cuối cùng, dạng chuẩn thứ tư (4NF) có một yêu cầu bổ sung:




Hãy nhớ rằng, các nguyên tắc chuẩn hóa này là tích lũy. Để một cơ sở dữ liệu nằm trong 2NF, trước tiên nó phải đáp ứng tất cả các tiêu chí của cơ sở dữ liệu 1NF.



Tôi có nên Bình thường hóa không?

Mặc dù chuẩn hóa cơ sở dữ liệu thường là một ý tưởng hay, nhưng nó không phải là một yêu cầu tuyệt đối. Có một số trường hợp cố tình vi phạm quy tắc bình thường là một việc làm tốt.


Nếu bạn muốn đảm bảo cơ sở dữ liệu của mình được chuẩn hóa, hãy bắt đầu với việc học cách đặt cơ sở dữ liệu của bạn vào Biểu mẫu Thông thường Đầu tiên.


Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *