CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Whatis子站

3NF

作者: ,  出处:searchsqlserver, 责任编辑: , 
2005-05-16 13:26
  Database
  在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。这样可能使数据库产生重复数据,从而导致创建多余的表。范化是在识别数据库中的数据元素、关系,以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。下面是范化的一个例子Customer Item purchased  Purchase price Thomas Shirt $40 Maria Tennis shoes  $35 Evelyn  Shirt $40Pajaro Trousers $25 如果上面这个表用于保存物品的价格,而你想要删除其中的一个顾客,这时你就必须同时删除一个价格。范化就是要解决这个问题,你可以将这个表化为两个表,一个用于存储每个顾客和他所买物品的信息,另一个用于存储每件产品和其价格的信息,这样对其中一个表做添加或删除操作就不会影响另一个表。下面介绍的是关系数据库的几种范式。第一范式(1NF)。这是范化的最基本级别,并且一般任何数据库都符合这个标准。其规范如下:其中的表是有行和列的二维表格。每一列是通过整个表格表示的对象的属性。每一行描述属性的一个独一无二的实例,各行不能完全相同。 每一列的元素必须是同一类型的。例如“顾客”那一列中,只能是顾客姓名或编号。第二范式(2NF)。这个级别的范化中,表中的非主属性应该完全依赖于候选键。例如,在一个包含顾客ID、售出的产品、产品售出的价格这三列,其中价格应该依赖于顾客ID以及具体的产品。第三范式(3NF)。在第二范式中,对表中某一行的改变可能会影响与其他表中与这些数据相关的信息。例如,就上面所说的顾客表的例子而言,从表中去掉描述一个顾客购物的信息也就意味着把物品有相应的价格这个事实去掉了。在第三范式中,这些表就会被分成两个表,这样物品价格这个信息就可以独立出来了。域-码范式(DKNF)。码可以唯一的识别表中的每一行,域则是一个属性的取值范围。通过加强对码和域的限制,就可以保证数据库免除由于修改数据导致的异常。DKNF是很多数据库设计者想要达到的目标。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

该文章的读者还阅读了

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i