Các Dạng Chuẩn Trong Cơ Sở Dữ Liệu

Bài dịch được thực hiện vày Hoàng Vnạp năng lượng Cương, xây dựng viên  Spring Bootlàm việc ucozfree.com từ thời điểm tháng 5/20trăng tròn.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 cất cơ sở dữ liệu giúp giảm bớt sự dư vượt tài liệu và sa thải phần đa đặc điểm không muốn nlỗi Insertion, Update & Deletion Anomalies. Các phép tắc chuẩn chỉnh hóa phân chia phần đa bảng phệ thành các bảng nhỏ rộng và kết nối chúng bằng phương pháp cần sử dụng quan hệ. Mục đích chuẩn chỉnh hóa vào Squốc lộ nhằm sa thải dữ liệu quá (lặp lại) cùng bảo đảm tài liệu được lưu trữ một biện pháp súc tích.

Bạn đang xem: Các dạng chuẩn trong cơ sở dữ liệu

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

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 (tiếp sau đây đã Call là Chuẩn hóa Dữ liệu) trong Squốc lộ VPS vẫn đang được cách tân và phát triển. lấy ví dụ, vẫn còn tồn tại phần đa đàm đạo tức thì sinh hoạt vào 6thNormal Form. Tuy nhiên, vào đa số những vận dụng thực tế, câu hỏi chuẩn hóa dành được sự về tối ưu sống 3rdNormal Form. Việc cách tân và phát triển của đạo giáo chuẩn hóa SQL được minch họa đưới đây:

*
Database Normal Forms

lấy một ví dụ Chuẩn hóa Dữ liệu

Các ví dụ đang minc hoạ chuẩn hóa dữ liệu. Giả sử, một thư việnđoạn Clip chứa một kho dữ liệu của các bộ phim truyền hình đã từng có lần được thuê. khi chưa xuất hiện chuẩn hóa, toàn bộ những thông tin được tàng trữ trong một bảng độc nhất sinh sống dưới. Hãy cùng tò mò về chuẩn hóa với bảng này:

*

Table 1

quý khách hàng có thể thấy cột Movies Rented có khá nhiều quý giá. Chúng ta đã chuẩn hóa về 1st Normal Forms:

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

Mỗi ô của bảng chỉ nên bao gồm nhất 1 quý giá.Mỗi phiên bản ghi sẽ là duy nhất

Kết quả bảng bên trên sau khi tiến hành theo 1NF:

*

Table 1: In 1NF Form

Trước Lúc thực hiện, hãy thuộc hiểu về 1 đôi điều sau:

Thế làm sao là một trong Khóa (Key)

Khóa là một trong những quý hiếm hay được sử dụng nhằm định danh duy nhất cho 1 phiên bản ghi vào bảng. Khóa rất có thể là một trong những cột hoặc kết hợp của nhiều cột.

Chụ ý: Các cột vào bạn dạng không được thực hiện nhằm định danh bản ghi là độc nhất được gọi là những cột không khóa (non-key collumns).

Thế nào là Khóa bao gồm – Primary Key

*

Một cực hiếm chính là một cột quý giá thường xuyên dùng để định danh duy nhất đến phiên bản ghi của dữ liệu

Nó tất cả một số nằm trong tính sau:

Khóa bao gồm quan yếu NULL,Giá trị của khóa chính cần là duy nhất,Giá trị của khóa bao gồm thường thảng hoặc khi được biến đổi,Khóa chính bắt buộc được gán giá trị mỗi lúc một bản ghi được tiếp tế.

Thế như thế nào là khóa tổng hòa hợp – Composite Key

Một khóa tổng đúng theo là 1 trong những khóa thiết yếu được kết hợp bởi những cột mà lại các cột này hoàn toàn có thể định danh độc nhất vô nhị đến bản ghi.Trong dữ liệu ví dụ, bọn họ gồm 2 fan cùng với thuộc thương hiệu là Robert Phil dẫu vậy sống ở cả hai tác động khác nhau.

*

Vì vậy, họ đã những hiểu biết thương hiệu đầy đủ và liên can nhằm rất có thể định danh độc nhất vô nhị cho bạn dạng ghi đó.

Giờ họ đang demo 2NF:

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

Nguyên ổn tắc 1: Trước tiên đề nghị tuân thủcách thức 1NFNgulặng tắc 2: Khóa đó là một cột 1-1.

Khá rõ ràng rằng chúng ta tất yêu là gì rộng để đơn giản và dễ dàng hóa tài liệu theo 2NF trừ lúc ta phân tách bóc bảng trên ra.

Xem thêm: Cách Nuôi Chó Con Mất Mẹ Hoặc Mất Mẹ Đúng Chuẩn Chuyên Gia, Cách Nuôi Chó Con Mất Mẹ Mau Ăn Chóng Lớn

*

Table 1

*

Table 2

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

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

Khóa ngoại rất có thể tất cả thên không giống với khóa chínhNó bảo đảm các loại trong bảng này đang tương xứng cùng với các mẫu vào bảng khác.Không như thể khóa bao gồm, khóa nước ngoài ko bắt buộc là độc nhất vô nhị. Phần béo quý giá của khóa ngoại sẽ có trùng lặp.Các khóa ngoại rất có thể là null du cho khóa chủ yếu cần thiết.

*

Tại sao bọn họ đề xuất khóa ngoại?

Giả định rằng, 1 tín đồ thêm một phiên bản ghi vào bảng B nhỏng sau:

*

quý khách đã chỉ rất có thể thêm quý giá vào khóa nước ngoài khi nó sẽ tồn tại nghỉ ngơi khóa thiết yếu trong bảng phụ vương. Việc này hỗ trợ cho tính toàn vẹn tđắm say chiếu

Vấn đề bên trên có thể xử lý bằng phương pháp khai báo membership id của bảng 2 như thể khóa chủ yếu của membership id sinh sống bảng 1

Bây giờ, nếu có ai ao ước thêm 1 quý hiếm vào membership id dẫu vậy không mãi mãi làm việc bảng phụ thân, lỗi sẽ mở ra.

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

Tính bắc cầu của phụ thuộc hàm là lúc đổi khác một cột chưa phải là khóa hoàn toàn có thể dẫn tới việc các cột không hẳn khóa không giống cũng trở thành yêu cầu nắm đổi

Xem xét sinh sống bảng 1. Txuất xắc khóa cột không phải là khóa – Full Name rất có thể dẫ tới sự việc bắt buộc biến đổi cột Salutation

*

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

Nguyên ổn tắc 1: đảm bảo phương pháp của 2NFNguyên ổn tắc 2: Không gồm sự bắc cầu vào phụ thuộc hàm.

Để hoàn toàn có thể gửi bảng của 2NF thành 3NF họ một đợt tiếp nhữa đề nghị phân loại bảng:

lấy ví dụ về chuẩn hoá 3NF. Kết quả của vấn đề phân chia 2NF thành 3NF nhỏng sau:

*

TABLE 1

*

Table 2

*

Table 3

Chúng ta sẽ phân tách bảng với chế tạo ra 1 bảng mới nhằm đựng trường Salutations

Chúng ta không còn bất kỳ sự tác động thẳng làm sao do đó bảng sẽ bảo đảm an toàn 3NF

Trong bảng 3, Salutation ID là khóa thiết yếu cùng vào bảng 1 Salutation ID là khóa nước ngoài của nó.

Bây giờ đồng hồ, ví dụ của chúng ta sẽ tại mức cấp thiết phân tách bóc nhằm dành được dạng cao hơn nữa của của chuẩn chỉnh hóa cùng thực tiễn nó đang sống dạng cao nhất của chuẩn hóa. Các cố gắng phân tách bóc nhằm có được dạng cao hơn thường thì sẽ rất cần được có DataBase tinh vi rộng. Tuy nhiên, chúng ta đang luận bàn về những dạng tiếp sau một biện pháp vắn tắt ngơi nghỉ dưới.

Chuẩn hoá Boyce Codd BCNF

ngay khi khi 1 DataBase đang ở 3rdNormal Form vẫn hoàn toàn có thể có những công dụng khác lại giả dụ nó có không ít hơn một khóa ứng cử viên – Candidate Key.

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

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

Nếu không tồn tại thành viên bảng đại lý dữ liệu nào đựng nhì hoặc những tài liệu tự do cùng các cực hiếm biểu hiện thực thể bao gồm liên quan, thì nó làm việc 4thNormal Form.

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

Một bảng là 5thNormal Form chỉ khi là 4NF với chẳng thể bị phân tách bóc thành những bảng nhỏ rộng cơ mà vẫn tồn tại dữ liệu

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

6thNormal Form chưa có quy chuẩn nhưng mà đang rất được luận bàn vì chưng gần như Chuyên Viên về CSDL.

Hết rồi kia, ghi nhớ đến chuẩn chỉnh hoá cấp 5 thì các bạn im vai trung phong đi xin việc!

Tổng kết

Thiết kế cơ sở dữ liệu là căn bản nhằm triển khai thành công xuất sắc một khối hệ thống làm chủ cơ sở dữ liệu đáp ứng được yêu cầu về dữ liệu của hệ thống doanh nghiệpQuy trình chuẩn hóa trong DBMS giúp bớt tđọc hệ thống CSDL tạo ảnh hưởng cho hiệu năng cùng giúp ta bao gồm quy mô bảo mật thông tin tốt hơnPrúc ở trong hàm là 1 trong những yếu tố đặc biệt quan trọng trong các bước chuẩn hóa dữ liệuCác hệ CSDL thường hoàn toàn có thể được chuẩn hóa cho dạng vật dụng 3Khóa chính thì không được NULLKhóa phụ góp kết nối các bảng và thay mặt cho một khóa chính