资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> PHP编程 >> 数据库相关 >> 文档正文
最近更新
普通文档 给大家一个php+oracle的
普通文档 大家在碰到这样的情况下
普通文档 使用MySQL时的一些常见错
推荐文档 自己动手做一个SQL解释器
普通文档 最小化数据传输——在客
普通文档 谈谈数据从sql server数
普通文档 一个php处理oracle的 lo
普通文档 Tutorial for migrating
普通文档 好了,我经过大家的支持
普通文档 写了一个odbc连mssql分页
推荐文章
推荐文档 自己动手做一个SQL解释器
推荐文档 MySQL服务器的启动与停止
推荐文档 MySQL用户管理(转)
推荐文档 php操作mysql的类!
推荐文档 PHP4连接Oracle 8i的方法
推荐文档 如何实现MySQL中的用户管
推荐文档 PHPLIB 和多个数据库连接
推荐文档 PHP+Oracle(OCI)初步
推荐文档 数据库设计技巧(一)
推荐文档 SQL语言快速入门(一)
推荐文档 MySQL索引分析和优化
推荐文档 数据库设计范式
推荐文档 PHP调用三种数据库的方法
推荐文档 PHP如何透过ODBC来存取数
推荐文档 自己写的mysql类
数据库设计技巧(一)

文章作者:佚名 录入时间:2006-6-9 来源:不详
网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


在动态网站的设计中,数据库设计的重要性不言而喻。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。无
论你使用的是mySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而
也会提升应用的性能。

  简单说来,正规化就是在表格设计时,消除冗余性和不协调的从属关系。在本文中,我将通过五个渐进的过程来告诉
你在设计中应该了解的正规化技巧。从而建立一个可行而且
效率高的数据库。本文也会详细分析一下可以利用的关系类型。

  这里假定我们要建立一个用户信息的表格,其中要存储用户的名字、公司、公司地址和一些个人的收藏夹或url。在开
始时,你可能定义一个如下的表格结构:

  零状态形式

  users

  name company company_address url1 url2

  Joe ABC 1 Work Lane abc.com xyz.com

  Jill XYZ 1 Job Street abc.com xyz.com

  由于没有进行任何的正规化处理,我们将这种形式的表称为零状态形式的表。留意其中的url1和url2字段---如果我们
在应用中需要第三个url呢?这样你就要在表格中多加一列,很明显,这不是一个好办法。如果你要创建一个富有扩展性的
系统,你就要考虑使用第一个正规化的形式,并且应用到该表格中。

  第一级正规化形式

  1.消除每个表格中重复的组

  2.为每套相关的数据建立一个独立的表格

  3.使用一个主键来标识每套相关的数据

  以上的表格明显违反了上面第一条的规定,那么第三条的主键又是什么意思呢?很简单,它只是在每个记录中加入一
个唯一的、自动增加的整型值。通过这个值,就可以将两个姓名一样的记录区分开来。通过应用第一级正规化形式,我们
得到了以下的表格:

  users

  userId name company company_address url

  1 Joe ABC 1 Work Lane abc.com

  1 Joe ABC 1 Work Lane xyz.com

  2 Jill XYZ 1 Job Street abc.com

  2 Jill XYZ 1 Job Street xyz.com

  现在我们的表格可以说已经处在第一级正规化的形式了,它已经解决了url字段的限制问题,不过这样的处理后又带来
了一个新的问题。每次在user表中插入一条记录的时候,我们都必须重复所有的公司和用户数据。这样不仅令数据库比以
前大了,而且很容易出错。因此还要经过第二级正规化处理。

  • 上一篇文档:

  • 下一篇文档:
  •     查找更多“数据库设计技巧(一)”的内容  
    相关连接
  • PHP实现文件安全下载-PHP教程,文件处理

  • 好东西和大家分享~同时上传100个文件上传的程序~(代码)文件一:fileup.pl-PHP教程,文件

  • 好东西和大家分享~同时上传100个文件上传的程序~(代码)文件三:fileup.php-PHP教程,文

  • 好东西和大家分享~同时上传100个文件上传的程序~(代码)文件二:fileup.plphpfileup.ht

  • 如何使用PHP操作文件(文件读取篇)-PHP教程,文件处理