对象数据库与关系数据库,数据库有哪几种?( 二 )


5、面向对象的数据库
使用面向对象编程语言创建的项通常存储在关系数据库中,但是面向对象数据库非常适合于这些项 。
面向对象的数据库是围绕对象(而不是操作)和数据(而不是逻辑)组织的 。例如,关系数据库中的多媒体记录可以是可定义的数据对象,而不是字母数字值 。
6、图形数据库
面向图形的数据库是一种NoSQL数据库,它使用图形理论存储、映射和查询关系 。图数据库基本上是节点和边的集合,其中每个节点表示一个实体,每个边表示节点之间的连接 。
图形数据库在分析互连方面越来越受欢迎 。例如,公司可以使用图形数据库从社交媒体中挖掘关于客户的数据 。
Q4:面向对象数据库有哪些面向对象的数据库是一种数据库的模式
数据库中的表,字段和内容都当成对象来处理
换言之,可以使用对象的属性和方法
以paradox为例
如果sql语句为select
*
from
a
where
b=:b
那么在delphi中可以操作参数b

paramaters.paramvalue['b']:=x;
此时就相当于使用了对象
现在比较流行的面向对象的数据库是oracle
Q5:数据库有哪几种常用数据库有:
1、关系型数据库
关系型数据库是由IBM的E.F. Codd于1970年发明的,它是一个表格数据库,其中定义了数据,因此可以以多种不同的方式对其进行重组和访问 。关系数据库由一组表组成,其中的数据属于预定义的类别 。每个表在一个列中至少有一个数据类别,并且每一行对于列中定义的类别都有一个特定的数据实例 。
2、分布式数据库
分布式数据库是一种数据库,数据库存储在多个物理位置,处理在网络中的不同点之间分散或复制 。分布式数据库可以是同构的,也可以是异构的 。同构分布式数据库系统中的所有物理位置都具有相同的底层硬件,并运行相同的操作系统和数据库应用程序 。异构分布式数据库中的硬件、操作系统或数据库应用程序在每个位置上可能是不同的 。
3、云数据库
云数据库是针对虚拟化环境优化或构建的数据库 。云数据库提供了一些好处,比如可以按每次使用支付存储容量和带宽的费用,还可以根据需要提供可伸缩性和高可用性 。云数据库还为企业提供了在软件即服务部署中支持业务应用程序的机会 。
4、NoSQL数据库
NoSQL数据库对于大型分布式数据集非常有用 。NoSQL数据库对于关系数据库无法解决的大数据性能问题非常有效 。当组织必须分析大量非结构化数据或存储在云中多个虚拟服务器上的数据时,它们是最有效的 。
5、面向对象的数据库
使用面向对象编程语言创建的项通常存储在关系数据库中,但是面向对象数据库非常适合于这些项 。面向对象的数据库是围绕对象(而不是操作)和数据(而不是逻辑)组织的 。例如,关系数据库中的多媒体记录可以是可定义的数据对象,而不是字母数字值 。
6、图形数据库
面向图形的数据库是一种NoSQL数据库,它使用图形理论存储、映射和查询关系 。图数据库基本上是节点和边的集合,其中每个节点表示一个实体,每个边表示节点之间的连接 。
Q6:“面向对象数据库”和“关系数据库”的区别是什么?以关系数据库为例,SQL语言是一种非过程化的面向集合的语言,它虽然用起来非常简单,但由于是解释实现,效率不如人意 。因此许多应用仍然是由高级程序设计语言(如C)来实现的,但是高级程序设计语言是过程化的,而且是面向单个数据的,这使得SQL与它之间存在着不匹配,我们把它叫做“阻抗失配” 。不论你是用嵌入式SQL,还是CLI,都需要化很多工夫去完成两种语言之间的相互转化 。但是关系数据库在数据库系统方面发展地非常完善,有强大的管理功能和可操纵性 。另外,关系模型具有坚实的数学基础 。\x0d\x0a\x0d\x0a面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接 。什么叫无缝连接,假设你 不用数据库,用C语言编了一个程序,你可以不需要(或基本不需要)任何改动就将它作用于数据库,即你可以用C语言透明访问数据库,就好象数据库根本不存在一样,所以也有人把面向对象数据库理解为语言的持久化 。怎么样,听起来挺玄的吧,可是我们自己开发的数据库系统——OSCAR早就做到了这一点 。由于实现了无缝连接,使得面向对象数据库能够支持非常复杂的数据模型,从而特别适用于工程设计领域 。打个比方,想象CAD中的一个复杂部件,它可能由成千上万个不同的零件组成,要是用关系模型中的表来表达,得用多少张表啊?而描述这种复杂的部件,正好是高级程序设计语言的强项 。\x0d\x0a\x0d\x0a此外,面向对象数据库还吸收了面向对象程序设计语言的思想,如支持类、方法、继承等概念 。面向对象数据库很好地解决了阻抗失配的问题,但它也有缺点 。它的缺点正好是关系数据库的强项,由于模型较为复杂(而且缺乏数学基础),使得很多系统管理功能难以实现(如权限管理),也不具备SQL处理集合数据的强大能力 。\x0d\x0a\x0d\x0a另一方面,随着多媒体数据的大量出现和应用的日益复杂,关系数据库也在不断吸收面向对象数据库的优点,出现了现在所谓的对象关系型数据库(象ORACLE8i、DB2-5以上都是这种系统) 。其主要改进包括支持自定义类型(UDT),方法,继承(目前仅DB2-6支持),和引用(使得对象间可以直接引用,想想原来的关系数据库需要靠连接来实现引用,性能真是惨不忍睹) 。总之,数据库系统发展的趋势是,面向对象数据库和关系数据库将不断融合 。而对象关系数据库由于继承了上述两者的优点,已经成为目前数据库发展的主流 。


推荐阅读