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

Chuẩn hóa dữ liệu là một kĩ thuật tổ chức dữ liệu trong database. Nó bao gồm việc tạo bảng, thiết kế các trường, các khóa… Mục đích của nó là tạo ra một cơ sở dữ liệu linh hoạt, giảm sự dư thừa, thiếu nhất quán dữ liệu. Đồng thời đảm bảo tính toàn vẹn của dữ liệu.

Vấn đề của dư thừa dữ liệu!

Dưa thừa dữ liệu không chỉ làm lãng phí bộ nhớ mà nó còn tạo ra vấn đề nghiêm trọng với việc bảo trì phần mềm. Ví dụ một khách hàng có nhiều địa chỉ. Nếu ta lưu lung tung địa chỉ ở nhiều chỗ trong database. Khi cập nhật dữ liệu bạn phải cập nhật rất nhiều nơi. Dễ gây ra sai sót. Cần nhớ nguyên lý DRY (don’t repeat yourself) là một trong những nguyên lý cơ bản nhất của việc lập trình nhằm hạn chế các đoạn code lặp đi lặp lại. Càng lặp lại nhiều, càng khó bảo trì.

Ví dụ: Bảng Student

Name

Room

Class 1

Class 2

Class 3

Nguyễn Văn A

101

Khoa học máy tính

Toán rời rạc

C# căn bản

Nguyễn Văn B

102

C# căn bản

Toán rời rạc

Javascript

Nguyễn Văn C

101

CSS

Cơ sở dữ liệu

Design pattern

Ta có thể thấy, dữ liệu ở phòng, lớp dư thừa, nó chỉ hoạt động được khi mỗi sinh viên chỉ đăng ký 3 class. Nếu có thêm class thứ 4, ta phải làm gì? Tạo một trường mới?
Nếu khóa học Toán rời rạc bị đổi tên, thành Toán học rời rạc, ta phải cập nhật tất cả các lớp có toán rời rạc. Đó là địa ngục, do vậy ta cần chuẩn hóa dữ liệu.

Các dạng chuẩn hóa dữ liệu.

Thông thường, ta có 3 dạng chuẩn hóa dữ liệu.

  1. Dạng 1 (1 NF - first normal form)
  2. Dạng 2 (2 NF - second normal form)
  3. Dạng 3 (3 NF - third normal form)

Dạng chuẩn hóa dữ liệu thứ 3 thường được xem là dạng tốt nhất cho các app sử dụng SQL.

Tính toàn vẹn dữ liệu là gì?

Tính toàn vẹn dữ liệu (data integrity) là thuật ngữ nói về chất lượng của dữ liệu. Một database được gọi là toàn vẹn dữ liệu khi nó có cấu ổn định. Đảm bảo thông tin được lưu trữ, thay đổi hay truyền tải một cách chính xác.

Các môn học khác

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

HTTP giúp kết nối các máy tính trên mạng Internet thông qua TCP/IP

Khoa học về dinh dưỡng, giáo trình giảm cân cho mọi người.