Chuẩn hóa và phi chuẩn hóa dữ liệu

Chuẩn hóa dữ liệu và Phi chuẩn hóa dữ liệu

Ngày đăng: 07/05/2024

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

Chuẩn hóa dữ liệu (Data Normalization) là 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.

Các dạng chuẩn hóa phổ biến trong chuẩn hóa dữ liệu bao gồm:

  • Dạng chuẩn hóa đầu tiên (First normal form – 1NF), loại bỏ các cột trùng lặp trong một bảng và đảm bảo rằng mỗi cột chứa các giá trị nguyên tử (không thể chia được).
  • Dạng chuẩn hóa thứ hai (Second normal form – 2NF), 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.
  • Dạng chuẩn hóa thứ ba (Third normal form – 3NF), đáp ứng tất cả các yêu cầu của 2NF và 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.
Chuẩn hóa dữ liệu

Tham khảo chi tiết về Chuẩn hóa dữ liệu 1NF, 2NF, 3NF

Phi chuẩn hóa dữ liệu là gì?

Phi chuẩn hóa dữ liệu (Data Denormalization) là quá trình đưa các trường dữ liệu cần thiết từ các bảng, các giá trị được tính toán trước và một số dự phòng vào cơ sở dữ liệu đã chuẩn hóa với mục đích tối ưu hóa hiệu suất truy vấn cơ sở dữ liệu.

Lợi ích của phi chuẩn hóa dữ liệu:

  • Truy xuất dữ liệu được tối ưu hóa: bằng cách giảm thiểu số lượng phép join cần thiết để truy xuất dữ liệu, phi chuẩn hóa dữ liệu giúp cải thiện hiệu suất truy vấn. Điều này đặc biệt có lợi trong các tình huống mà các truy vấn phức tạp được thực hiện thường xuyên.
  • Phân tích dữ liệu đơn giản hóa: tất cả thông tin liên quan được lưu trữ ở một nơi, giúp tạo báo cáo và thực hiện phân tích dữ liệu dễ dàng hơn mà không gặp sự phức tạp khi điều hướng qua nhiều bảng.

Trường hợp sử dụng của phi chuẩn hóa dữ liệu:

  • Hệ thống báo cáo và phân tích (OLAP): dữ liệu phi chuẩn hóa rất phù hợp cho các hệ thống phân tích có hoạt động read cao, chẳng hạn như kho dữ liệu được sử dụng để báo cáo thông tin kinh doanh, trong đó các truy vấn phức tạp dùng để phân tích dữ liệu từ nhiều nguồn.
  • Hệ thống quản lý nội dung: cấu trúc phi chuẩn hóa giúp đơn giản hóa việc truy xuất và phân tích nội dung, cho phép phân phối nội dung nhanh hơn và báo cáo hiệu quả hơn về tương tác của người dùng.
  • Phân tích thời gian thực cho Internet of Things (IoT): dữ liệu phi chuẩn hóa cho phép truy vấn và phân tích nhanh dữ liệu phát trực tuyến, tạo điều kiện đưa ra quyết định kịp thời trong môi trường động, lý tưởng cho hệ thống IoT thu thập và phân tích dữ liệu thời gian thực từ các cảm biến và thiết bị.
  • Dashboard và trực quan hóa dữ liệu: dữ liệu phi chuẩn hóa hỗ trợ truy xuất nhanh chóng thông tin tóm tắt, nâng cao khả năng phản hồi của Dashboard và phân tích trực quan.
  • Trải nghiệm người dùng: Các hệ thống tương tác với người dùng bằng các truy vấn hoặc trực quan hóa phức tạp,thì dữ liệu phi chuẩn hóa sẽ góp phần mang lại trải nghiệm người dùng liền mạch hơn.

Một số kỹ thuật được sử dụng nhiều trong phi chuẩn hóa dữ liệu:

  • Kỹ thuật 1: Thêm các cột cần thiết vào bảng/Thiết kế các bảng JOIN trước, được sử dụng khi có các thao tác join tốn kém để lấy dữ liệu từ nhiều bảng. Tại đây, dữ liệu được sử dụng thường xuyên sẽ được thêm vào một bảng.

Ví dụ: giả sử có 2 bảng khách hàng (Customer) và đơn hàng (Order). Nếu chúng ta muốn hiển thị đơn hàng của khách hàng cùng với tên của họ, việc thêm tên khách hàng vào bảng đơn hàng sẽ giảm bớt thao tác join tốn kém. Tuy nhiên, nó sẽ tạo ra sự dư thừa lớn. Đây là một minh họa:

  • Kỹ thuật 2: Chia bảng, là quá trình phân tách một bảng thành nhiều bảng nhỏ hơn, để có thể truy vấn và quản lý dễ dàng. Việc chia bảng có thể được thực hiện theo hai cách: chia bảng ngang và chia bảng dọc.

Chia bảng ngang: chia các hàng của bảng thành các bảng nhỏ hơn. Mỗi bảng sẽ có các cột giống nhau. Cách tiếp cận này hữu ích khi các bảng dữ liệu có thể được phân tách dựa trên vùng, vị trí thực tế, nhiệm vụ và nhiều tình huống khác.

Ví dụ: chúng ta có một bảng chứa thông tin sinh viên đăng ký lớp học (ClassStudent). Bảng này có thể được chia theo từng lớp học, chẳng hạn như SQL, Power BI, Excel.

Chia bảng dọc: chia bảng dựa trên các cột, áp dụng khóa chính cho từng phân vùng.

Ví dụ: chúng ta có một bảng chứa thông tin nhân viên (Employee) với các cột mã nhân viên (EmployeeID), tên nhân viên (EmployeeName), địa chỉ (FullAddress), quản lý của nhân viên (ManagementEmployeeID). Chúng ta có thể tạo hai bảng mới bằng cách phân vùng dọc: thông tin nhân viên (EmployeeInformation) và quản lý nhân viên (EmployeeManagement), như minh họa bên dưới.

  • Kỹ thuật 3: Thêm cột dẫn xuất, là thêm các giá trị được tính toán trước vào bảng, nhằm mục đích giúp cho việc truy vấn nhanh hơn và giảm thao tác tính toán lặp lại nhiều lần.

Ví dụ: giả sử có hai bảng đơn hàng (Order) và chi tiết đơn hàng (OrderDetail).

  • Bảng đơn hàng chứa thông tin liên quan đến đơn hàng.
  • Bảng chi tiết đơn hàng chứa thông tin liên quan đến sản phẩm trong đơn hàng.

Nếu ứng dụng yêu cầu hiển thị tổng số lượng sản phẩm cùng với thông tin đơn hàng, chúng ta có thể thêm cột dẫn xuất mới chứa tổng số lượng sản phẩm (TotalQuantity). Việc thêm cột dẫn xuất, giúp chúng ta không cần phải tính toán tổng số lượng sản phẩm mỗi lần truy vấn cơ sở dữ liệu.

Sự khác biệt giữa chuẩn hóa và phi chuẩn hóa dữ liệu

Tiêu chí

Chuẩn hóa dữ liệu

Phi chuẩn hóa dữ liệu

Cách thực hiện

Loại bỏ dữ liệu dư thừa khỏi cơ sở dữ liệu. Sau đó, lưu trữ dữ liệu không dư thừa và nhất quán vào cơ sở dữ liệu.

Thêm một số dữ liệu dư thừa vào cơ sở dữ liệu đã được chuẩn hóa, nhằm cải thiện hiệu suất đọc (thời gian thực hiện) của cơ sở dữ liệu.

Mục tiêu

Tập trung vào việc xóa dữ liệu không được sử dụng.

Đưa ra các tính toán dự phòng giúp việc thực hiện các truy vấn nhanh hơn.

Kích cỡ bảng

Dữ liệu giảm nên kích cỡ bảng cũng giảm theo.

Dữ liệu được tích hợp thêm nên kích cỡ bảng sẽ tăng.

Tiêu thụ bộ nhớ

Chuẩn hóa sử dụng bộ nhớ được tối ưu hóa, nên ít tiêu tốn bộ nhớ hơn

Việc không chuẩn hóa có thể gây ra một số loại lãng phí bộ nhớ.

Toàn vẹn dữ liệu

Duy trì tính toàn vẹn của dữ liệu. Do đó, bất kỳ việc thêm hoặc xóa dữ liệu khỏi bảng, sẽ không tạo ra bất kỳ sự không khớp nào trong mối quan hệ của các bảng.

Không duy trì bất kỳ tính toàn vẹn dữ liệu nào.

Khi nào sử dụng

Được sử dụng khi một số thao tác chèn/cập nhật/xóa được thực hiện và việc JOIN các bảng đó không tốn kém.

Được sử dụng khi các phép JOIN tốn nhiều chi phí và các truy vấn thường xuyên được thực hiện trên các bảng.

Kết luận

  • Chuẩn hóa là một bước quan trọng trong việc thiết kế cơ sở dữ liệu, giúp cho việc lưu trữ dữ liệu không dư thừa và nhất quán.
  • Phi chuẩn hóa là một quá trình thêm một số dữ liệu dư thừa vào cơ sở dữ liệu đã chuẩn hóa, để nâng cao hiệu suất đọc và giảm thiểu thời gian chạy của các truy vấn trong cơ sở dữ liệu.

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. 

Tìm hiểu thêm về lộ trình dành riêng cho Data Analyst ngay tại đây:

Chia sẻ bài viết này

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

This site uses Akismet to reduce spam. Learn how your comment data is processed.