Love beautiful code? We do too.
Một bảng là theo Third Normal Form (3NF) khi nó thỏa mãn các điều kiện sau:
Sự phụ thuộc của các trường không phải là primary là sự phụ thuộc giữa dữ liệu. Ví dụ, trong bảng dưới đây, tên Phường, Quận, và Thành phố là được kết nối (mà không thể phá vỡ) tới một zip code.
CREATE TABLE KHACHHANG(
KH_ID INT NOT NULL,
KH_TEN VARCHAR (20) NOT NULL,
DOB DATE,
PHUONG VARCHAR(200),
QUAN VARCHAR(100),
THANHPHO VARCHAR(100),
ZIP VARCHAR(12),
EMAIL_ID VARCHAR(256),
PRIMARY KEY (KH_ID)
);
```Sự phụ thuộc giữa các zip code và DIACHI được gọi là phụ thuộc có tính bắc cầu. Để tuân theo Third Normal Form (3NF), điều bạn cần làm là di chuyển các trường PHUONG, QUAN, THANHPHO vào trong bảng riêng của chúng, mà bạn có thể gọi là bảng Zip Code.
CREATE TABLE DIACHI( ZIP VARCHAR(12), PHUONG VARCHAR(200), QUAN VARCHAR(100), THANHPHO VARCHAR(100), PRIMARY KEY (ZIP) );
```Bây giờ, biến đổi bảng KHACHHANG như sau:
CREATE TABLE KHACHHANG(
KH_ID INT NOT NULL,
KH_TEN VARCHAR (20) NOT NULL,
DOB DATE,
ZIP VARCHAR(12),
EMAIL_ID VARCHAR(256),
PRIMARY KEY (KH_ID)
);
```Việc gỡ bỏ các phụ thuộc có tính bắc cầu đem lại cho ta hai lợi thế. Đầu tiên, lượng bản sao dữ liệu bị giảm xuống và vì thế Database của bạn trở nên nhỏ hơn.
**Các loạt bài khác:**
-
Hoclaptrinh.vn © 2017
From Coder With
Unpublished comment
Viết câu trả lời