Bình thường hóa ngăn ngừa lãng phí không gian đĩa bằng cách giảm thiểu hoặc loại bỏ sự dư thừa.
Biểu đồ so sánh
Cơ sở để so sánh | Bình thường hóa | Không chuẩn hóa |
---|---|---|
Căn bản | Chuẩn hóa là quá trình tạo một lược đồ đã thiết lập để lưu trữ dữ liệu không dư thừa và nhất quán. | Không chuẩn hóa là quá trình kết hợp dữ liệu để có thể được truy vấn nhanh chóng. |
Mục đích | Để giảm sự dư thừa dữ liệu và sự không nhất quán. | Để đạt được việc thực hiện nhanh hơn các truy vấn thông qua việc giới thiệu dự phòng. |
Được dùng trong | Hệ thống OLTP, trong đó nhấn mạnh là làm cho việc chèn, xóa và cập nhật dị thường nhanh hơn và lưu trữ dữ liệu chất lượng. | Hệ thống OLAP, trong đó nhấn mạnh vào việc làm cho việc tìm kiếm và phân tích nhanh hơn. |
Toàn vẹn dữ liệu | Duy trì | Có thể không giữ lại |
Dư | Loại bỏ | Thêm |
Số lượng bàn | Tăng | Giảm |
Dung lượng đĩa | Tối ưu hóa việc sử dụng | Chất thải |
Định nghĩa chuẩn hóa
Chuẩn hóa là phương pháp sắp xếp dữ liệu trong cơ sở dữ liệu một cách hiệu quả. Nó liên quan đến việc xây dựng các bảng và thiết lập mối quan hệ giữa các bảng theo một số quy tắc nhất định. Sự dư thừa và sự phụ thuộc không nhất quán có thể được loại bỏ bằng cách sử dụng các quy tắc này để làm cho nó linh hoạt hơn.
Dữ liệu dư thừa làm lãng phí không gian đĩa, tăng sự không nhất quán dữ liệu và làm chậm các truy vấn DML. Nếu cùng một dữ liệu có mặt ở nhiều nơi và bất kỳ cập nhật nào được cam kết trên dữ liệu đó, thì sự thay đổi phải được phản ánh ở tất cả các vị trí. Dữ liệu không nhất quán có thể làm cho việc tìm kiếm và truy cập dữ liệu khó khăn hơn bằng cách mất đường dẫn đến dữ liệu đó.
Có nhiều lý do khác nhau đằng sau việc thực hiện chuẩn hóa như để tránh dư thừa, cập nhật dị thường, mã hóa không cần thiết, giữ dữ liệu ở dạng có thể điều chỉnh thay đổi dễ dàng và chính xác hơn và để thực thi ràng buộc dữ liệu.
Chuẩn hóa bao gồm phân tích các phụ thuộc chức năng giữa các thuộc tính. Các mối quan hệ (bảng) được phân tách với sự bất thường để tạo ra các mối quan hệ với một cấu trúc. Nó giúp trong việc quyết định các thuộc tính nên được nhóm trong một mối quan hệ.
Việc chuẩn hóa về cơ bản dựa trên các khái niệm về các hình thức bình thường . Một bảng quan hệ được cho là ở dạng bình thường nếu nó đáp ứng một tập các ràng buộc nhất định. Có 6 dạng bình thường được xác định: 1NF, 2NF, 3NF, BCNF, 4NF và 5NF. Bình thường hóa nên loại bỏ sự dư thừa nhưng không phải trả giá bằng tính toàn vẹn.
Định nghĩa không chuẩn hóa
Không chuẩn hóa là quá trình chuẩn hóa ngược, trong đó lược đồ chuẩn hóa được chuyển đổi thành lược đồ có thông tin dư thừa. Hiệu suất được cải thiện bằng cách sử dụng dự phòng và giữ cho dữ liệu dự phòng nhất quán. Lý do để thực hiện việc không chuẩn hóa là các chi phí được tạo ra trong bộ xử lý truy vấn bởi một cấu trúc quá chuẩn hóa.
Sự không chuẩn hóa cũng có thể được định nghĩa là phương pháp lưu trữ sự tham gia của các mối quan hệ hình thức bình thường vượt trội như một mối quan hệ cơ bản, ở dạng thấp hơn bình thường. Nó làm giảm số lượng bảng và tham gia bảng phức tạp vì số lượng tham gia cao hơn có thể làm chậm quá trình. Có nhiều kỹ thuật không chuẩn hóa khác nhau như: Lưu trữ các giá trị phái sinh, các bảng tham gia trước, các giá trị được mã hóa cứng và giữ các chi tiết với chủ, v.v.
Ở đây, phương pháp không chuẩn hóa, nhấn mạnh vào khái niệm rằng bằng cách đặt tất cả dữ liệu vào một nơi, có thể loại bỏ nhu cầu tìm kiếm nhiều tệp đó để thu thập dữ liệu này. Chiến lược cơ bản được tuân theo trong việc không chuẩn hóa là, trong đó quy trình cầm quyền nhất được chọn để kiểm tra những sửa đổi đó cuối cùng sẽ cải thiện hiệu suất. Và thay đổi cơ bản nhất là thêm nhiều thuộc tính vào bảng hiện có để giảm số lượng tham gia.
Sự khác biệt chính giữa chuẩn hóa và không chuẩn hóa
- Chuẩn hóa là kỹ thuật chia dữ liệu thành nhiều bảng để giảm sự dư thừa và không nhất quán dữ liệu và để đạt được tính toàn vẹn dữ liệu. Mặt khác, Không chuẩn hóa là kỹ thuật kết hợp dữ liệu vào một bảng duy nhất để giúp truy xuất dữ liệu nhanh hơn.
- Chuẩn hóa được sử dụng trong hệ thống OLTP, trong đó nhấn mạnh vào việc thực hiện chèn, xóa và cập nhật dị thường nhanh hơn. Ngược lại, Không chuẩn hóa được sử dụng trong hệ thống OLAP, trong đó nhấn mạnh vào việc làm cho việc tìm kiếm và phân tích nhanh hơn.
- Tính toàn vẹn dữ liệu được duy trì trong quá trình chuẩn hóa trong khi tính toàn vẹn dữ liệu khó giữ lại.
- Dữ liệu dư thừa được loại bỏ khi quá trình chuẩn hóa được thực hiện trong khi quá trình không chuẩn hóa làm tăng dữ liệu dư thừa.
- Chuẩn hóa làm tăng số lượng bảng và tham gia. Ngược lại, không chuẩn hóa làm giảm số lượng bảng và tham gia.
- Không gian đĩa bị lãng phí trong quá trình không chuẩn hóa vì cùng một dữ liệu được lưu trữ ở những nơi khác nhau. Ngược lại, không gian đĩa được tối ưu hóa trong một bảng được chuẩn hóa.
Phần kết luận
Bình thường hóa và không chuẩn hóa là hữu ích theo tình hình. Chuẩn hóa được sử dụng khi việc chèn, xóa và cập nhật bất thường nhanh hơn và nhất quán dữ liệu là cần thiết. Mặt khác, Không chuẩn hóa được sử dụng khi tìm kiếm nhanh hơn là quan trọng hơn và để tối ưu hóa hiệu suất đọc. Nó cũng làm giảm các chi phí được tạo bởi dữ liệu quá chuẩn hóa hoặc các phép nối bảng phức tạp.