三、关系数据库地位固若磐石,对象数据库只不过昙花一现
关系型数据库供应商已经积聚了巨大的动力,并占领了大量市场份额。在标准的SQL接口下,访问关系型数据库的面向对象程序很容易写。相反,多数早期的对象数据完全不提供SQL接口,不适合任何查询应用程序。结果,对象数据库在商业上没有建立坚实的基础。他们在应用领域只创建了一个小市场来管理和存储复杂对象如CAD/CAM,电信业、多媒体、人工智能,模拟金融设备、病人诊治跟踪系统以及科学应用。
关系数据库的地位是不容震撼的,对象数据库只不过是昙花一现而已。具体理由如下:
1 关系数据库关系系统运行很好,它们具有很高的鲁棒性,效率很高,很安全。
2 关系数据库普遍存在,已经称为了一种标准了。
3 将现存的关系数据库系统变为对象数据库将是一个很大的工程,非常耗费成本,并且还没有多大的收益,只不过能让一帮对象对象程序设计的开发者高兴而已。
4 关系数据库系统和标准的SQL一样,很容易学,并且很容易理解。
5 好的面向对象设计的确会带来很大的便利,但是,它们存在一个很陡峭的学习曲线,需要花费几个月的时间,只有核心的程序员才能真正掌握。市面上有许多的面向对象设计的程序开发设计的书本,但是关于对象数据库的书却寥寥无几。
6 关系数据库使用的范围很广泛,几乎到处都能看到,编程语言几乎都能使用它。
7 对对象数据库呼声最高的就是那些喜欢用面向对象设计的开发者,认为面向对象是解决一切问题的真理。另外,还包括高智商,专家们背后推动面向对象数据库的发展。
8 关系数据库模式很好,能和许多的开发语言兼容,经过时间的检验,现在已经很成熟了。如果你没有什么大的缺陷,就不要去抛弃它。
9 面向对象的程序设计,和其它的面向对象语言现在是非常的火。但是,它们就不会持续的很久。因此,当IT行业转移到使用其它的语言的时候,目前的面向对象数据库也将很快的被舍弃了。同时,关系数据库将继续运行,到处能看到它的身影,满足所有人的需求。
10 关系模型是建立在数学的基础上的,对象数据库只是一个抽象的概念,数据从某种原因上说和代码绑定在一起,受到代码的控制。这就它致命的死穴。
11 数学理论提供了通用的符号集和集合运算规则让你实现和使用。一旦你理解了集合和集合操作,将这些应用到具体的关系型数据库就很简单了。面向对象程序设计就没有这样的类比基础了。我们可以类比就只有设计模式了,这说明不了什么。我认为这就是框架如此流行的原因:一些人说:“如果你想完成一件事情,找这么做就行了。”接着他们给一些工具,让你完成这件事情很容易。它简化了分析,提供一些工具让人们去构建。