`
happmaoo
  • 浏览: 4325147 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

数据库之父对实现关系型数据库管理系统的12条建议

阅读更多
这是数据库之父对实现关系型数据库管理系统的12条建议:

Codd's12Rules

Dr.E.F.Codd,anIBMresearcher,firstdevelopedtherelationaldatamodelin1970.In1985,Dr.Coddpublishedalistof12rulesthatconciselydefineanidealrelationaldatabase,whichhaveprovidedaguidelineforthedesignofallrelationaldatabasesystemseversince.

Iusetheterm"guideline"because,todate,nocommercialrelationaldatabasesystemfullyconformstoall12rules.Theydorepresenttherelationalideal,though.Forafewyears,scorecardswerekeptthatratedeachcommercialproduct'sconformitytoCodd'srules.Today,therulesarenottalkedaboutasmuchbutremainagoalforrelationaldatabasedesign.

FollowingisalistofCodd's12rules,includinghisoriginalnameforeachruleandasimplifieddescription.Ialsohaveincludedanotewherecertainrulesareproblematictoimplement.Don'tworryifsomeoftheseitemsareconfusingtoyou,aswemovefurtherthroughthisnewsletterserieswewillfillinthedetails.

Rule1:TheInformationRule
Alldatashouldbepresentedtotheuserintableform.Lastweek'snewsletteralreadydiscussedthebasicsofthisrule.

Rule2:GuaranteedAccessRule
Alldatashouldbeaccessiblewithoutambiguity.Thiscanbeaccomplishedthroughacombinationofthetablename,primarykey,andcolumnname.

Rule3:SystematicTreatmentofNullValues
Afieldshouldbeallowedtoremainempty.Thisinvolvesthesupportofanullvalue,whichisdistinctfromanemptystringoranumberwithavalueofzero.Ofcourse,thiscan'tapplytoprimarykeys.Inaddition,mostdatabaseimplementationssupporttheconceptofanun-nullfieldconstraintthatpreventsnullvaluesinaspecifictablecolumn.

Rule4:DynamicOn-LineCatalogBasedontheRelationalModelArelationaldatabasemustprovideaccesstoitsstructurethroughthesametoolsthatareusedtoaccessthedata.Thisisusuallyaccomplishedbystoringthestructuredefinitionwithinspecialsystemtables.

Rule5:ComprehensiveDataSublanguageRule
Thedatabasemustsupportatleastoneclearlydefinedlanguagethatincludesfunctionalityfordatadefinition,datamanipulation,dataintegrity,anddatabasetransactioncontrol.AllcommercialrelationaldatabasesuseformsofthestandardSQL(StructuredQueryLanguage)astheirsupportedcomprehensivelanguage.

Rule6:ViewUpdatingRule
Datacanbepresentedtotheuserindifferentlogicalcombinations,calledviews.Eachviewshouldsupportthesamefullrangeofdatamanipulationthatdirect-accesstoatablehasavailable.Inpractice,providingupdateanddeleteaccesstologicalviewsisdifficultandisnotfullysupportedbyanycurrentdatabase.

Rule7:High-levelInsert,Update,andDelete
Datacanberetrievedfromarelationaldatabaseinsetsconstructedofdatafrommultiplerowsand/ormultipletables.Thisrulestatesthatinsert,update,anddeleteoperationsshouldbesupportedforanyretrievablesetratherthanjustforasinglerowinasingletable.

Rule8:PhysicalDataIndependence
Theuserisisolatedfromthephysicalmethodofstoringandretrievinginformationfromthedatabase.Changescanbemadetotheunderlyingarchitecture(hardware,diskstoragemethods)withoutaffectinghowtheuseraccessesit.

Rule9:LogicalDataIndependence
Howauserviewsdatashouldnotchangewhenthelogicalstructure(tablesstructure)ofthedatabasechanges.Thisruleisparticularlydifficulttosatisfy.Mostdatabasesrelyonstrongtiesbetweentheuserviewofthedataandtheactualstructureoftheunderlyingtables.

Rule10:IntegrityIndependence
Thedatabaselanguage(likeSQL)shouldsupportconstraintsonuserinputthatmaintaindatabaseintegrity.Thisruleisnotfullyimplementedbymostmajorvendors.Ataminimum,alldatabasesdopreservetwoconstraintsthroughSQL.Nocomponentofaprimarykeycanhaveanullvalue.(seerule3)
Ifaforeignkeyisdefinedinonetable,anyvalueinitmustexistasaprimarykeyinanothertable.

Rule11:DistributionIndependence
Ausershouldbetotallyunawareofwhetherornotthedatabaseisdistributed(whetherpartsofthedatabaseexistinmultiplelocations).Avarietyofreasonsmakethisruledifficulttoimplement;Iwillspendtimeaddressingthesereasonswhenwediscussdistributeddatabases.

Rule12:NonsubversionRule
Thereshouldbenowaytomodifythedatabasestructureotherthanthroughthemultiplerowdatabaselanguage(likeSQL).Mostdatabasestodaysupportadministrativetoolsthatallowsomedirectmanipulationofthedatastructure.Overthelifeofthisnewsletter,IwillbeexpandingontheconceptscoveredbyeachofCodd'srules.Iwillusetherelationalquerylanguageofchoice,SQL,toillustratetheseconceptsandexplainrelationaldatabasestructureindetail.


转自: http://www.zhanling.com/zhanling/qiu/blogview.asp?logID=83&cateID=3
分享到:
评论

相关推荐

    关系数据库设计.doc

    Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条规则,...

    了解IBM DB2数据库历史

    1968:IBM 在 IBM 360计算机上研制成功了IMS V1,这是第一个也是最著名的和最为典型的层次型数据库管理系统。至今仍然还有企业在使用。1970: 这是数据库历史上划时代的一年,IBM公司的研究员E.F.Codd 发表了业界第一...

    [详细完整版]关系数据库.pptx

    1970年,"关系数据库之父"埃德加·弗兰克·科德(Edgar Frank Codd或E. F. Codd)发表了题为"大型共享数据库的关系模型"的论文,文中首次提出了数据库的关系模型。 由于关系模型 简单明了、具有坚实的数学理论基础...

    关系数据库设计(1).doc

    一 Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条...

    关系数据库设计(2).doc

    一 Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条...

    关系数据库设计(3).doc

    Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条规则,...

    商业智能的概念.doc

    OLAP 联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时, Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数 据库进行的简单查询也不能满足用户分析的...

    大数据技术发展.pptx

    关系型数据库之父:E.F.Codd 大数据技术发展全文共36页,当前为第4页。 关系型数据库 1970年,Codd划时代的论文 《用于大型共享数据库的关系数据模型》 关系与关系代数 大数据技术发展全文共36页,当前为第5页。 ...

    asp.net知识库

    ASP.NET 2.0使用Web Part创建应用程序之二(共二) 体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤 NET2.0系列介绍(一).NET 2.0 中Web 应用程序主题的切换 ASP.NET 2.0 中Web 应用程序主题的切换 2.0正式版中...

    OLAP(联机分析处理)。

    联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。 OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。 当今的数据...

    人力资源管理软件(完全免费)

    人力资源管理软件增加退出系统时提示(感谢中秋月) 2008-01-22 人力资源管理软件做了以下改进 人力资源管理软件改进了员工调岗的编辑界面(感谢缺月疏桐) 增加了计件工资的功能,包括工序定义、计件录入和查询...

    计算机二级公共基础知识

    由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各...

    网管教程 从入门到精通软件篇.txt

    FAV:Microsoft Outlook导航条 FAX:传真类型图像 FCD:虚拟CD-ROM FDF:Adobe Acrobat表单文档文件 FLA:Macromedia Flash电影 FND:Microsoft Explorer保存的搜索文件(Find applet) FON:系统字体 FRT:...

    二十三种设计模式【PDF版】

    关于本站“设计模式” Java 提供了丰富的 API,同时又有强大的数据库系统作底层支持,那么我们的编程似乎变成了类似积木的简单"拼凑"和调用, 甚至有人提倡"蓝领程序员",这些都是对现代编程技术的不了解所至. 在...

    XML高级编程

    XML工具还深入到了主要的关系型数据库管理系统,以及Web和应用程序服务器当中。如果本书没有涉及到你的平台,学习XML的基础并掌握例子中所包含的技术,就能够把学到的经验应用到任何普通的计算平台上。本书的组织...

    软件工程-理论与实践(许家珆)习题答案

    它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。 需求分析的基本任务包括: (1) 抽取需求 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法...

Global site tag (gtag.js) - Google Analytics