阿里巴巴免费做网站,百度收录查询入口,wordpress 搭建教程 pdf,个人网站开发协议第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名、编号、地址、……)其中地址列还可以细分为国家、省、市、区等。第二范式:在第一范式的基础上更进一层,目标是确保表… 第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名、编号、地址、……)其中地址列还可以细分为国家、省、市、区等。第二范式:在第一范式的基础上更进一层,目标是确保表中的每列都和主键相关. 如果一个关系满足第一范式,并且除了主键以外的其它列,都依赖于该主键,则满足第二范式. 例如:订单表(订单编号、产品编号、定购日期、价格、……)订单编号为主键产品编号和主键列没有直接的关系即产品编号列不依赖于主键列应删除该列。 这样就产生一个问题这个表中是以订单编号和产品编号作为联合主键。【即有可能一个订单编号对应的是多个产品编号那么数据就出现冗余了。而且这个冗余还是不必要的】这样在该表中商品名称、单位、商品价格等信息不与该表的主键相关而仅仅是与商品编号相关。所以在这里违反了第二范式的设计原则。 也就是说在一个数据库表中一个表中只能保存一种数据不可以把多种数据保存在同一张数据库表中。第三范式:在第二范式的基础上更进一层,目标是确保每列都和主键列直接相关,而不是间接相关. 如果一个关系满足第二范式,并且除了主键以外的其它列都不依赖于主键列,则满足第三范式. 例如:订单表(订单编号定购日期顾客编号顾客姓名……)初看该表没有问题满足第二范式每列都和主键列订单编号相关再细看你会发现顾客姓名和顾客编号相关 顾客编号和订单编号又相关最后经过传递依赖顾客姓名也和订单编号相关。为了满足第三范式应去掉顾客姓名列放入客户表中。有时候适当的冗余也是有必要的。三范式http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 转载于:https://www.cnblogs.com/web21/p/6007604.html