Bài dịch được thực hiện bởi Hoàng Văn Cương, xây dựng viên  Spring Bootlàm việc biancoscudati.net từ tháng 5/2020.Bài viết được dịch từwww.guru99.com/database-normalization.html

Chuẩn hóa là gì?

Chuẩn hóa là một trong kỹ thuật xây đắp CSDL giúp giảm sút sự dư thừa tài liệu và loại bỏ những điểm lưu ý không mong ước như Insertion, Update & Deletion Anomalies. Những quy tắc chuẩn chỉnh hóa chia đều bảng lớn thành những bảng nhỏ dại hơn và liên kết chúng bằng phương pháp dùng quan tiền hệ. Mục đích chuẩn chỉnh hóa trong SQL nhằm đào thải dữ liệu vượt (lặp lại) và bảo đảm an toàn dữ liệu được lưu trữ một biện pháp logic.Bạn đã xem: nguyên nhân phải chuẩn hóa dữ liệu

Người sáng chế ra mô hình quan hệ - Edgar Codd đã trình diễn thuyết chuẩn chỉnh hóa tài liệu bằng sự ra mắt của First Normal size (dịch thô vẫn là dạng chuẩn hóa lắp thêm nhất) cùng ông vẫn thường xuyên mở rộng lý thuyết với Second cùng Third Normal Form. Sau đó, ông gia nhập gia cùng với Raymond F. Boyce để cách tân và phát triển học thuyết của Boyce-Codd Normal form (BCNF ngơi nghỉ tiêu đề).

Bạn đang xem: Chuẩn hóa dữ liệu là gì

Danh sách Normal Forms:

1NF (First Normal Form)2NF (Second Normal Form)3NF (Third Normal Form)BCNF (Boyce-Codd Normal Form)4NF (Fourth Normal Form)5NF (Fifth Normal Form)6NF (Sixth Normal Form)

Học thuyết Data Normalization (sau trên đây sẽ call là chuẩn hóa Dữ liệu) trong SQL vps vẫn đang rất được phát triển. Ví dụ, vẫn còn có những bàn bạc ngay nghỉ ngơi trong 6thNormal Form. Mặc dù nhiên, trong đa số các áp dụng thực tế, việc chuẩn chỉnh hóa có được sự buổi tối ưu sống 3rdNormal Form. Việc cải cách và phát triển của học tập thuyết chuẩn hóa SQL được minh họa đưới đây:


*

Database Normal Forms

Ví dụ chuẩn hóa Dữ liệu

Các ví dụ vẫn minh hoạ chuẩn chỉnh hóa dữ liệu. Trả sử, một thư việnvideo chứa một kho tài liệu của các bộ phim đã từng được thuê. Khi chưa xuất hiện chuẩn hóa, tất cả các thông tin được tàng trữ trong một bảng tuyệt nhất ở bên dưới. Hãy cùng tìm hiểu về chuẩn chỉnh hóa với bảng này:


*

Table 1

Bạn rất có thể thấy cột Movies Rented có nhiều giá trị. chúng ta sẽ chuẩn chỉnh hóa về 1st Normal Forms:

Chuẩn hoá cấp 1: First Normal Form

Mỗi ô của bảng chỉ nên có độc nhất vô nhị 1 giá chỉ trị.Mỗi phiên bản ghi vẫn là duy nhất

Kết quả bảng trên sau khoản thời gian thực hiện theo 1NF:


*

Table 1: In 1NF Form

Trước khi tiến hành, hãy thuộc hiểu về 1 đôi điều sau:

Thế nào là 1 trong những Khóa (Key)

Khóa là 1 trong những giá trị thường được thực hiện để định danh duy nhất mang lại một bản ghi trong bảng. Khóa hoàn toàn có thể là một cột hoặc kết hợp của không ít cột.

Chú ý: các cột trong bản không được áp dụng để định danh bạn dạng ghi là độc nhất vô nhị được hotline là các cột ko khóa (non-key collumns).

Thế làm sao là Khóa chủ yếu – Primary Key


*

Một giá trị chính là một cột quý hiếm thường dùng để làm định danh tốt nhất cho bạn dạng ghi của dữ liệu

Nó có một số thuộc tính sau:

Khóa chủ yếu không thể NULL,Giá trị của khóa chủ yếu phải là duy nhất,Giá trị của khóa chính thường thảng hoặc khi được nắm đổi,Khóa chủ yếu phải được gán giá chỉ trị mỗi lúc một bạn dạng ghi có thêm vào.

Thế nào là khóa tổng vừa lòng – Composite Key

Một khóa tổng hợp là một trong khóa chủ yếu được kết hợp bởi những cột mà những cột này hoàn toàn có thể định danh tuyệt nhất cho bản ghi.Trong tài liệu ví dụ, chúng ta có 2 bạn với thuộc tên là Robert Phil tuy vậy sống sinh sống 2 địa chỉ cửa hàng khác nhau.


*

Vì vậy, bọn họ sẽ yêu ước tên không thiếu thốn và add để rất có thể định danh duy nhất cho bạn dạng ghi đó.

Giờ bọn họ sẽ test 2NF:

Chuẩn hoá cung cấp 2 (Second Normal Form)

Nguyên tắc 1: Trước tiên bắt buộc tuân thủnguyên tắc 1NFNguyên tắc 2: Khóa chính là một cột đơn.


Table 1


Table 2

Chúng ta chia bảng kết của 1NF thành 2 bảng: bảng 1 chứa tin tức thành viên; bảng 2 chứa tin tức về các bộ phim đã thuê.

Chúng ta thêm một cột là Membership_id là một trong khóa chủ yếu cho bảng 1. Các bạn dạng ghi sẽ là duy nhất khi dử dụng ngôi trường này.

Khóa ngoại (Foreign Key)

Trong bảng 2, Membership_ID là khóa ngoại


Khóa ngoại đại diện thay mặt cho khóa bao gồm của một bảng khác. Nó giúp tạo liên kết giữa các bảng:

Khóa ngoại rất có thể có thên khác với khóa chínhNó đảm bảo an toàn các loại trong bảng này sẽ tương xứng với những dòng vào bảng khác.Không tương tự khóa chính, khóa ngoại không đề nghị là duy nhất. đa phần giá trị của khóa ngoại sẽ sở hữu trùng lặp.Các khóa ngoại rất có thể là null du mang lại khóa chủ yếu không thể.


Tại sao họ cần khóa ngoại?

Giả định rằng, 1 fan thêm 1 bản ghi vào bảng B như sau:


Bạn vẫn chỉ rất có thể thêm cực hiếm vào khóa ngoại lúc nó vẫn tồn tại sinh sống khóa thiết yếu trong bảng cha. Bài toán này giúp cho tính trọn vẹn tham chiếu

Vấn đề trên rất có thể giải quyết bằng cách khai báo membership id của bảng 2 kiểu như khóa thiết yếu của membership id sống bảng 1

Bây giờ, nếu có ai muốn thêm 1 giá trị vào membership id dẫu vậy không tồn tại ở bảng cha, lỗi sẽ xuất hiện.

Tính bắc ước của dựa vào hàm là gì?

Tính bắc cầu của dựa vào hàm là khi thay đổi một cột không hẳn là khóa có thể dẫn cho việc những cột không phải khóa khác cũng sẽ phải nuốm đổi

Xem xét ở bảng 1. Vắt khóa cột chưa phải là khóa – Full Name hoàn toàn có thể dẫ tới sự việc phải thay đổi cột Salutation


Chuẩn hoá cấp cho 3 (Third Normal Form)

Nguyên tắc 1: bảo vệ nguyên tắc của 2NFNguyên tắc 2: không có sự bắc cầu trong dựa vào hàm.

Để có thể chuyển bảng của 2NF thành 3NF họ một đợt tiếp nhữa phải phân chia bảng:

Ví dụ về chuẩn chỉnh hoá 3NF. Hiệu quả của việc phân chia 2NF thành 3NF như sau:


TABLE 1


Table 2


Table 3

Chúng ta đã phân tách bảng và chế tạo 1 bảng mới để đựng trường Salutations

Chúng ta không còn bất kỳ sự tác động trực tiếp nào do đó bảng đã bảo đảm 3NF

Trong bảng 3, Salutation ID là khóa bao gồm và vào bảng 1 Salutation ID là khóa nước ngoài của nó.

Bây giờ, lấy ví dụ của chúng ta đã ở tại mức không thể phân bóc tách để giành được dạng cao hơn nữa của của chuẩn hóa và thực tiễn nó vẫn ở dạng tối đa của chuẩn hóa. Các nỗ lực phân bóc để đã đạt được dạng cao hơn thông thường sẽ cần phải có CSDL tinh vi hơn. Tuy nhiên, họ sẽ bàn luận về những dạng tiếp theo sau một biện pháp vắn tắt ở mặt dưới.

Chuẩn hoá Boyce Codd BCNF

Ngay cả lúc 1 CSDL sẽ ở 3rdNormal form vẫn rất có thể có những công dụng dị thường trường hợp nó có rất nhiều hơn một khóa ứng viên – Candidate Key.

Đôi khi BCNF được biết đến là 3.5 Normal Form.

Chuẩn hoá cấp 4 (Fourth Normal Form)

Nếu không có cá thể bảng cơ sở tài liệu nào cất hai hoặc các dữ liệu chủ quyền và nhiều giá trị trình bày thực thể có liên quan, thì nó sống 4thNormal Form.

Xem thêm: Xét Nghiệm Nhóm Máu Rh Dương Là Gì, Xét Nghiệm Nhóm Máu Rh Dương Tính Là Gì

Chuẩn hoá cấp 5 (Fifth Normal Form)

Một bảng là 5thNormal khung chỉ khi là 4NF và không thể bị phân tách bóc thành những bảng bé dại hơn mà vẫn tồn tại dữ liệu

Chuẩn hoá cấp cho 6(Sixth Normal Form)

6thNormal Form chưa có quy chuẩn chỉnh nhưng đang được bàn thảo bởi những chuyên gia về CSDL.

Hết rồi đó, ghi nhớ đến chuẩn hoá cung cấp 5 thì bạn yên trung tâm đi xin việc!

Tổng kết

Thiết kế csdl là cốt lõi để triển khai thành công một hệ thống cai quản CSDL đáp ứng nhu cầu được yêu mong về dữ liệu của hệ thống doanh nghiệpQuy trình chuẩn chỉnh hóa vào DBMS giúp bớt thiểu hệ thống CSDL gây tác động đến hiệu năng và giúp ta có mô hình bảo mật xuất sắc hơnPhụ nằm trong hàm là một trong những thành phần đặc trưng trong quy trình chuẩn hóa dữ liệuCác hệ cơ sở dữ liệu thường có thể được chuẩn hóa mang đến dạng máy 3Khóa chủ yếu thì ko được NULLKhóa phụ góp kết nối các bảng với đại diện cho một khóa chính