You are on page 1of 2

Dạng chuẩn 1NF và chuẩn hóa về 1NF

Dạng chuẩn 1 (First Normal Form – 1NF) một quan hệ trong đó mỗi giá
trị thuộc tính đều ở dạng nguyên tố (giá trị nguyên tố là giá trị không thể chia
nhỏ được nữa); không chứa thuộc tính ghép, thuộc tính đa trị, thuộc tính dẫn
xuất thì quan hệ đó ở dạng 1NF.
1NF đóng vai trò quan trọng trong việc thiết kế cơ sở dữ liệu, đảm bảo rằng
dữ liệu được tổ chức theo cách giúp loại bỏ sự lặp lại không cần thiết và tạo ra
cấu trúc dữ liệu logic, dễ quản lý và truy xuất. Hiểu và áp dụng 1NF là cơ sở cho
việc chuẩn hóa dữ liệu một cách hiệu quả và đảm bảo tính nhất quán của cơ sở
dữ liệu.
Ví dụ: Giả sử chúng ta có một bảng “Danh sách phòng” gồm 3 cột:
Ma_phong Ten_phong Sinh_vien
001 101 Nam, Tung
002 102 Huyen, Anh
Dữ liệu trong bảng trên vi phạm nguyên tắc 1NF do việc có nhiều tên sinh
viên trong một ô. Để đưa về chuẩn 1NF cần tách bảng trên thành hai bảng
“Phòng” và bảng “sinh viên”.
2. Dạng chuẩn 2NF và chuẩn hóa về 2NF
Một sơ đồ quan hệ R được coi là ở dạng chuẩn 2 nếu:
- Sơ đồ quan hệ này ở 1NF.
- Tất cả các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa
chính.
Hay nói cách khác là không tồn tại một thuộc tính không khóa nào mà
phụ thuộc hàm một phần vào một khóa nào đó của R.
2NF là một bước tiếp theo quan trọng trong chuẩn hóa dữ liệu, giúp tạo ra
cấu trúc dữ liệu logic và hiệu quả. Việc hiểu và áp dụng 2NF trong thiết kế cơ
sở dữ liệu giúp đảm bảo tính chất nhất quán và hiệu suất trong quá trình quản
lý dữ liệu.
Ví dụ: Giả sử ta có bảng “đơn hàng” gồm:
Ma_don Ngay_dat Ma_sp Ten_sp gia So_luong
1 2023-01-01 101 Máy tính 900 3
2 2023-01-02 102 Chuột 100 5
1 2023-01-01 101 Bàn phím 800 1
Trong bảng này, cột “ten_sp” và “gia” không phải là phần của khóa chính mà
chỉ phụ thuộc và ma_sp. Điều này không chuẩn 2NF vì có thể có nhiều dòng với
cùng một ma_sp nhưng thông tin về ten_sp và gia lại được lưu trữ nhiều lần. Để
chuẩn hóa bảng trên theo 2NF thì tách ra làm hai bảng “Sản phẩm” và “đơn hàng”.
3. Dạng chuẩn 3NF và chuẩn hóa về 3NF
Một sơ đồ quan hệ R được coi là ở dạng chuẩn 3NF nếu:
- Sơ đồ quan hệ này ở 2NF
- Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào khóa chính
Một cách định nghĩa khác cho một phụ thuộc hàm bắc cầu là: một phụ thuộc
hàm X → Y trong một lược đồ quan hệ R là phụ thuộc bắc cầu nếu có một tập
thuộc tính Z ⊆ R mà Z không phải là tập con của bất kỳ khoá nào của R nhưng
X
→ Z và Z → Y.
Ví dụ: Bảng về “nhà cung cấp” bao gồm:
Ma_NCC Ten_NCC Ma_Hang_Hoa Ten_Hang_Hoa Gia Xuat_xu
1 NCC A 101 Máy tính 800 VN
2 NCC B 102 Điện thoại 300 NB
1 NCC A 103 Chuột 100 UC
Trong bảng này, cột “Xuat_xu” phụ thuộc vào cột “Ma_NCC” nhưng không
phải là phần của khóa chính (Ma_NCC, Ma_Hang_Hoa). Điều này là không
chuẩn 3NF vì "Xuat_Xu" phụ thuộc vào một thuộc tính không phải là khóa
chính. Để chuẩn hóa theo 3NF cần tách riêng ra làm ba bảng.
3NF là một bước quan trọng tiếp theo trong chuẩn hóa dữ liệu, giúp tạo ra
cấu trúc dữ liệu logic và hiệu quả. Việc hiểu và áp dụng 3NF trong thiết kế cơ
sở dữ liệu giúp đảm bảo tính chất nhất quán và hiệu suất trong quản lí dữ liệu.

You might also like