Xem Tắt
- 1 Chuẩn Hóa Là Gì Nghĩa Của Từ Chuẩn Hoá
- 2 Chuẩn hóa là gì?
- 3 Danh sách Normal Forms:
- 4 Ví dụ Chuẩn hóa Dữ liệu
- 5 Chuẩn hoá cấp 1: First Normal Form
- 6 Chuẩn hoá cấp 2 (Second Normal Form)
- 7 Chuẩn hoá cấp 3 (Third Normal Form)
- 8 Chuẩn hoá Boyce Codd BCNF
- 9 Chuẩn hoá cấp 4 (Fourth Normal Form)
- 10 Chuẩn hoá cấp 5 (Fifth Normal Form)
- 11 Chuẩn hoá cấp 6(Sixth Normal Form)
Chuẩn Hóa Là Gì Nghĩa Của Từ Chuẩn Hoá
Là Gì
4 Tháng Tám, 2021
Là Gì
Chuẩn Hóa Là Gì Nghĩa Của Từ Chuẩn Hoá
Bài dịch được thực hiện bởi Hoàng Văn Cương, lập trình viên Spring Bootlàm việc hethongbokhoe.com từ tháng năm/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 kỹ thuật thiết kế CSDL giúp giảm sút sự dư thừa dữ liệu và loại bỏ những đặc điểm không mong muốn như Insertion, Update và Deletion Anomalies. Những quy tắc chuẩn hóa chia những bảng to thành những bảng nhỏ hơn và kết nối chúng bằng phương thức dùng quan hệ. Mục đích chuẩn hóa trong SQL nhằm loại bỏ dữ liệu thừa (lặp lại) và đảm bảo dữ liệu được lưu trữ một phương thức logic.
Bài Viết: Chuẩn hóa là gì
Người sáng chế ra quy mô quan hệ Edgar Codd đã trình bày thuyết chuẩn hóa dữ liệu bằng sự giới thiệu của First Normal Form (dịch thô sẽ là dạng chuẩn hóa thứ nhất) và ông vẫn tiếp tục mở rộng học thuyết với Second và Third Normal Form. Sau đó, ông tham gia gia với Raymond F. Boyce để phát triển học thuyết của Boyce-Codd Normal Form (BCNF ở 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 (sau đây sẽ gọi là Chuẩn hóa Dữ liệu) trong SQL server vẫn đang được phát triển. Ví dụ, vẫn còn tồn tại những thảo luận ngay ở trong 6thNormal Form. Tuy nhiên, trong phần to những ứng dụng thực tiễn, việc chuẩn hóa đạt được sự tối ưu ở 3rdNormal Form. Việc phát triể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 Dữ liệu
Những ví dụ sẽ minh hoạ chuẩn hóa dữ liệu. Giả sử, một thư việnvideo có một kho dữ liệu của những bộ phim đã từng được thuê. Khi chưa có chuẩn hóa, tất cả những thông tin được lưu trữ trong một bảng duy nhất ở dưới. Hãy cùng tìm hiểu về chuẩn hóa với bảng này:
Table 1
Xem Ngay: Kính Cường Lực Là Gì
Bạn cũng có thể thấy cột Movies Rented có nhiều giá trị. 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 chỉ nên có duy nhất 1 giá trị.Mỗi bản ghi sẽ là duy nhất
Kết quả bảng trên sau khi thực hiện theo 1NF:
Table 1: In 1NF Form
Trước khi tiến hành, hãy cùng hiểu về 1 vài điều sau:
Thế nào là 1 Khóa (Key)
Khóa là một giá trị thường được sử dụng để định danh duy nhất cho một bản ghi trong bảng. Khóa có thể là một cột hoặc kết hợp của nhiều cột.
Chú ý: Những cột trong bản không được sử dụng để định danh bản ghi là duy nhất được gọi là những cột không khóa (non-key collumns).
Thế nào là Khóa chính Primary Key
Một giá trị đó là một cột giá trị thường dùng để định danh duy nhất cho bản ghi của dữ liệu
Nó có một số thuộc tính sau:
Khóa chính không thể NULL,Giá trị của khóa chính phải là duy nhất,Giá trị của khóa chính thường hiếm khi được thay đổi,Khóa chính phải được gán giá trị mỗi khi một bản ghi được thêm vào.
Thế nào là khóa tổng hợp Composite Key
Một khóa tổng hợp là một khóa chính được kết hợp bởi nhiều cột mà những cột này có thể định danh duy nhất cho bản ghi.Trong dữ liệu ví dụ, chúng ta có 2 người với cùng tên là Robert Phil nhưng sống ở 2 nơi khác nhau.
Vì vậy, chúng ta sẽ yêu cầu tên đầy đủ và nơi để có thể định danh duy nhất cho bản ghi đó.
Giờ chúng ta sẽ thử 2NF:
Chuẩn hoá cấp 2 (Second Normal Form)
Nguyên tắc 1: Trước tiên phải tuân thủnguyên tắc 1NFNguyên tắc 2: Khóa đó là một cột đơn.
Khá rõ ràng rằng chúng ta không thể là gì hơn để đơn giản hóa dữ 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
Xem Ngay: Rmb Là Gì – Tiền 1 Tệ Bằng Bao Nhiêu Tiền Việt
Chúng ta chia bảng kết của 1NF thành 2 bảng: bảng 1 chứa thông tin thành viên; bảng 2 chứa thông tin về những bộ phim đã thuê.
Chúng ta thêm một cột là Membership_id là một khóa chính cho bảng 1. Những bản ghi sẽ 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 thay mặt cho khóa chính của một bảng khác. Nó giúp tạo kết nối giữa những bảng:
Khóa ngoại có thể có thên khác với khóa chínhNó đảm bảo những dòng trong bảng này sẽ tương ứng với những dòng trong bảng khác.Không giống khóa chính, khóa ngoại không phải là duy nhất. Phần to giá trị của khóa ngoại sẽ có trùng lặp.Những khóa ngoại có thể là null du cho khóa chính không thể.
Tại sao chúng ta cần khóa ngoại?
Giả định rằng, 1 người thêm một bản ghi vào bảng B như sau:
Bạn sẽ chỉ có thể thêm giá trị vào khóa ngoại khi nó đã tồn tại ở khóa chính trong bảng cha. Việc này giúp cho tính toàn vẹn tham chiếu
Vấn đề trên có thể giải quyết bằng phương thức khai báo membership id của bảng 2 giống khóa chính của membership id trên bảng 1
Giờ đây, nếu có ai muốn thêm một giá trị vào membership id nhưng không tồn tại trên bảng cha, lỗi sẽ xuất hiện.
Tính bắc cầu của phụ thuộc hàm là gì?
Tính bắc cầu của phụ thuộc hàm là khi thay đổi một cột không phải là khóa có thể dẫn đến việc những cột không phải khóa khác cũng sẽ phải thay đổi
Xem xét trên bảng 1. Thay khóa cột không phải là khóa Full Name có thể dẫ đến việc phải thay đổi cột Salutation
Chuẩn hoá cấp 3 (Third Normal Form)
Nguyên tắc 1: đảm bảo nguyên tắc của 2NFNguyên tắc 2: Không có sự bắc cầu trong phụ thuộc hàm.
Để có thể chuyển bảng của 2NF thành 3NF chúng ta một lần nữa phải phân chia bảng:
Ví dụ về chuẩn hoá 3NF. Kết quả của việc phân chia 2NF thành 3NF như sau:
TABLE 1
Table 2
Table 3
Chúng ta đã chia bảng và tạo 1 bảng mới để chứa trường Salutations
Chúng ta không còn bất kỳ sự liên quan trực tiếp nào do đó bảng đã đảm bảo 3NF
Xem Ngay: Fansite Là Gì – Phân Biệt Giữa Fansite, Fancafe, Fandom
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 nó.
Giờ đây, ví dụ của chúng ta đã ở mức không thể phân tách để đạt được dạng cao hơn của của chuẩn hóa và thực tiễn nó đã ở dạng cao nhất của chuẩn hóa. Những nỗ lực phân tách để đạt được dạng cao hơn thông thường sẽ cần phải có CSDL phức tạp hơn. Tuy nhiên, chúng ta sẽ bàn luận về những dạng tiếp theo một phương thức vắn tắt ở dưới.
Chuẩn hoá Boyce Codd BCNF
Ngay cả khi một CSDL đã ở 3rdNormal Form vẫn có thể có những kết quả dị thường nếu nó có 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ở dữ liệu nào chứa hai hoặc nhiều dữ liệu độc lập và nhiều giá trị mô tả thực thể có liên quan, 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 thể bị phân tách thành những bảng nhỏ hơn mà 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 nhưng đang được thảo luận bởi những chuyên gia về CSDL.
Hết rồi đó, nhớ đến chuẩn hoá cấp 5 thì bạn yên tâm đi xin việc!
Tổng kết
Thiết kế CSDL là mấu chốt để triển khai thành công một hệ thống quản trị CSDL đá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 giảm thiểu hệ thống CSDL gây liên quan đến hiệu năng và giúp ta có quy mô bảo mật tốt hơnPhụ thuộc hàm là một thành phần quan trọng trong quy trình chuẩn hóa dữ liệuCác hệ CSDL thường sẽ có thể được chuẩn hóa đến dạng thứ 3Khóa chính thì không được NULLKhóa phụ giúp kết nối những bảng và thay mặt cho 1 khóa chính
Thể Loại: Chia sẻ Kiến Thức Cộng Đồng
Bài Viết: Chuẩn Hóa Là Gì Nghĩa Của Từ Chuẩn Hoá
Thể Loại: LÀ GÌ
Nguồn Blog là gì: https://hethongbokhoe.com Chuẩn Hóa Là Gì Nghĩa Của Từ Chuẩn Hoá
Related
-
Bass Treble Là Gì Khái Niệm Bass âm Trầm -
Packing List Là Gì Vai Trò Packing List Trong Xnk -
Tiff Là Gì Định Dạng Ảnh -
Đối Tượng Khách Hàng Tiếng Anh Là Gì, 20 Từ Vựng Về Startup Ai Cũng Phải Biết -
đụt Là Gì Nghĩa Của Từ đụt Trong Tiếng Việt -
Notice Period Là Gì What Does This Mean -
complain là gì trong tiếng anh? -
Phượt Tiếng Anh Là Gì -
Ncbi Là Gì National Center For Biotechnology Information -
Cố Lên Tiếng Anh Là Gì
Video liên quan