数据库 - 第一范式(1NF)
2015-07-30 14:11
435 查看
第一范式(1NF)定义了组织数据库最基本的规则:
定义所需的数据项,因为它们将会成为表中的列。将相关的数据项放入同一个表中。
确认没有数据重复。
确认表存在主键。
1NF的第一个规则
你必须定义数据项。这表示检查需要存储的数据,将数据组织成列,定义每列数据的类型,最后将相关的列组成表。
例如,你可以将所有关于会议地点的列放入Location表,将所有与会议成员相关的列放入MemberDetails表,等等。
1NF的第二个规则
下一步是确保没有重复数据。考虑一下表:
如果我们使用拥有多个订单的客户信息填充该表,将会获得类似以下结果:
但是根据1NF,我们需要确保不存在重复的数据。所以我们将该表拆分成两部分,然后通过一个键进行关联:
CUSOMTERS表:
该表将会包含以下记录:
ORDERS表:
该表将会包含以下记录:
1NF第三个规则
第一范式的最后一个规则就是为每个表创建一个主键,以上创建的表已经包含了主键。
原文地址:http://www.tutorialspoint.com/sql/index.htm
上一页
下一页
定义所需的数据项,因为它们将会成为表中的列。将相关的数据项放入同一个表中。
确认没有数据重复。
确认表存在主键。
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) );
如果我们使用拥有多个订单的客户信息填充该表,将会获得类似以下结果:
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 |
CUSOMTERS表:
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 |
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 |
第一范式的最后一个规则就是为每个表创建一个主键,以上创建的表已经包含了主键。
原文地址:http://www.tutorialspoint.com/sql/index.htm
上一页
下一页
相关文章推荐
- 查询和删除数据表中重复数据的sql
- [转载]Oracle中TO_DATE格式
- nginx+memcached+tomcat集群 session共享完整版
- Navicat For Mysql快捷键
- 【未测试】采用Atlas+Keepalived实现MySQL读写分离、读负载均衡
- 【对比mysql各种代理】mysql中间件研究(Atlas奇虎360,cobar阿里巴巴,TDDL淘宝分布式数据层)
- mysql TIMESTAMP(时间戳)详解
- sqlplus导入dmp数据库文件
- linux下安装mongodb
- 案例(用封装的ajax加载数据库的数据到页面)
- Oracle用户、角色、授权和表空间
- sql中in和exists的区别效率问题
- 【未测试】使用mysql-proxy 快速实现mysql 集群 读写分离
- 常用人脸数据库
- SQL基础总结——20150730
- Oracle中的COALESCE,NVL,NVL2,NULLIF函数
- oracle中执行计划中的cardinality
- mysql导入数据错误
- MySQL函数
- [MySQL优化案例]系列 — 分页优化