您的位置:首页 > 数据库

数据库 - 第一范式(1NF)

2015-07-30 14:11 435 查看
第一范式(1NF)定义了组织数据库最基本的规则:

定义所需的数据项,因为它们将会成为表中的列。将相关的数据项放入同一个表中。
确认没有数据重复。
确认表存在主键。

1NF的第一个规则

你必须定义数据项。这表示检查需要存储的数据,将数据组织成列,定义每列数据的类型,最后将相关的列组成表。

例如,你可以将所有关于会议地点的列放入Location表,将所有与会议成员相关的列放入MemberDetails表,等等。

1NF的第二个规则

下一步是确保没有重复数据。考虑一下表:

CREATE TABLE CUSTOMERS(
ID   INT              NOT NULL,
NAME VARCHAR (20)     NOT NULL,
AGE  INT              NOT NULL,
ADDRESS  CHAR (25),
ORDERS   VARCHAR(155)
);


如果我们使用拥有多个订单的客户信息填充该表,将会获得类似以下结果:

IDNAMEAGEADDRESSORDERS
100Sachin36Lower West SideCannon XL-200
100Sachin36Lower West SideBattery XL-200
100Sachin36Lower West SideTripod Large
但是根据1NF,我们需要确保不存在重复的数据。所以我们将该表拆分成两部分,然后通过一个键进行关联:

CUSOMTERS表:

CREATE TABLE CUSTOMERS(
ID   INT              NOT NULL,
NAME VARCHAR (20)     NOT NULL,
AGE  INT              NOT NULL,
ADDRESS  CHAR (25),
PRIMARY KEY (ID)
);


该表将会包含以下记录:

IDNAMEAGEADDRESS
100Sachin36Lower West Side
ORDERS表:

CREATE TABLE ORDERS(
ID   INT              NOT NULL,
CUSTOMER_ID INT       NOT NULL,
ORDERS   VARCHAR(155),
PRIMARY KEY (ID)
);


该表将会包含以下记录:

IDCUSTOMER_IDORDERS
10100Cannon XL-200
11100Battery XL-200
12100Tripod Large
1NF第三个规则

第一范式的最后一个规则就是为每个表创建一个主键,以上创建的表已经包含了主键。

原文地址:http://www.tutorialspoint.com/sql/index.htm

上一页
下一页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: