动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.教你怎样把Oracle查询转换为SQL .
.about kernel exploit.
.使用 SQL*Plus 访问数据库.
.oracle数据库文件中的导入\导出(.
.Oracle数据库密码文件的使用和维.
.如何在硬碟建置Linux系统之系统设.
.oracle下导出某用户所有表的方法.
.oracle冷备份和恢复自动产生sql源.
.Actualtests Oracle 1Z0-007 V05.
.vi 文书处理软体.
.数据库管理员日常工作中必备的sq.
.Oracle诊断案例-Sql_trace之一.
.ORA-01502 state unusable错误成.
.一些可以预见的Oracle应用程序性.
.经验总结:一次Oracle数据库冷备.
.Oracle 8 数据库函数库.
.oracle中的to_date参数含义.
.Oracle 9i轻松取得建表和索引的D.
.有关网格环境下的数据库系统的探.
.带你深入了解管理Oracle实例的相.

关系型数据库:使用范式创建数据库

发表日期:2008-2-9 |



  关系型数据库理论可能是20世纪60年代和70年代存储系统先锋的救星,但是从那是开始它就成了许多数据开发人员的毒药,就是因为现代数据库系统发展得如此之好,以至于它将其关系型支柱对开发人员隐藏了。设计良好的关系型数据库很轻易使用、很灵活,并且能够保护数据的有效性。 而设计不良的数据相反仍然能够发挥相当的作用,但是最终可能会导致数据的无效、错误或者丢失。
  
  开发人员有一些专用的规则,叫做范式(normal forms),他们根据这些规则来创建设计良好的数据库。在这里,我将通过创建一个用于保存书籍信息的简单数据库来探讨一下范式。
  
  本系列的第二部分
  本文Builder.com是针对数据库设计系列的第二部分。假如错过了前一部分,你可以看看第一部分(关系型数据库:理论背后的灵感) ,它揭示了关系型数据库理论发展的内在动力。
  
  确定实体和元素
  
  设计数据库的第一步是做你的家庭作业并确定你所需要的实体。实体是数据一种类型的概念集。通常只从一两个实体开始,再随着你数据的规范化而增加列表。对于我们的示例数据库,它看上去就似乎我们只需要一个实体——书。
  
  在确定了所需要实体的清单之后,你下一步就需要为每个实体创建数据元素(也就是说,你需要保存的信息)的清单。收集这样的信息有多种途径,但是最有效的可能就是依靠你的用户了。向你的用户询问他们日常工作的情况,要求查看当前完成他们工作所需要的各种表格和报告。例如,订单上可能会列出你创建销售应用程序所需要的许多数据元素。
  
  我们的书籍实体没有书面表格和报告可用,但是下列元素清单将有助于我们开始设计这个数据库:
  
  {Title, Author, ISBN, Price, Publisher, Category}
  
  很重要的一点是,要注重,把我们这里要用的实体移动到元素的过程并不能适用于所有状况。你所需要的实体不会总是像我们书籍示例那样清楚,所以你可能要从数据元素的一长串清单开始,在后面你会根据实体来划分元素。
  正规化的头几步
  
  
  
  一旦有了实体清单(表格)和数据元素(字段),你就预备好让关系型数据库理论运作了。这个理论的主要推动力是规范化——删除任何重复的组和冗余的数据,并把它们放到两个或者更多相关表里的过程。你并不是一定需要拥有一个以上的表格,但是你的数据简单到只需要一个表格的机会并不多。
  
  你应该小心地检查数据(这些数据会出现在多条记录里)和依靠性错误的实体和元素清单,并把已损坏的字段移动到不同的表格里。例如,你可能列出同一个作者的多本书,并在数据库里重复了作者的名字。当你认为会一次又一次地看到相同的数据值时,你就应该考虑把这个字段移动到另一个表格里了。
  
  要记住,在这一点上,你只是在操作潜在表格的列表,而不应该真正地创建这个表格:现在还是要用笔和纸来列表。
  
  
  
  范式简介
  
  数据库规范化的过程非常闻名,所以有正式的规则来保证规范化数据库的建设。这些规则有七条,叫做范式,而在大多数情况下头四条就够用了:
  
  第一范式(1NF)——这条规则有几个要求,包括:无多值项目(multivalued item)和重复组(repeating group);每个字段都是原子型的(atomic),也就是说每个字段必须包含可能的最小数据元素;以及表格含有要害字(key)。
  第二范式(2NF)——表格必须按照1NF来规范化。所有的字段必须引用(或者描述)主键值。假如主键基于一个以上的字段,那么每个nonkey字段必须取决于复杂键(complex key),而不仅仅是一个没有键的字段。不支持主键的nonkey字段应该被移动到另一个表格里去。
  第三范式(3NF)——表格必须符合1NF和2NF的要求。所有的字段都必须相互独立。任何描述nonkey字段的字段都必须被移动到另一个表格里。
  Boyce-Codd范式(BCNF)——一定不能存在依靠于nonkey的字段。这条规则实际上是3NF的一个子规则,用于捕捉可能会通过进程的依靠性。这一点相当的抽象,一开始是很难应用的。
  
  以上的规则很精确,但是技术定义以及规范化的规则能够被简化成下面几点:
  
  每个字段必须尽量小。
  每个字段只能包含一个数据项目。
  每条记录都必须是唯一的。
  注重重复的条目。
  每个字段都必须完全支持主键,而且只支持主键。
  下一步该做什么?
  
  应用这些规范化规则,尤其是1NF的几个要求,将会是个很需要技巧的过程。正如你会在下面内容里看到的,我会开始真正地把范式应用到实力数据库上,在进行了其他规范化的步骤之后,你就会重新回到1NF。
上一篇:调节Oracle数据缓冲区参数,缓冲整个数据库 人气:441
下一篇:关系型数据库:实现正规化 人气:545
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-4 LPLY CMS 网站管理系统 v5.0
2008-9-4 缤纷互动视频交友 v3.01.902
2008-9-4 ADN视频收藏专家 v3.0 bulid 080
2008-9-4 天空网络电影系统SKYUC v2.5.6 简
2008-9-4 Web Wiz Rich Text Editor(文本编
2008-9-4 幻影动漫网视频系统(Ppdong) v1.
2008-9-4 乐维电脑在线DIY配置系统
2008-9-4 老樊文章管理系统SQL版
2008-9-4 ASP.NET 2.53 缩略图水印组件源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵