补充一下:第一个数据库的头衔并不能戴在IBM System R上,它只是第一个广为人知的关系数据库模型。在关系模型之前,也会有其他的模型。1966年IBM就开启了一个数据库项目:IBM Information Management System,简称IMS。IMS用的是一个层次模型。和关系模型里面完全摊平的表结构不一样,层次模型里面的数据有层次的概念。某种程度上来说,你可以理解为比较像类似今天MongoDB这样的文档数据库,或者某种形态的图数据库。这个简称为IMS的系统1968年发行了第一个版本。大企业蜂拥而至。卖的不是一般的好。而且奇迹一般的,到今天还有很多的客户跑在IMS上,这个古董堪称生命力顽强。
然后此时要提到一个关键人物:Edgar Frank Codd,英格兰人,早年学习数学和化学。二战时候是飞行员。二战后来到美国给IBM服务。后来因为美国麦卡锡风潮辗转去了加拿大。之后又回美国IBM工作,顺便去密西根大学拿了一个PhD。Edgar Codd的PhD做的是冯诺依曼架构计算模型的扩展,非常的理论。1970年在加州圣何塞硅谷实验室里工作的他公开发表了一篇论文:A Relational Model of Data for Large Shared Data Banks。翻译成中文就是一个为大容量共享数据银行设计的数据的关系模型,提出了数据的关系模型,也就是著名的关系代数。
Edgar Codd最初提出关系模型的时候,他以为好日子很快就要到来了。但是IBM并不是很愿意去实现这个模型,IBM对Edgar Frank Codd的关系模型的态度很暧昧:不拒绝,不反对,但是也不给钱做系统。现在回头去看究其原因是怕影响了自己已经有的IMS这个层次模型数据库的钱。
但是,Codd也是一个非常顽强的人,他就去找IBM的大客户,给大客户们洗脑说关系数据库才是未来,层次是过去。大客户们被洗的都信了关系代数神教以后就回头找IBM,说赶紧给爸爸们做一个关系数据库出来。IBM不怕Codd,但是经不住客户金主爸爸们反复要求,就在自己的Future System里加了一个新的研究对象:System R。Future System项目是IBM1970年前后开展的一个大型研究项目,为的是开发出革命性的新软件和硬件——从名字就可以看出这东西本质是想做一个“系统”,而不是现在意义上的“数据库软件”。当时如日中天的IBM可谓浩浩荡荡的撒钱。System R团队成立于1973年。里面包括了后来很多在数据库圈里声名显赫的人,包括后来的图灵奖获得者Jim Gray。当然,也不知道IBM怎么想的,IBM把System R团队和Codd给隔离开来了。
可以看出直到现在IBM还是看关系模型不顺眼,但是很快的,加州伯克利大学的Ingres(这就是后来著名的PostgreSQL的前身),以及甲骨文在1978年开始入场。IBM这才发现大势所(不)趋(妙),加快研发速度搞出了DB2,随后Ingres商业化,甲骨文发布oracle加入竞争。关系数据库至此广泛的出现在大众视野面前
展开