这是数据库之父对实现关系型数据库管理系统的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
分享到:
相关推荐
Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条规则,...
1968:IBM 在 IBM 360计算机上研制成功了IMS V1,这是第一个也是最著名的和最为典型的层次型数据库管理系统。至今仍然还有企业在使用。1970: 这是数据库历史上划时代的一年,IBM公司的研究员E.F.Codd 发表了业界第一...
1970年,"关系数据库之父"埃德加·弗兰克·科德(Edgar Frank Codd或E. F. Codd)发表了题为"大型共享数据库的关系模型"的论文,文中首次提出了数据库的关系模型。 由于关系模型 简单明了、具有坚实的数学理论基础...
一 Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条...
一 Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条...
Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为"关系数据库之父",并因为在数据库管理系统的理 论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条规则,...
OLAP 联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时, Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数 据库进行的简单查询也不能满足用户分析的...
关系型数据库之父:E.F.Codd 大数据技术发展全文共36页,当前为第4页。 关系型数据库 1970年,Codd划时代的论文 《用于大型共享数据库的关系数据模型》 关系与关系代数 大数据技术发展全文共36页,当前为第5页。 ...
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) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。 OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。 当今的数据...
人力资源管理软件增加退出系统时提示(感谢中秋月) 2008-01-22 人力资源管理软件做了以下改进 人力资源管理软件改进了员工调岗的编辑界面(感谢缺月疏桐) 增加了计件工资的功能,包括工序定义、计件录入和查询...
由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各...
FAV:Microsoft Outlook导航条 FAX:传真类型图像 FCD:虚拟CD-ROM FDF:Adobe Acrobat表单文档文件 FLA:Macromedia Flash电影 FND:Microsoft Explorer保存的搜索文件(Find applet) FON:系统字体 FRT:...
关于本站“设计模式” Java 提供了丰富的 API,同时又有强大的数据库系统作底层支持,那么我们的编程似乎变成了类似积木的简单"拼凑"和调用, 甚至有人提倡"蓝领程序员",这些都是对现代编程技术的不了解所至. 在...
XML工具还深入到了主要的关系型数据库管理系统,以及Web和应用程序服务器当中。如果本书没有涉及到你的平台,学习XML的基础并掌握例子中所包含的技术,就能够把学到的经验应用到任何普通的计算平台上。本书的组织...
它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。 需求分析的基本任务包括: (1) 抽取需求 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法...