Chuẩn hóa là gì

Bài dịch được triển khai bởi vì Hoàng Văn uống Cương, lập trình sẵn viên  Spring Bootthao tác làm việc tienmadaichien.com từ tháng 5/20đôi mươi.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à 1 nghệ thuật kiến thiết CSDL giúp giảm sút sự dư quá dữ liệu cùng vứt bỏ đều điểm lưu ý không muốn nlỗi Insertion, Update & Deletion Anomalies. Các nguyên tắc chuẩn chỉnh hóa phân tách những bảng phệ thành những bảng nhỏ dại hơn với liên kết bọn chúng bằng cách sử dụng dục tình. Mục đích chuẩn hóa trong SQL nhằm mục tiêu loại trừ dữ liệu quá (lặp lại) với đảm bảo an toàn dữ liệu được lưu trữ một biện pháp logic.quý khách sẽ xem: Chuẩn hóa là gì

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

Bạn đang xem: Chuẩn hóa 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 tngày tiết Data Normalization (dưới đây sẽ Call là Chuẩn hóa Dữ liệu) vào SQL VPS vẫn đang rất được cải cách và phát triển. lấy ví dụ như, vẫn còn có các luận bàn ngay lập tức sinh sống trong 6thNormal Form. Tuy nhiên, trong đa phần các áp dụng thực tiễn, việc chuẩn hóa có được sự buổi tối ưu làm việc 3rdNormal Form. Việc cách tân và phát triển của đạo giáo chuẩn chỉnh hóa Squốc lộ được minh họa đưới đây:


*

Database Normal Forms

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

Các ví dụ đã minch hoạ chuẩn chỉnh hóa tài liệu. Giả sử, một thư việnClip chứa một kho dữ liệu của những bộ phim truyền hình đã có lần được mướn. Khi chưa có chuẩn chỉnh hóa, toàn bộ các báo cáo được tàng trữ trong một bảng nhất ở dưới. Hãy thuộc tò mò về chuẩn chỉnh hóa cùng với bảng này:


*

Table 1

quý khách hàng rất có thể thấy cột Movies Rented có không ít quý giá. Chúng ta đã 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 nên làm gồm độc nhất 1 quý hiếm.Mỗi bản ghi sẽ là duy nhất

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


*

Table 1: In 1NF Form

Trước khi triển khai, hãy cùng gọi về 1 đôi điều sau:

Thế như thế nào là 1 Khóa (Key)

Khóa là 1 trong những giá trị thường xuyên được thực hiện nhằm định danh tuyệt nhất cho 1 phiên bản ghi vào bảng. Khóa hoàn toàn có thể là 1 cột hoặc phối kết hợp của không ít cột.

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

Thế nào là Khóa thiết yếu – Primary Key


*

Một giá trị đó là một cột giá trị thường dùng làm định danh duy nhất mang đến phiên bản ghi của dữ liệu

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

Khóa chính bắt buộc NULL,Giá trị của khóa thiết yếu cần là tuyệt nhất,Giá trị của khóa chủ yếu thường xuyên hãn hữu lúc được thay đổi,Khóa chủ yếu yêu cầu được gán giá trị mỗi một khi một phiên bản ghi được tiếp tế.

Thế làm sao là khóa tổng đúng theo – Composite Key

Một khóa tổng thích hợp là 1 khóa chính được phối hợp bởi vì các cột mà lại các cột này có thể định danh độc nhất vô nhị mang đến bản ghi.Trong tài liệu ví dụ, họ bao gồm 2 người cùng với cùng thương hiệu là Robert Phil tuy thế sống ở hai cửa hàng khác nhau.


*

Vì vậy, chúng ta đã trải nghiệm tên không thiếu với hệ trọng nhằm hoàn toàn có thể định danh nhất mang đến bạn dạng ghi đó.

Giờ họ đang test 2NF:

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

Nguyên tắc 1: Đầu tiên yêu cầu tuân thủphương pháp 1NFNguyên ổn tắc 2: Khóa chính là một cột solo.


Table 2

Chúng ta phân chia bảng kết của 1NF thành 2 bảng: bảng 1 cất báo cáo thành viên; bảng 2 đựng lên tiếng về những bộ phim truyền hình đang thuê.

Xem thêm: Tình Huống 23: Tham Quan Nhà Máy Tiếng Anh Là Gì? Tra Từ Nhà Máy

Chúng ta thêm một cột là Membership_id là 1 trong khóa chủ yếu mang lại bảng 1. Các bạn dạng ghi vẫn là duy nhất khi dử dụng 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 mang lại khóa chính của một bảng khác. Nó giúp tạo ra kết nối giữa các bảng:

Khóa nước ngoài có thể gồm thên không giống cùng với khóa chínhNó bảo đảm an toàn các dòng trong bảng này sẽ tương xứng cùng với những cái vào bảng khác.Không giống khóa chủ yếu, khóa nước ngoài không phải là độc nhất. Phần phệ cực hiếm của khóa ngoại sẽ sở hữu được giống nhau.Các khóa nước ngoài có thể là null du mang lại khóa chủ yếu quan trọng.


Bạn vẫn chỉ hoàn toàn có thể thêm giá trị vào khóa nước ngoài Khi nó đang trường thọ nghỉ ngơi khóa chủ yếu vào bảng phụ thân. Việc này hỗ trợ cho tính trọn vẹn tđắm say chiếu

Vấn đề trên rất có thể xử lý bằng cách khai báo membership id của bảng 2 giống như khóa chủ yếu của membership id nghỉ ngơi bảng 1

Bây giờ, nếu như gồm ai mong thêm một giá trị vào membership id tuy nhiên ko sống thọ nghỉ ngơi bảng thân phụ, lỗi sẽ mở ra.

Tính bắc cầu của nhờ vào hàm là gì?

Tính bắc cầu của nhờ vào hàm là lúc thay đổi một cột chưa hẳn là khóa rất có thể dẫn đến sự việc các cột chưa phải khóa khác cũng biến thành đề xuất núm đổi

Xem xét sinh sống bảng 1. Tgiỏi 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 yêu cầu chuyển đổi cột Salutation


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

Nguyên ổn tắc 1: bảo đảm an toàn hình thức của 2NFNgulặng tắc 2: Không tất 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 bọn họ một đợt tiếp nhữa cần phân chia bảng:

Ví dụ về chuẩn chỉnh hoá 3NF. Kết quả của câu hỏi phân chia 2NF thành 3NF như sau:


Table 3

Chúng ta vẫn chia bảng và tạo 1 bảng new nhằm cất ngôi trường Salutations

Chúng ta không thể bất kỳ sự ảnh hưởng thẳng nào vì vậy bảng đã bảo đảm an toàn 3NF

Trong bảng 3, Salutation ID là khóa bao gồm và trong bảng 1 Salutation ID là khóa ngoại của chính nó.

Bây tiếng, ví dụ của họ đang ở tầm mức bắt buộc phân bóc để có được dạng cao hơn nữa của của chuẩn hóa và thực tế nó sẽ sống dạng tối đa của chuẩn chỉnh hóa. Các nỗ lực phân bóc tách nhằm có được dạng cao hơn thường thì vẫn cần được có DataBase tinh vi rộng. Tuy nhiên, chúng ta vẫn bàn bạc về các dạng tiếp theo sau một biện pháp vắn tắt ở bên dưới.

Chuẩn hoá Boyce Codd BCNF

ngay khi lúc một cơ sở dữ liệu đã nghỉ ngơi 3rdNormal Form vẫn rất có thể bao gồm hiệu quả kì cục nếu như nó có rất nhiều rộng một khóa ứng cử viên – Candidate Key.

thường thì BCNF được biết đến là 3.5 Normal Form.

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

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

Một bảng là 5thNormal Form chỉ khi là 4NF cùng tất yêu bị phân tách thành những bảng nhỏ rộng nhưng không bị mất dữ liệu

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

6thNormal Form chưa có quy chuẩn chỉnh tuy vậy đang rất được thảo luận do rất nhiều chuyên gia về DataBase.

Hết rồi đó, lưu giữ đến chuẩn chỉnh hoá cấp cho 5 thì chúng ta yên ổn trọng điểm đi xin việc!

Tổng kết

Thiết kế DataBase là chủ đạo để thực thi thành công xuất sắc một hệ thống thống trị cơ sở dữ liệu đáp ứng được đề xuất về tài liệu của hệ thống doanh nghiệpQuy trình chuẩn hóa vào DBMS giúp giảm tđọc khối hệ thống cơ sở dữ liệu tạo ảnh hưởng mang đến hiệu năng và đỡ đần ta gồm quy mô bảo mật tốt hơnPhụ thuộc hàm là một trong những nguyên tố đặc biệt quan trọng vào quy trình chuẩn chỉnh hóa dữ liệuCác hệ cơ sở dữ liệu hay hoàn toàn có thể được chuẩn hóa đến dạng đồ vật 3Khóa chính thì ko được NULLKhóa phụ giúp kết nối những bảng cùng đại diện cho một khóa chính