1NF 的第二条规则
下一步是确保没有重复的数据组。考虑我们有下表 -
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
ORDERS VARCHAR(155)
);
因此,如果我们为具有多个订单的单个客户填充此表,那么它将如下所示 -
ID |
NAME |
AGE |
ADDRESS |
ORDERS |
100 |
Sachin |
36 |
Lower West Side |
Cannon XL-200 |
100 |
Sachin |
36 |
Lower West Side |
Battery XL-200 |
100 |
Sachin |
36 |
Lower West Side |
Tripod Large |
但是根据 1NF,我们需要确保没有重复的数据组。因此,让我们将上表分成两部分,然后使用键将它们连接起来,如下面的程序所示 -
客户表 -
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
PRIMARY KEY (ID)
);
该表将具有以下记录 -
ID |
NAME |
AGE |
ADDRESS |
100 |
Sachin |
36 |
Lower West Side |
ORDERS 表 -
CREATE TABLE ORDERS(
ID INT NOT NULL,
CUSTOMER_ID INT NOT NULL,
ORDERS VARCHAR(155),
PRIMARY KEY (ID)
);
该表将有以下记录 -
ID |
CUSTOMER_ID |
ORDERS |
10 |
100 |
Cannon XL-200 |
11 |
100 |
Battery XL-200 |
12 |
100 |
Tripod Large |