Cơ sở dữ liệu chuẩn hóa cơ sở dữ liệu

Bình thường hóa cơ sở dữ liệu của bạn

Nếu bạn đã làm việc với cơ sở dữ liệu trong một thời gian, rất có thể bạn đã nghe 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 trong BCNF không?" Bình thường hóa thường được gạt sang một bên như một sự xa xỉ mà chỉ có các học giả mới có thời gian. Tuy nhiên, biết các nguyên tắc bình thường hóa và áp dụng chúng cho các nhiệm vụ thiết kế cơ sở dữ liệu hàng ngày của bạn thực sự không phải là tất cả những gì 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 này, chúng tôi sẽ giới thiệu khái niệm về bình thường hóa và xem xét một cách ngắn gọn các hình thức bình thường phổ biến nhất.

Bình thường hóa là gì?

Bình thường hóa là quá trình tổ chức dữ liệu 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 dư thừa (ví dụ, lưu trữ cùng một dữ liệu trong nhiều bảng) và đảm bảo phụ thuộc dữ liệu có ý nghĩa (chỉ lưu trữ dữ liệu liên quan trong bảng). Cả hai đều là những mục tiêu xứng đáng vì chúng làm giảm lượng không gian mà cơ sở dữ liệu tiêu thụ và đảm bảo rằng dữ liệu được lưu trữ hợp lý.

Biểu mẫu thông thường

Cộng đồng cơ sở dữ liệu đã phát triển một loạt các nguyên tắc để đảm bảo rằng cơ sở dữ liệu được chuẩn hóa. Đây được gọi là các hình thức bình thường và được đánh số từ một (dạng thức chuẩn hóa thấp nhất, được gọi là dạng bình thường đầu tiên hoặc 1NF) qua năm (dạng thông thường 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. Hình thức bình thường thứ năm là rất hiếm khi 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 hình thức bình thường, điều quan trọng là chỉ ra rằng chúng là những hướng dẫn và chỉ dẫn. Đôi khi, nó trở nên cần thiết để đi lạc từ họ để đáp ứng yêu cầu kinh doanh thực tế. Tuy nhiên, khi các biến thể diễn ra, điều vô cùng quan trọng là phải đánh giá bất kỳ phân nhánh nào có thể có trên hệ thống của bạn và tài khoản cho những mâu thuẫn có thể xảy ra. Điều đó nói rằng, chúng ta hãy khám phá các hình thức bình thường.

Biểu mẫu thông thường đầu tiên (1NF)

Biểu mẫu thông thường đầu tiên (1NF) đặt các quy tắc cơ bản cho một cơ sở dữ liệu có tổ chức:

Dạng thông thường thứ hai (2NF)

Dạng thông thường thứ hai (2NF) tiếp tục giải quyết khái niệm loại bỏ dữ liệu trùng lặp :

Dạng thông thường thứ ba (3NF)

Hình thức thông thường thứ ba (3NF) đi thêm một bước nữa:

Biểu mẫu bình thường Boyce-Codd (BCNF hoặc 3.5NF)

Dạng Bình thường Boyce-Codd, còn được gọi là "hình thức bình thường thứ ba và một nửa (3,5)", thêm một yêu cầu nữa:

Dạng thứ tư bình thường (4NF)

Cuối cùng, hình thức bình thường thứ tư (4NF) có một yêu cầu bổ sung:

Hãy nhớ rằng, các hướng dẫn chuẩn hóa này được tích lũy. Đối với 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 chuẩn hóa?

Trong khi chuẩn hóa cơ sở dữ liệu thường là một ý tưởng hay, nó không phải là một yêu cầu tuyệt đối. Trong thực tế, có một số trường hợp cố ý vi phạm các quy tắc bình thường hóa là một thực hành tốt. Để biết thêm về chủ đề này, hãy đọc Tôi có nên Bình thường hóa Cơ sở dữ liệu của tôi không?

Nếu bạn muốn đảm bảo cơ sở dữ liệu của bạn đượ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 .