Sự khác biệt giữa Chuẩn hóa và Chuẩn hóa

Sự khác biệt giữa Chuẩn hóa và Chuẩn hóa
Sự khác biệt giữa Chuẩn hóa và Chuẩn hóa

Video: Sự khác biệt giữa Chuẩn hóa và Chuẩn hóa

Video: Sự khác biệt giữa Chuẩn hóa và Chuẩn hóa
Video: Phóng sự môn văn- Sự khác nhau giữa giới trể xưa và nay- THPT Nguyễn Thị Minh Khai 2024, Tháng bảy
Anonim

Chuẩn hóa so với Chuẩn hóa

Cơ sở dữ liệu quan hệ được tạo thành từ các quan hệ (các bảng liên quan). Bảng được tạo thành từ các cột. Nếu hai bảng lớn (tức là quá nhiều cột trong một bảng), thì cơ sở dữ liệu bất thường có thể xảy ra. Nếu hai bảng nhỏ (tức là cơ sở dữ liệu được tạo thành từ nhiều bảng nhỏ hơn), nó sẽ không hiệu quả cho việc truy vấn. Chuẩn hóa và Chuẩn hóa là hai quá trình được sử dụng để tối ưu hóa hiệu suất của cơ sở dữ liệu. Chuẩn hóa giảm thiểu phần dư thừa có trong bảng dữ liệu. Chuẩn hóa (đảo ngược của chuẩn hóa) thêm dữ liệu dư thừa hoặc dữ liệu nhóm.

Chuẩn hóa là gì?

Chuẩn hóa là một quá trình được thực hiện để giảm thiểu sự dư thừa có trong dữ liệu trong cơ sở dữ liệu quan hệ. Quá trình này chủ yếu sẽ chia các bảng lớn thành các bảng nhỏ hơn với ít dư thừa hơn (được gọi là “Biểu mẫu thông thường”). Các bảng nhỏ hơn này sẽ liên quan với nhau thông qua các mối quan hệ được xác định rõ. Trong một cơ sở dữ liệu được chuẩn hóa tốt, bất kỳ thay đổi hoặc sửa đổi nào trong dữ liệu sẽ chỉ yêu cầu sửa đổi một bảng duy nhất. Dạng chuẩn thứ nhất (1NF), dạng chuẩn thứ hai (2NF) và dạng chuẩn thứ ba (3NF) đã được giới thiệu bởi Edgar F. Codd. Boyce-Codd Normal Form (BCNF) được giới thiệu vào năm 1974 bởi Codd và Raymond F. Boyce. Các Dạng Bình thường Cao hơn (4NF, 5NF và 6NF) đã được xác định, nhưng chúng hiếm khi được sử dụng.

Một bảng tuân thủ 1NF đảm bảo rằng nó thực sự đại diện cho một mối quan hệ (tức là nó không chứa bất kỳ bản ghi nào đang lặp lại) và không chứa bất kỳ thuộc tính nào có giá trị quan hệ (i.e. tất cả các thuộc tính phải có giá trị nguyên tử). Để một bảng tuân thủ 2NF, nó phải tuân theo 1NF và bất kỳ thuộc tính nào không phải là một phần của bất kỳ khóa ứng viên nào (tức là thuộc tính không phải nguyên tố) phải hoàn toàn phụ thuộc vào bất kỳ khóa ứng viên nào trong bảng. Theo định nghĩa của Codd, một bảng được cho là ở dạng 3NF, nếu và chỉ khi, bảng đó ở dạng chuẩn thứ hai (2NF) và mọi thuộc tính trong bảng không thuộc về khóa ứng viên sẽ trực tiếp phụ thuộc vào mọi khóa ứng viên của bảng đó. BCNF (còn được gọi là 3.5NF) nắm bắt một số điểm bất thường mà 3NF không giải quyết được.

Bất chuẩn hóa là gì?

Bất chuẩn hóa là quá trình ngược lại của quá trình chuẩn hóa. Chuẩn hóa hoạt động bằng cách thêm dữ liệu dư thừa hoặc nhóm dữ liệu để tối ưu hóa hiệu suất. Mặc dù việc thêm dữ liệu dư thừa nghe có vẻ phản tác dụng, nhưng đôi khi không chuẩn hóa là một quá trình rất quan trọng để khắc phục một số thiếu sót trong phần mềm cơ sở dữ liệu quan hệ có thể bị phạt hiệu suất nặng với cơ sở dữ liệu chuẩn hóa (thậm chí được điều chỉnh để có hiệu suất cao hơn). Điều này là do việc kết hợp một số quan hệ (là kết quả của quá trình chuẩn hóa) để tạo ra kết quả cho một truy vấn đôi khi có thể chậm tùy thuộc vào việc triển khai vật lý thực tế của hệ thống cơ sở dữ liệu.

Sự khác biệt giữa Chuẩn hóa và Chuẩn hóa là gì?

- Chuẩn hóa và không chuẩn hóa là hai quá trình hoàn toàn trái ngược nhau.

- Chuẩn hóa là quá trình chia các bảng lớn hơn thành các bảng nhỏ hơn để giảm dữ liệu dư thừa, trong khi không chuẩn hóa là quá trình thêm dữ liệu dư thừa để tối ưu hóa hiệu suất.

- Quá trình chuẩn hóa được thực hiện để ngăn chặn sự bất thường của cơ sở dữ liệu.

- Việc chuẩn hóa thường được thực hiện để cải thiện hiệu suất đọc của cơ sở dữ liệu, nhưng do các ràng buộc bổ sung được sử dụng để không chuẩn hóa, việc ghi (tức là các thao tác chèn, cập nhật và xóa) có thể trở nên chậm hơn. Do đó, cơ sở dữ liệu không chuẩn hóa có thể cung cấp hiệu suất ghi kém hơn cơ sở dữ liệu chuẩn hóa.

- Bạn nên “bình thường hóa cho đến khi nó đau, bất bình thường cho đến khi nó hoạt động”.

Đề xuất: