Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Chuẩn hóa cơ sở dữ liệu là một kĩ thuật tổ chức dữ liệu trong cơ sở dữ liệu. Chuẩn hóa là một cách tiếp cận có hệ thống của các bảng để loại bỏ sự dư thừa dữ liệu (sự lặp lại) và các đặc điểm không mong muốn như thêm, Cập nhật và Xóa. Đó là một quá trình gồm nhiều bước để đưa dữ liệu vào dạng bảng, loại bỏ dữ liệu trùng lặp khỏi các bảng quan hệ.

Chuẩn hóa được dùng với 2 mục đích chính: - Loại bỏ dữ liệu dư thừa - Đảm bảo phụ thuộc dữ liệu có nghĩa là dữ liệu được lưu trữ hợp lí.

Các vấn đề nếu không có chuẩn hóa: Nếu một bảng không được chuẩn hóa và có dữ liệu dư thừa thì nó sẽ làm tốn dung lượng bộ nhớ và cũng sẽ gây khó khăn trong việc sử lí và cập nhật cơ sở dữ liệu, mà không phải đối diện với việc mất dữ liệu. Thêm, cập nhật và xóa dữ liệu bất thường phải thường xuyên nếu cơ sở dữ liệu không được chuẩn hóa. Để hiểu hơn các dị thường này hãy cùng xem một ví dụ về bảng Student.

rollno name branch hod office_tel 401 Akon CSE Mr.X 53337 402 Bkon CSE Mr.X 53337 403 Ckon CSE Mr.X 53337 404 Dkon CSE Mr.X 53337

Trong bảng trên, chúng ta thấy có 4 bản ghi. Như chúng ta có thể thấy, dữ liệu ở hai trường branch, hod và official_tel được lặp lại cho các sinh viên có cùng branch trong trường, đây chính là dư thừa dữ liệu.

Bất thường khi thêm dữ liệu

Giả sử với một lần nhập học mới, cho đến khi hoặc trừ khi sinh viên chọn một branch, dữ liệu của sinh viên không thể được thêm, còn không thì chúng ta sẽ phải để thông tin của branch là NULL. Cũng như thế, nếu chúng ta phải thêm 100 sinh viên vào cùng một branch, thì thông tin của branch đó sẽ bị lặp lại cho cả 100 sinh viên. Các trường hợp này chính là bất thường khi thêm dữ liệu.

Bất thường khi cập nhật dữ liệu

Điêuf gì xaỷ ra khi Mr.X rời trường? hoặc là không còn laf trưởng khoa khoa học máy tính? Trong trường hợp đó tất cả các bản ghi sinh viên sẽ phải được cập nhật, và nếu chúng ta bỏ sót vài bản ghi vì lỗi gì đó, nó sẽ dẫn đến xung đột dữ liệu. Đây chinhs là bâts thường khi cập nhật dữ liệu.

Bất thường khi xóa dữ liệu

Trong bảng student, 2 thông tin khác nhau được lưu trữ cùng nhau, Student information và Branch information. Vì thế, vào cuối năm học, nếu bản ghi student bị xóa chúng ta cũng sẽ mất branch information. Đây là bất thường khi xóa dữ liệu.

Quy tắc chuẩn hóa

Các quy tắc chuẩn hóa được chia thành các dạng sau:

  1. First Normal Form
  2. Second Normal Form
  3. Third Normal Form
  4. BCNF
  5. Fourth Normal Form Tuy nhiên, chúng ta chỉ tìm hiểu về 1NF, 2NF, 3NF, và BCNF.

First normal form (1NF)

Để một bảng ở dạng chuẩn 1NF, cần tuân theo 4 quy tắc sau:

  • Nó chỉ nên có các thuộc tính / cột là đơn trị:
  • Các giá trị được lưu trữ trong một cột phải cùng tên miền
  • Tất cả các cột trong một bảng nên có tên duy nhất.
  • Và thứ tự lưu trữ dữ liệu, không phải là vấn đề Sau đây là một ví dụ về chuẩn 1NF để các bạn dễ hình dung hơn, ta có bảng sau: rollno name subject 101 Akon OS, CN 102 Bkon Java 103 Ckon C, C++

Bảng trên đã đáp ứng 3 quy tắc trong số 4 quy tắc, vì tất cả các tên cột là duy nhất, dữ liệu lưu trữ theo thứ tự mình muốn và không trộn lẫn các loại dữ liệu khác nhau trong các cột. Nhưng trong 3 sinh viên, có 2 sinh viên chọn 3 môn học và môn học được lưu trong cùng một cột, vi phạm quy tắc các cột chỉ bao gồm các đơn trị. Để giải quyết vấn đề trên thì đơn giản bởi vì chúng ta chỉ cần tách các giá trị thành các giá trị đơn.

rollno name subject 101 Akon OS 102 Bkon Java 103 Ckon C 101 Akon CN 103 Ckon C++

Bằng cách làm như vậy, mặc dù một vài giá trị đang được lặp lại nhưng các giá trị cho cột chủ đề hiện là nguyên tử cho mỗi bản ghi / hàng.

Second Normal Form (2NF)

Bảng ở dạng chuẩn 2NF Trước hết là phải chuẩn 1NF và không có phụ thuộc một phần. Dữ liệu ở dạng chuẩn 1NF có dữ liệu dư thừa tăng, vì sẽ có nhiều cột có cùng dữ liệu trong nhiều hàng nhưng mỗi hàng sẽ là duy nhất.

Third Normal Form (3NF)

Bảng ở dạng chuẩn 3NF Trước hết là phải chuẩn 2NF và không có phụ thuộc bắc câù.

Boyce and Codd Normal Form (BCNF)

Boyce và Codd Form Form là phiên bản cao hơn của 3NF. Chuẩn này liên quan đến một số loại dị thường không được xử lý bởi 3NF. Một bảng 3NF không có nhiều khóa ứng viên chồng chéo được cho là trong BCNF. Để bảng là chuẩn BCNF, các điều kiện sau phải được thỏa mãn:

Chuẩn hóa dữ liệu là quá trình quan trọng trong quản lý và thiết kế cơ sở dữ liệu, nhằm tổ chức và cấu trúc dữ liệu theo một cách tiêu chuẩn và hiệu quả. Bài viết này khám phá khái niệm chuẩn hóa dữ liệu, tầm quan trọng của nó và ba dạng chuẩn hóa cơ bản giúp hướng dẫn quá trình chuẩn hóa.

Mục lục

Chuẩn hóa dữ liệu đề cập đến quá trình tổ chức và cấu trúc dữ liệu theo cách loại bỏ sự trùng lặp, đảm bảo tính nhất quán và giảm thiểu các biến đổi dữ liệu. Nó liên quan đến việc chia dữ liệu thành các bảng nhỏ hơn, có quan hệ logic với nhau, giảm thiểu sự lặp lại dữ liệu và thiết lập mối quan hệ giữa các bảng này thông qua các khóa.

Tại sao cần chuẩn hóa dữ liệu?

Chuẩn hóa dữ liệu là vô cùng quan trọng vì các lý do sau đây:

1. Loại bỏ sự trùng lặp: Bằng cách loại bỏ dữ liệu trùng lặp, chuẩn hóa giúp giảm yêu cầu lưu trữ, cải thiện hiệu suất truy xuất dữ liệu và giảm nguy cơ không nhất quán.

2. Đảm bảo tính nhất quán: Chuẩn hóa cải thiện tính toàn vẹn dữ liệu bằng cách loại bỏ các tình huống không nhất quán có thể xảy ra khi dữ liệu được lưu trữ lặp đi lặp lại.

3. Đơn giản hóa việc bảo trì: Bằng cách chia dữ liệu thành các bảng nhỏ hơn, có cấu trúc tốt, chuẩn hóa đơn giản hóa việc quản lý và bảo trì cơ sở dữ liệu.

4. Hỗ trợ khả năng mở rộng: Cơ sở dữ liệu chuẩn hóa dễ dàng thích ứng với các sửa đổi, mở rộng và nâng cấp hệ thống trong tương lai.

Khóa chính và Khóa ngoại

Trong thiết kế cơ sở dữ liệu, khóa chính là một cột hoặc tổ hợp nhiều cột định danh duy nhất từng hàng trong một bảng. Nó đảm bảo tính toàn vẹn dữ liệu và được sử dụng làm điểm tham chiếu để thiết lập mối quan hệ với các bảng khác.

Lưu ý: Khóa chính không được NULL và lặp lại.

Trong khi đó, khóa ngoại là một cột hoặc các cột trong một bảng, tham chiếu đến khóa chính trong một bảng khác, thiết lập mối quan hệ giữa hai bảng. Khóa ngoại đảm bảo tính toàn vẹn tham chiếu và duy trì tính nhất quán giữa các bảng liên quan.

Ví dụ: Trong hình dưới, cột CustomerID là khóa chính của bảng Customers và là khóa ngoại của bảng Orders, tạo ra mối liên kết giữa hai bảng.

Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Ba dạng chuẩn hóa đầu tiên

Quá trình chuẩn hóa tuân theo một tập hướng dẫn được gọi là dạng chuẩn. Ba dạng chuẩn đầu tiên đóng vai trò quan trọng trong việc đạt được cấu trúc cơ sở dữ liệu tổ chức và hiệu quả.

Dạng chuẩn hóa đầu tiên (1NF)

Dạng chuẩn hóa đầu tiên yêu cầu mỗi cột trong bảng chỉ chứa các giá trị nguyên tử (không thể phân tách), và không có nhóm dữ liệu lặp lại.

Nói cách khác, mỗi thuộc tính của bảng phải chứa một giá trị duy nhất.

Ví dụ:

Bảng dữ liệu trước khi được chuẩn hóa 1NF

Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Bảng dữ liệu sau khi được chuẩn hóa 1NF

Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Dạng Chuẩn Hóa Thứ Hai (2NF)

Dạng chuẩn hóa thứ hai xây dựng trên cơ sở của 1NF bằng cách loại bỏ các phụ thuộc một phần. Phụ thuộc một phần xảy ra khi một thuộc tính phụ thuộc vào chỉ một phần của khóa chính.

Để đạt được 2NF, bảng nên được chia thành các bảng riêng biệt, trong đó mỗi thuộc tính phụ thuộc hoàn toàn vào toàn bộ khóa chính.

Ví dụ:

Trong bảng Employee, các cột Name (Tên nhân sự), Dept_name (Tên phòng ban), Salary (Mức lương) phụ thuộc vào cột EmployeeID (Mã nhân sự).

Trong bảng Emp_Crs, các cột EmployeeID (Mã nhân sự), CourseID (Mã khóa học) và DateCompleted (Ngày hoàn thành khóa học) phụ thuộc vào cột ID.

Trong bảng Course (Khóa học), cột Course_Title (Tên khóa học) phụ thuộc vào cột Course_ID (Mã khóa học).

Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Dạng Chuẩn Hóa Thứ Ba (3NF)

Dạng chuẩn hóa thứ ba tiếp tục cải thiện cấu trúc bảng bằng cách loại bỏ các phụ thuộc chuyển tiếp. Phụ thuộc chuyển tiếp xảy ra khi một thuộc tính phụ thuộc vào một thuộc tính khác không phải là khóa chính.

Trong 3NF, các bảng được chia để loại bỏ các phụ thuộc này.

Ví dụ: Bảng thông tin đơn hàng ở dưới chưa được chuẩn hóa 3NF, ta thấy có cột OrderID (Mã đơn hàng) là khóa chính nhưng các cột CustomerName (Tên khách hàng), CustomerCountry (Quốc gia của khách hàng) vẫn phụ thuộc vào cột khóa ngoại là CustomerID (Mã khách hàng).

Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Để chuẩn hóa 3NF, ta tách các cột chứa thông tin về khách hàng thành một bảng khác như sau:

Ví dụ về chuẩn hóa cơ sở dữ liệu năm 2024

Khóa học nào của Datapot dạy về chuẩn hóa dữ liệu?

Trong khóa học Azure Data Fundamentals, tức khóa đầu tiên trong lộ trình Data Analytics Foundation của Datapot, học viên không chỉ được giới thiệu về các nền tảng cơ sở dữ liệu Azure của Microsoft, mà còn được học về bản chất của dữ liệu cũng như cách chuẩn hóa, lưu trữ dữ liệu, các cơ sở dữ liệu và tổng quan về công việc trong ngành dữ liệu. Việc nắm chắc các kiến thức cơ bản về dữ liệu sẽ là nền tảng cho việc học về SQL, Power BI, Python cũng như việc phát triển sự nghiệp trong ngành dữ liệu sau này của học viên.

Đặc biệt, sau khi hoàn thành khóa học này, bạn sẽ đủ điều kiện tham gia kỳ thi DP-900 lấy chứng chỉ Azure Data Fundamentals của Microsoft – chứng chỉ được công nhận trên toàn thế giới.

Cơ sở dữ liệu đạt chuẩn 3 là gì?

Dạng chuẩn 3 (3NF) là một dạng chuẩn được sử dụng trong chuẩn hóa dữ liệu để kiểm tra xem liệu tất cả các thuộc tính không khóa của một quan hệ có phụ thuộc chỉ vào các khóa candidate key của quan hệ hay không.

Chuẩn hóa cơ sở dữ liệu là gì?

Chuẩn hóa cơ sở dữ liệu là một phương pháp khoa học để phân tách (scientific method of breaking down) một bảng có cấu trúc phức tạp (complex table structures) thành những bảng có cấu trúc đơn giản (simple table structures) theo những quy luật đảm bảo (certain rule) không làm mất thông tin dữ liệu.

Ví dụ cơ sở dữ liệu là gì?

Cơ sở dữ liệu : là một tập hợp các dữ liệu có liên quan với nhau, chứa thông tin của một tổ chức nào đó, được lưu trữ trên các thiết bị nhớ đề đáp ứng nhu cầ khai thác thông tin của nhiều người dùng với nhiều mục đích khác nhau. Ví dụ: bảng “ Hồ sơ học sinh” là cơ sở dữ liệu được lưu dưới dạng bảng biểu.

Khái niệm cơ sở dữ liệu có nghĩa là gì?

Cơ sở dữ liệu là một bộ sưu tập dữ liệu có hệ thống, được lưu trữ bằng điện tử. Nó có thể chứa bất kỳ loại dữ liệu nào, bao gồm từ, số, hình ảnh, video và tệp. Bạn có thể sử dụng phần mềm được gọi là hệ thống quản lý cơ sở dữ liệu (DBMS) để lưu trữ, truy xuất và chỉnh sửa dữ liệu.