Chuẩn hóa dữ liệu là gì? Các dạng chuẩn hóa cơ bản (1NF, 2NF, 3NF, BCNF)
Tìm hiểu hướng dẫn về việc chuẩn hóa các quan hệ về các dạng chuẩn cơ bản (1NF, 2NF, 3NF, BCNF) trong bài viết sau đây.
Table of Contents
Hiện nay, khi cập nhật cơ sở dữ liệu để đảm bảo tính chính xác và nhanh chóng khi truy vấn, chuẩn hóa dữ liệu là một yếu tố quan trọng không thể bỏ qua. Vậy chuẩn hóa dữ liệu là gì? Các dạng chuẩn hóa dữ liệu cơ bản thường được sử dụng như thế nào? Cùng FUNiX tìm hiểu trong bài viết dưới đây.
1. Chuẩn hóa dữ liệu là gì?
Chuẩn hóa dữ liệu là quá trình biểu diễn cơ sở dữ liệu dưới dạng chuẩn. Đây là một kỹ thuật thiết kế bảng trong cơ sở dữ liệu, chia các bảng lớn thành các bảng nhỏ hơn và liên kết chúng bằng các mối quan hệ.
Quá trình này diễn ra với mục đích là loại bỏ hoặc làm giảm sự dư thừa và phụ thuộc của dữ liệu.
>>> Xem thêm: Các hệ cơ sở dữ liệu (Database systems)
2. Các dạng chuẩn hóa cơ bản
Có 4 dạng cơ bản là dạng chuẩn: 1NF, 2NF, 3NF và BCNF. Các dạng chuẩn hóađược sắp xếp từ thấp đến cao. Để chuẩn hóa 2NF thì cơ sở dữ liệu của chúng ta phải đạt chuẩn 1NF, tương tự nếu muốn đạt chuẩn 3NF thì phải đạt chuẩn 1 NF và 2 NF. Chuẩn BCNF sẽ bao gồm 3 loại chuẩn là 1NF, 2NF và 3NF.
2.1 Dạng chuẩn 1NF (First Normal Form)
Một bảng cơ sở dữ liệu được gọi là ở dạng chuẩn hóa dữ liệu 1NF khi toàn bộ các miền giá trị của các cột trong bảng đều chỉ chứa các giá trị nguyên tử (nguyên tố) và mỗi cột chỉ chứa một giá trị từ miền.
Ví dụ về bảng lưu trữ tên và số điện thoại của khách hàng:
Customer ID |
First Name |
Surname |
Telephone Number |
123 |
Pooja |
Singh |
555-861-2025, 192-122-1111 |
456 |
San |
Zhang |
(555) 403-1659 Ext. 53; 182-929-2929 |
789 |
John |
Doe |
555-808-9633 |
Bảng này đang vi phạm 1NF vì cột Telephone Number chứa nhiều giá trị (nhiều số điện thoại) nên các giá trị trong cột không phải là nguyên tố mà có thể được chia thành hai số.
Chỉnh sửa để đưa về dạng chuẩn 1NF:
Customer ID |
First Name |
Surname |
Telephone Number |
123 |
Pooja |
Singh |
555-861-2025 |
123 |
Pooja |
Singh |
192-122-1111 |
456 |
San |
Zhang |
182-929-2929 |
456 |
San |
Zhang |
(555) 403-1659 Ext. 53 |
789 |
John |
Doe |
555-808-9633 |
2.2 Dạng chuẩn 2NF (Second Normal Form)
Một quan hệ đủ tiêu chí là dạng chuẩn hóa dữ liệu 2NF nếu quan hệ đó:
- Là 1NF
- Các thuộc tính không khoá phải phụ thuộc hàm đầy đủ vào khoá chính
Ví dụ 1: Cho quan hệ R = (ABCD), khoá chính là AB và tập phụ thuộc hàm là F = {AB => C, AB => D} là quan hệ đạt chuẩn 2NF.
Ví dụ 2: Cho quan hệ R = (ABCD), khoá chính là AB và tập phụ thuộc hàm là F = {AB => C, AB => D, B => DC} là quan hệ không đạt chuẩn 2NF vì có B => DC là phụ thuộc hàm không đầy đủ vào khoá chính. Chúng ta sẽ đưa về dạng chuẩn 2NF như sau:
>>> Xem thêm: Cách xác định yêu cầu khách hàng khi xây dựng website
2.3 Dạng chuẩn 3NF (Third Nomal Form)
Một quan hệ đủ tiêu chí là dạng chuẩn hóa dữ liệu 3NF nếu quan hệ đó:
- Là 2NF
- Các thuộc tính không khoá phải phụ thuộc trực tiếp vào khoá chính
Ví dụ 1: Cho quan hệ R = (ABCDGH, khoá chính là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D, AB -> GH} là quan hệ đạt chuẩn 3NF.
Ví dụ 2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D, AB -> GH, G -> DH}. Đây là quan hệ không đạt chuẩn 3NF vì có G -> DH là phụ thuộc hàm gián tiếp vào khoá. Chúng ta sẽ đưa nó về dạng chuẩn 3NF như sau:
2.4 Dạng chuẩn BCNF (Boyce – Codd Normal Form)
Một quan hệ đạt chuẩn BCNF nếu quan hệ đó:
- Là 3NF
- Không có thuộc tính khoá mà phụ thuộc hàm vào thuộc tính không khoá.
Ví dụ 1: Cho quan hệ R = (ABCDGH), khoá là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D, AB -> GH} là quan hệ đạt chuẩn BCNF.
Ví dụ 2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm F = {AB -> C, AB -> D, AB -> GH, H -> B}. Đây là quan hệ không đạt chuẩn hóa dữ liệu BCNF vì có thuộc tính khoá B phụ thuộc hàm vào thuộc tính không khoá H. Chúng ta sẽ đưa nó về dạng chuẩn BCNF như sau:
2.5 Dạng chuẩn 4NF (Four Nomal Form)
Nếu không có cá thể bản cơ sở dữ liệu nào chứa 2 hoặc nhiều dữ liệu độc lập và đa trị mô tả thực thể có liên quan thì đó là ở dạng thông thường thứ 4.
2.6 Dạng chuẩn 5NF (Five Nomal Form)
Một bảng ở dạng bình thường thứ 5 chỉ khi nó ở 4NF và nó không thể được phân tách thành bất kỳ số lượng bảng nhỏ hơn nào mà không mất dữ liệu.
2.7 Đề xuất 6NF (Six Nomal Form)
Mẫu thường thứ 6 không được chuẩn hóa, tuy nhiên nó đang được các chuyên gia cơ sở dữ liệu đưa vào tầm ngắm.
3. Kết luận
Chuẩn hóa cơ sở dữ liệu của trang web sẽ giúp giảm thiểu dư thừa dữ liệu và loại bỏ các bất thường khi cập nhật cơ sở dữ liệu.
Có 4 dạng chuẩn hóa dữ liệu cơ bản đó là
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Boyce-Codd Normal Form (BCNF)
>>> Nếu bạn có mong muốn học lập trình, đừng bỏ qua các khóa học CNTT tại FUNiX:
Phạm Thị Thanh Ngọc
Bình luận (0
)