Để cho cơ sở dữ liệu hoạt động hiệu quả, không gặp nhiều phiền toái khi thực hiện các thao tác, không bị hỏng hóc, các cơ sở dữ liệu cần tuân thủ một số tiêu chí, ràng buộc nhất định. Trong số đó, quan trọng hơn cả là các tiêu chí liên quan đến tính chuẩn (normality) của dữ liệu.
Dữ liệu được xem là chuẩn khi không chứa dữ liệu dư thừa, trùng chập dưới mọi hình thức. Khi đó ta có thể loại bỏ các điểm bất cập xẩy ra khi cập nhật, thêm bớt dữ liệu.
Tùy thuộc yêu cầu đặt ra mà hiện nay đã có 7 dạng chuẩn (normal form) được đề xuất, từ dạng chuẩn 1 (1NF) đến dạng chuẩn 6 (6NF) và dạng chuẩn Boyce-Codd (BCNF). Mức độ ràng buộc tăng dần từ dạng chuẩn 1 đến dạng chuẩn 6, còn dạng chuẩn Boyce-Codd nằm ở giữa dạng chuẩn 3 và dạng chuẩn 4. Dạng chuẩn thứ n là dạng chuẩn thứ (n-1) và thêm một số ràng buộc nữa.
Tuy nhiên ta thấy trong thực tế có 90% trường hợp thuộc dạng chuẩn 3 và dạng này được xem như “tiêu chuẩn vàng” (golden standard) của cơ sở dữ liệu. Dạng chuẩn 6 được Christopher Date đề xuất liên quan đến các thuộc tính về thời gian chỉ mới được giới nghiên cứu xem xét.
Quá trình chuẩn hóa cơ sở dữ liệu được thực hiện qua nhiều bước, bắt đầu từ dạng chuẩn thấp tiến dần đến những dạng chuẩn cao hơn.
Một quan hệ được xem là dạng chuẩn 1 khi đáp ứng được các điều kiện sau:
Như vậy, nếu cơ sở dữ liệu được thiết kế theo mô hình quan hệ, thì các quan hệ của nó đạt dạng chuẩn 1.
Phụ thuộc hàm
Thuộc tính B được gọi là phụ thuộc hàm vào thuộc tính A nếu giá trị của B có thể suy ra từ giá trị của A, nghĩa là ta có thể viết như trong Toán: B = f(A)). Khi ấy A được gọi là định tố (determinant) của B.
Trong trường hợp khóa chính thuộc loại kết hợp, ta có một trường hợp đặc biệt của phụ thuộc hàm được gọi là phụ thuộc một phần (partial dependency). Đó là sự phụ thuộc hàm của thuộc tính không khóa vào một phần của khóa chính.
Dạng chuẩn 2
Một quan hệ được xem là đạt dạng chuẩn 2 khi đáp ứng các điều kiện sau:
Như vậy nếu quan hệ đã đạt dạng chuẩn 1 và khóa chính thuộc loại đơn thì nó đạt dạng chuẩn 2. Ngoài ra nếu quan hệ chỉ chứa khóa chính thì nó cũng đạt dạng chuẩn 2.
Phụ thuộc bắc cầu
Nếu thuộc tính B phụ thuộc hàm vào thuộc tính không khóa A thì phụ thuộc này được gọi là phụ truộc bắc cầu (transitive dependency).
Dạng chuẩn 3
Một quan hệ được xem là đạt dạng chuẩn 3 khi đáp ứng các điều kiện sau:
Dạng chuẩn Boyce-Codd được xem xét khi khóa chính thuộc loại kết hợp và được xem là chặt chẽ và gắt gao hơn dạng chuẩn 3. Quan hệ được xem là đạt dạng chuẩn này khi:
Dạng chuẩn 4 được đặt ra khi trong một quan hệ chứa nhiều hơn 1 thuộc tính mà về bản chất là đa trị. Khi đó, có thể xẩy ra sự phụ thuộc giữa một vài giá trị của thuộc tính đa trị này với một vài giá trị của thuộc tính đa trị khác. Khi đó, ta xem là không đạt dạng chuẩn 4. Biện pháp là ta tạo ra các quan hệ chỉ chứa một thuộc tính có bản chất là đa trị thôi.
Khi chúng ta chuẩn hóa cơ sở dữ liệu, ta thường phải tạo những quan hệ có ít thuộc tính, nhưng điều này làm cho số quan hệ tăng lên. Dạng chuẩn càng cao, số thuộc tính trong mỗi quan hệ càng ít, số quan hệ càng nhiều. Khi thao tác dữ liệu, như truy vấn chẳng hạn, ta lại phải tìm cách móc nối, liên kết các quan hệ này lại để có được kết quả như yêu cầu. Điều này làm quá trình viết mã lệnh cho các chương trình phức tạp hơn, thời gian thực thi các yêu cầu của người dùng tăng lên.
Vì thế, trong thực tế, ta cần phải xem xét để tạo sự cân bằng giữa mức độ chuẩn hóa với mức độ phức tạp của chương trình và thời gian thực thi các thao tác. Do đó ta vẫn có thể tạo ra một số quan hệ phi chuẩn để có sự cân bằng trên.
Một số hướng để phi chuẩn hóa (denormalization) cơ sở dữ liệu là:
Trang web này được cập nhật lần cuối ngày 25/11/2018
Cơ sở dữ liệu
Các chuyên đề
Xử lý dữ liệu
Ma trận
R