Bài dịch đc tiến hành triển khai bởi Hoàng Văn Cương, lập trình viên Spring Bootlàm việc hethongbokhoe.com từ thời điểm tháng năm/2020.Nội dung 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 kỹ thuật xây đắp CSDL cứu giảm xuống sự dư thừa tài liệu và sa thải các nổi biệt không hề mong muốn như Insertion, Cập nhật và Deletion Anomalies. Các quy cách chuẩn hóa chia các bảng lớn thành các bảng nhỏ nhiều hơn và liên kết chúng bằng cách sử dụng mối quan hệ. Mục tiêu chuẩn hóa trong SQL nhằm mục tiêu sa thải tài liệu thừa (tái diễn) và bảo đảm an toàn tài liệu đc tàng trữ một cách xúc tích và ngắn gọn.
Bài Viết: Chuẩn hóa là gì
Người trí tuệ sáng tạo ra mô hình mối quan hệ – Edgar Codd đã trình diễn thuyết chuẩn hóa tài liệu bằng sự ra mắt của First Normal Form (dịch thô được xem là dạng chuẩn hóa trước tiên) và ông vẫn liên tục giải phóng và mở rộng học thuyết với Second và Third Normal Form. Kế tiếp, ông nhập cuộc gia với Raymond F. Boyce để trở nên tân tiến học thuyết của Boyce-Codd Normal Form (BCNF ở tiêu đề).
List 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 (trong tương lai sẽ gọi bằng Chuẩn hóa Tài liệu) trong SQL server vẫn đang rất được trở nên tân tiến. Ví dụ, vẫn còn đấy sinh tồn các luận bàn ngay ở phía trong 6thNormal Form. Mặc dù vậy, trong phần lớn các phần mềm trong thực tiễn, việc chuẩn hóa đã có được sự Gia Công ở 3rdNormal Form. Việc trở nên tân tiến của học thuyết chuẩn hóa SQL đc minh họa đưới đây:
Database Normal Forms
Ví dụ Chuẩn hóa Tài liệu
Các ví dụ sẽ minh hoạ chuẩn hóa tài liệu. Giả sử, một thư việnvideo chứa một kho tài liệu của rất nhiều bộ phim truyền hình đã có thời điểm từng đc thuê. Khi chưa xuất hiện chuẩn hóa, toàn bộ tổng thể các thông báo đc tàng trữ trong 1 bảng độc tôn ở bên dưới. Hãy cùng khám phá về chuẩn hóa với bảng này:
Table 1
Bạn cũng tồn tại thể cảm nhận cột Movies Rented có rất nhiều giá cả. Tất cả chúng ta sẽ chuẩn 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 có độc tôn 1 giá cả.Mỗi bản ghi được xem là độc tôn
Hiệu quả bảng trên sau thời điểm tiến hành triển khai theo 1NF:
Table 1: In 1NF Form
Trước lúc thi công, hãy cùng hiểu về 1 vài nét sau:
Ra sao là một trong Khóa (Key)
Khóa là 1 giá cả hay được dùng để định danh độc tôn cho 1 bản ghi trong bảng. Khóa có khả năng là 1 cột hoặc phối hợp của không ít cột.
Để ý: Các cột trong bản chưa được áp dụng để định danh bản ghi là độc tôn đc gọi bằng các cột không khóa (non-key collumns).
Ra sao là Khóa chính – Primary Key
Một giá cả đó là 1 cột giá cả hay được sử dụng để định danh độc tôn cho bản ghi của tài liệu
Nó có một vài thuộc tính sau:
Khóa chính đã không còn gì NULL,Kinh phí của khóa chính cần là độc tôn,Kinh phí của khóa chính thường hiếm khi đc căn chỉnh,Khóa chính phải đc gán giá cả mọi khi một bản ghi đc thêm vào.
Ra sao là khóa tổ hợp – Composite Key
Một khóa tổ hợp là 1 khóa chính đc phối hợp bởi nhiều cột mà các cột này có khả năng định danh độc tôn cho bản ghi.Trong tài liệu ví dụ, tất cả chúng ta có 2 người với cùng tên là Robert Phil nhưng sống ở hai Vị trí khác biệt.
Vì thế, tất cả chúng ta sẽ đề xuất tên rất đầy đủ và Vị trí để có khả năng định danh độc tôn cho bản ghi đó.
Giờ tất cả chúng ta sẽ thử 2NF:
Chuẩn hoá cấp 2 (Second Normal Form)
Nguyên lý 1: Thứ nhất phải tuân thủnguyên tắc 1NFNguyên tắc 2: Khóa đó là 1 cột đơn.
Khá chi tiết rằng tất cả chúng ta đã không còn gì là gì hơn để dễ dàng hóa tài liệu theo 2NF trừ khi ta phân tách bảng trên ra.
Xem Ngay: Get Started Là Gì – Nghĩa Của Từ Getting Started Trong Tiếng Việt
Table 1
Table 2
Tất cả chúng ta chia bảng kết của 1NF thành 2 bảng: bảng 1 chứa thông báo cá thể; bảng 2 chứa thông báo về các bộ phim truyền hình đã thuê.
Tất cả chúng ta thêm 1 cột là Membership_id là 1 khóa chính cho bảng 1. Các bản ghi được xem là duy nhất lúc 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 thay mặt đại diện cho khóa chính của 1 bảng khác. Nó cứu tạo liên kết trong những bảng:
Khóa ngoại có khả năng có thên khác với khóa chínhNó bảo đảm an toàn các dòng trong bảng đó sẽ tương xứng với các dòng trong bảng khác.Rất khác khóa chính, khóa ngoại không hẳn là độc tôn. Phần lớn giá cả của khóa ngoại sẽ sở hữu được trùng lặp.Các khóa ngoại có khả năng là null du cho khóa chính đã không còn gì.
Tại sao tất cả chúng ta cần khóa ngoại?
Giả định rằng, 1 người thêm 1 bản ghi vào bảng B như sau:
Các bạn sẽ chỉ có khả năng thêm giá cả vào khóa ngoại khi nó đã sinh tồn ở khóa chính trong bảng cha. Vấn đề này hỗ trợ cho tính toàn diện tham chiếu
Vụ việc trên có khả năng giải quyết và xử lý bằng cách khai báo membership id của bảng 2 giống khóa chính của membership id ở bảng 1
Hiện tại, nếu có ai muốn thêm 1 giá cả vào membership id nhưng không sinh tồn ở bảng cha, lỗi sẽ lộ diện.
Tính bắc cầu của dựa dẫm hàm là gì?
Tính bắc cầu của dựa dẫm hàm là lúc căn chỉnh một cột không hẳn là khóa có khả năng dẫn tới việc các cột không hẳn khóa khác cũng trở nên phải căn chỉnh
Quan tâm đến ở bảng 1. Thay khóa cột không hẳn là khóa – Full Name có khả năng dẫ tới việc phải căn chỉnh cột Salutation
Chuẩn hoá cấp 3 (Third Normal Form)
Nguyên lý 1: bảo đảm an toàn nguyên lý của 2NFNguyên tắc 2: Không tồn tại sự bắc cầu trong dựa dẫm hàm.
Để có khả năng chuyển bảng của 2NF thành 3NF tất cả chúng ta một lần tiếp nữa phải phân loại bảng:
Ví dụ về chuẩn hoá 3NF. Hiệu quả của sự phân loại 2NF thành 3NF như sau:
TABLE 1
Table 2
Table 3
Tất cả chúng ta đã chia bảng và tạo 1 bảng mới để chứa trường Salutations
Tất cả chúng ta không thể ngẫu nhiên sự ảnh hưởng thẳng trực tiếp nào cho nên vì vậy bảng đã bảo đảm an toàn 3NF
Trong bảng 3, Salutation ID là khóa chính và trong bảng 1 Salutation ID là khóa ngoại của chính bản thân nó.
Hiện tại, ví dụ của tất cả chúng ta đã ở tại mức đã không còn gì phân tách để đã có được dạng cao hơn nữa của của chuẩn hóa và trong thực tiễn nó đã ở dạng tốt nhất của chuẩn hóa. Các cố gắng nỗ lực phân tách để đã có được dạng cao hơn nữa bình thường sẽ rất cần được có CSDL khó khăn hơn. Mặc dù vậy, tất cả chúng ta sẽ đàm đạo về các dạng tiếp sau một cách vắn tắt ở bên dưới.
Chuẩn hoá Boyce Codd BCNF
Ngay cả những lúc một CSDL đã ở 3rdNormal Form vẫn có khả năng có các hiệu quả kì cục nế như đó có rất nhiều hơn một khóa ứng cử viên – Candidate Key.
Thỉnh thoảng BCNF đc nghe biết là 3.5 Normal Form.
Chuẩn hoá cấp 4 (Fourth Normal Form)
Còn nếu như không có thành viên bảng cơ sở tài liệu nào chứa hai hoặc nhiều tài liệu hòa bình và nhiều giá cả miêu tả thực thể có ảnh hưởng, thì nó ở 4thNormal Form.
Xem Ngay: Provided Là Gì – Nghĩa Của Từ Provided That
Chuẩn hoá cấp 5 (Fifth Normal Form)
Một bảng là 5thNormal Form chỉ khi là 4NF và đã không còn gì bị phân tách thành các bảng nhỏ nhiều hơn mà không biến thành mất tài liệu
Chuẩn hoá cấp 6(Sixth Normal Form)
6thNormal Form chưa xuất hiện quy chuẩn nhưng đang rất được luận bàn bởi các Chuyên Viên về CSDL.
Hết rồi đấy, nhớ đến chuẩn hoá cấp 5 thì bạn an tâm đi xin việc!
Tổng kết
Thi công CSDL là mấu chốt để thực hiện chiến thắng một mạng lưới hệ thống chủ tịch CSDL vừa lòng đc đề xuất về tài liệu của mạng lưới hệ thống doanh nghiệpQuy trình chuẩn hóa trong DBMS cứu giảm thiểu mạng lưới hệ thống CSDL gây ảnh hưởng đến hiệu năng và cứu ta có mô hình bảo mật thông tin tốt nhất hơnPhụ thuộc hàm là 1 phần tử quan trọng trong tiến trình chuẩn hóa dữ liệuCác hệ CSDL thường có thể đc chuẩn hóa đến dạng thứ 3Khóa chính thì chưa được NULLKhóa phụ cứu liên kết các bảng và thay mặt đại diện cho một khóa chính Thể Loại: Giải bày Kiến Thức Cộng Đồng