Một bảng là theo Third Normal Form (3NF) khi nó thỏa mãn các điều kiện sau:

  • Nó là một bảng theo Second Normal Form (2NF).
  • Tất cả các trường mà không phải là primary là phụ thuộc vào primary key.

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:**

- 

Viết câu trả lời

Drop Images

0 Bình luận