标准化第三范式

上传人:re****.1 文档编号:495421285 上传时间:2023-02-03 格式:DOC 页数:3 大小:41KB
返回 下载 相关 举报
标准化第三范式_第1页
第1页 / 共3页
标准化第三范式_第2页
第2页 / 共3页
标准化第三范式_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《标准化第三范式》由会员分享,可在线阅读,更多相关《标准化第三范式(3页珍藏版)》请在金锄头文库上搜索。

1、第二氾式第三范式(3NF)是数据库规范化中所使用的一种正规形式,用来检验是否所有非键属性都只和候选键有相关性,也就是说所有非键属性互相之间应该是无关的。第三范式和第二范式不同的地方在于,在第三范式里,所有的非键属性都必须和每个候选键有直接相关。如果再对第三范式做进一步加强就成了范式,它所强调的重点就在于数据间的关系是奠基在键上、以整个键为考量、而且除了键之外不考虑其他因素。以下面这个定义机械组件的关系为例:机械组件组件编号(主键)制造商名称制造商地址1000ToyotaParkAvenue1001MitsubishiLincolnStreet1002ToyotaParkAvenue本例中制造商

2、地址很明显地不该被列在这个关系里面,因为和组件本身比起来,制造商地址应该和制造商比较有关系;正确的做法应该是把独立成为一个新的数据表:制造商制造商名称(主键)制造商地址ToyotaParkAvenueMitsubishiLincolnStreet然后把原本的数据表改成这样:机械组件组件编号制造商名称(主键)1000Toyota1001Mitsubishi1002Toyota先前那个数据表的问题在于每提到一次制造商名称就要多存一次它的地址,而这就不符合第三范式的原则。下面提供了另一个例子:订单(Order)订单编号(OrderNumber)(主键)客户名称(CustomerName)单价(Uni

3、tPrice)数量(Quantity)小计(Total)1000David$35.003$105.001001Jim$25.002$50.001002Bob$25.003$75.00在本例中,非主键字段完全依赖于主键订单编号,也就是说唯一的订单编号能导出唯一非主键字段值,符合第二范式。第三范式要求非主键字段之间不能有依赖关系,显然本例中小计依赖于非主键字段单价和数量,不符合第三范式。小计不应该放在这个数据表里面,只要把单价乘上数量就可以得到小计了;如果想要符合第三范式的话,就把小计拿掉吧(不过在做查询的时候,本来用SELECTOrders.TotalFROMOrder就要改成用SELECTUnitPrice*QuantityFROMOrder了)。订单(Order)订单编号(OrderNumber)(主键)客户名称(CustomerName)单价(UnitPrice)数量(Quantity)1000David$35.0031001Jim$25.0021002Bob$25.003

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号