Hôm trước, em trai tôi yêu cầu xem bài tập cho tôi và lần này là về cơ sở dữ liệu của các biểu mẫu chuẩn hóa. Ok, lên ý tưởng viết một bài nhưng cũng ôn lại kiến thức cũ và thế là bài này ra đời: sweat_smile:. Hôm nay mình sẽ ôn lại kiến thức về các dạng bài chuẩn, có gì bổ sung thêm cho mình với nhé: grinning:
Mục tiêu của việc chuẩn hóa cơ sở dữ liệu
Nó có hai mục tiêu chính, đó là:
Đảm bảo ngăn chặn (hạn chế) một số hình thức dư thừa dữ liệu. Loại trừ các thất thường lúc cập nhật dữ liệu.
Đang xem: Dạng chuẩn bcnf
Các biểu mẫu chuẩn hóa cơ bản
Trong cơ sở dữ liệu chúng ta thường sẽ chỉ sử dụng 3 dạng chuẩn cơ bản: 1NF, 2NF, 3NF và BCNF dạng chuẩn (hay còn gọi là dạng chuẩn Boyce-Codd). Chúng ta sẽ tuần tự xem qua biểu mẫu tầm thường.:upside_down_face:
1. Dạng chuẩn trước nhất (1NF)
Biểu đồ quan hệ R được cho là ở dạng chuẩn trước nhất nếu:
Tất cả các miền tính chất trong R chỉ chứa các trị giá nguyên tố. Trị giá nguyên tố là một trị giá ko thể chia nhỏ hơn nữa.
Trong bảng ta thấy thành phầm có tên và giá => ko phải trị giá nguyên tố => vi phạm tiêu chuẩn 1.
Tiêu chuẩn hóa bằng cách: tách cột thành phầm thành 2 cột tên và giá. Lúc đó bảng sẽ chỉ chứa các trị giá nguyên tố.
Dạng chuẩn thứ 2 (2NF)
Biểu đồ quan hệ R được cho là ở dạng chuẩn thứ 2 nếu:
Sơ đồ quan hệ này nằm trong 1NF Tất cả các tính chất ko phải khóa phụ thuộc đầy đủ về mặt công dụng vào (khóa chính) mọi khóa tối thiểu Đối với bất kỳ khóa tối thiểu nào, các tính chất ko thuộc khóa này phải hoàn toàn phụ thuộc vào khóa. đây
Trong ví dụ này, chúng ta thấy:
Khóa chính (sid, sname)
sname, scity là các tính chất ko có khóa và ko có phụ thuộc công dụng đầy đủ vào khóa chính => Bán hàng ko thuộc 2NF
Tiêu chuẩn hóa
Tách các tính chất (sid, sname, scity) thành một bảng S riêng lẻ với khóa chính là sid. Bảng Bán hàng hiện giờ sẽ chỉ có (sid, vật phẩm, price) với (sid, sname) là khóa chính.
3NF (3NF)
Biểu đồ quan hệ R được cho là ở dạng chuẩn thứ ba nếu:
Sơ đồ quan hệ này nằm trong 2NMọi tính chất ko phải khóa đều độc lập về mặt chuyển tiếp trên (khóa chính) mọi khóa tối thiểu
Trong ví dụ trên, chúng ta thấy: sid là khóa chính, sname, scity là các tính chất ko phải khóa và nó phụ thuộc trực tiếp vào khóa chính sid => S, Bán hàng ở dạng thứ 3 tầm thường.
Ví dụ về mối quan hệ ko tầm thường 3:
Như chúng ta thấy: vật phẩm là khóa chính, nhưng chiết khấu tính chất ko khóa phụ thuộc bắc cầu vào vật phẩm khóa chính thông qua giá tính chất ko khóa => mối quan hệ này ko nằm trong 3NF.
Vậy làm thế nào chúng ta có thể chuẩn hóa thành dạng 3NF?
Chuẩn hóa R thành 3NF. hình thức
Bước 1: Tìm vùng phủ tối thiểu Tách phần bên phải của các phụ thuộc hàm. . thuộc công dụng bắc cầu.Bước 3: Tạo bảng mới với khóa chính là khóa chính tùy theo công dụng bắc cầu. Các tính chất còn lại được lập bảng với khóa chính là khóa gốc.
Mình sẽ lấy thêm 1 ví dụ và phân tích rõ ràng nhé!
Ví dụ: Cho R = (A, B, C, D) và tập các phụ thuộc hàm F = {AB-> C, C-> B, A-> D}. Chuẩn hóa R thành dạng 3NF.
Bước 1:
Tách vế phải của các phụ thuộc hàm của tập F. Ta được F = {AB-> C, C-> B, A-> D}
Giảm trái. Thuật toán giảm xuống trái
Xét AB-> C. Nếu bỏ A thì B + = {B, C} => Ko bỏ A. Nếu bỏ B thì A + = {A, D} => Ko bỏ B.
Tìm vùng phủ ko dư thừa Thuật toán ko dư thừa.
Xem thêm: âm lịch 2020
Xét AB-> C ta có (AB) + = {A, B} => AB-> C ko thừa. Xét C-> B ta có C + = {C}. => C-> B ko thừa. Xét A-> D ta có A + = {A}. => A-> D ko thừa.
Vì vậy, phủ ko dư thừa G = {AB-> C, C-> B, A-> D}.
Bước 2:
Tìm chìa khóa
Xét A + = {A, D}, B + = {B}, C + = {C, B>, D + = {D} => Ko có khóa đơn. Xét AB + = {A, B, C, D}, AC + = {A, C, B, D}, AD + = {A, D}, BC + = {B, C}, BD + = {B, D}, CD + = {C, D, B}. => Khoá là (AB), (AC).
Có phụ thuộc bắc cầu C-> B và phụ thuộc một phần vào khóa A-> D (chuẩn hóa 2NF)
Bước 3: Phân thành một bảng, chúng tôi phân thành 3 quan hệ
R1 = {A, D}, K = {A}, F = {A-> D} R2 = {C, B}, K = {C}, F = {C-> B} R3 = {A, B , C}. K = {AB}, F = {AB-> C}
Tương tự, lúc tách R ra, chúng ta thu được dạng chuẩn 3NF.
Boye-Codd Standard form tầm thường
Biểu đồ quan hệ R (U) với tập các phụ thuộc hàm F được cho là trong Boye-Codd. hình thức tầm thường
Biểu đồ quan hệ này trong 3NF Ko có tính chất khóa phụ thuộc vào tính chất ko khóa
Chuẩn hóa R thành BCNF. hình thức
Chọn một trong các phụ thuộc công dụng vi phạm BCNF. Giả sử X-> Y. Tìm X +. Tạo một sơ đồ mới R1 chứa các tính chất trong X +. Các tính chất còn lại, bao gồm X tạo thành một sơ đồ mới R2. Tìm các phụ thuộc hàm cho R1 và R2 từ tập các phụ thuộc hàm lúc đầu. Lặp lại chu trình cho tới lúc tất cả các sơ đồ ở dạng BCNF tầm thường.
Ví dụ: Chuẩn hóa sơ đồ R thành dạng BCNF.
Dễ dàng nhận thấy rằng khóa của R là (Tên phim, Năm) .R vi phạm tiêu chuẩn BCNF vì Bộ và Nhà sản xuất là các tính chất ko phải khóa. Chọn theo công dụng (Phim -> Nhà sản xuất). Chúng ta có:
(Studio) + = {Set, Producer, Producer Address} => R1 và R2 có thể được thiết lập như sau:
R1 (Bộ, Nhà sản xuất, Địa chỉ nhà sản xuất), K1 = {Bộ}, F1 = {Bộ-> Nhà sản xuất, Nhà sản xuất-> Địa chỉ nhà sản xuất} R2 (Tên phim, Năm, Bộ), K2 = {Phim, Năm}, F2 = {Phim, Năm -> Bộ}
Một lần nữa, R1 vi phạm tiêu chuẩn BCNF vì phụ thuộc công dụng (Nhà sản xuất-> Địa chỉ nhà sản xuất) có Nhà sản xuất là tính chất ko phải khóa. => Tách thành R11 và R12:
R11 (Nhà sản xuất, Địa chỉ nhà sản xuất), K11 = {Nhà sản xuất}, F11 = {Nhà sản xuất-> Địa chỉ nhà sản xuất} R12 (Bộ, Nhà sản xuất), K12 = {Bộ}, F12 = {Bộ-> Nhà sản xuất} R2 (Phim, Năm, Set), K2 = {Film, Year}, F2 = {Film, Year -> Set}
Tương tự R ở dạng chuẩn BCNF.
Xem thêm: Trị hôi nách bằng cà chua tại nhà, Mẹo trị hôi nách bằng cà chua
Trên đây mình đã giới thiệu về các mẫu chuẩn cơ bản. Tuy nhiên, việc chuẩn hóa cơ sở dữ liệu là điều cần biết trong lúc học vì trên thực tiễn, tiêu chuẩn càng cao thì cơ sở dữ liệu càng dư thừa. Vì vậy, tùy thuộc vào mục tiêu sử dụng của công trình nhưng mà có nên vận dụng tiêu chuẩn hay ko.
Xem thêm các bài viết trong phân mục này: Hỏi & Đáp
Bạn thấy bài viết Dạng Chuẩn Bcnf – Tìm Hiểu Các Dạng Chuẩn Trong Cơ Sở Dữ Liệu có khắc phục đươc vấn đề bạn tìm hiểu ko?, nếu ko hãy comment góp ý thêm về Dạng Chuẩn Bcnf – Tìm Hiểu Các Dạng Chuẩn Trong Cơ Sở Dữ Liệu bên dưới để thpttranhungdao.edu.vn có thể thay đổi & cải thiện nội dung tốt hơn cho độc giả nhé! Cám ơn bạn đã ghé thăm Website Trường THPT Trần Hưng Đạo
Phân mục: Kiến thức chung
Nguồn: thpttranhungdao.edu.vn
Trả lời