所在位置:UML新闻 - 内容 论坛精华    
关系数据库四十年和软件工程

[2010/5/12]

1975年,Frederick Brooks把他领Fred Brooks和他的新书“The Design of Design”,Brooks在这本书里面的一段话很有趣,“作为IBM的经理,我所作的最富有创造性的行动和产品开发毫不相干。我把一名前途无量的工程师送到密歇根大学读博士,同时他还可以作为一名全职IBM雇员继续职业生涯。这个行动当时看起来只是一个繁忙的计算机架构经理偶发的人事活动,然而,IBM所获得的回报,远出我的意料之外。”这名工程师就是E. F. Codd,关系数据库之父。

1970年6月,E.F.Codd在“Communications of ACM”上发表了论文"A Relational Model of Data for Large Shared Data Banks",首次提出了关系模型的概念。Codd不但获得了图灵奖,还为IBM带来一条获利颇丰的产品线。关系数据库对于软件业的贡献自然会有许多纪念文章详细介绍,我在这里介绍的是它对于软件工程的贡献。

1976年,Peter Chen在“ACM Transactions on Database Systems”上发表论文“The Entity-Relationship Model-Toward a Unified View of Data”,提出了实体-关系(ER)建模方法,用实体和关系映射现实中的事物和概念。Peter Chen后来回忆,当时Codd并不赞同的观点,还写了一封“单倍行距的巨长信”给ACM的编辑,批评他的文章。不过,随着ER建模方法的广泛传播,Codd也改变了想法,还吸纳了ER模型的一些概念推出了新版本的RM/T模型。

ER建模方法的出现,极大地推动了CASE(计算机辅助软件工程)工具的发展,用ERWin、PowerDesigner等画ER图,是以前许多开发团队仅有的建模手段。另外,各种领域知识开始以ER模型的形式大量积累下来,许多行业组织开始用ER模型来定义组织的标准。我们知道Martin Fowler有一本“Analysis Patterns”,归纳领域中的分析模式,但在这本书之前,David C. Hay已经出版了一本“Data Model Patterns, Conventions of Thought”,这是更早的“分析模式”书籍,Hay书中的模式也比Fowler的要常见。2006年,David C. Hay还出版了续篇“Data Model Patterns: A Metadata Map”,而Martin Fowler后来无暇再顾及分析模式,传说中的“分析模式2”一直没有下文。以ER图来表达领域模型的著作还有Len Silverston的三卷“Data Model Resource Book”,国内翻译了其中的1-2卷。

4月30日,新书“Patterns of Data Modeling”出版,根据介绍,这是一本归纳“数据建模中的各种模式”的书,作者Michael Blaha 曾与UML创始人之一James Rumbaugh合著“Object-Oriented Modeling and Design”。

http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
E. F. Codd在1970年发表的关系模型论文

http://dspace.mit.edu/bitstream/handle/1721.1/47432/entityrelationshx00chen.pdf
Peter Chen在1976年发表的实体-关系模型论文

(UMLChina,不得转载用于商业用途)