数据库设计
2016-05-21 12:46
225 查看
通俗地理解三个范式
通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解
三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):
第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。
要善于识别与正确处理多对多的关系
若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一
个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个
实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处
理多对多的关系。
〖例3〗:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一
个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之
间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0表示借书,1表示还书),另外,
它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。
http://www.cnblogs.com/wuhenke/archive/2010/08/11/1797307.html
通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解
三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):
第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。
要善于识别与正确处理多对多的关系
若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一
个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个
实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处
理多对多的关系。
〖例3〗:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一
个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之
间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0表示借书,1表示还书),另外,
它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。
http://www.cnblogs.com/wuhenke/archive/2010/08/11/1797307.html
相关文章推荐
- MySql--数据表中文乱码解决办法
- sqlalchemy 的 ORM 与 Core 混合方式使用示例
- mysql 批量更新的四种方法
- oracle 用函数查询怎么直接返回一个表
- MYSQL用户操作
- SQL SERVER 字符串函数
- sqlalchemy 的 Core 方式使用示例
- SQL Server 2008 ——关系
- 【Linux】redis集群
- 了解数据库语句
- 使用C# 怎么生成.db后缀的文件,并且能够使用sql语言进行读取等 操作
- 图解用MySQL创建进销存数据库
- 在sqlserver中如何导入.db数据库文件
- jsp excel数据 添加到 数据库表中
- DB扩展名的数据库文件怎么打开:两种db数据库的打开方式
- Redis简介,安装和配置,停止,卸载(图解方式)
- sql 相关
- 数据存储知识(3)--mysql主从服务器的搭建
- 出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案
- MySQL复制表结构,表数据。