对象数据库是一种以对象形式表示信息的数据库。对象数据库的数据库管理系统被称为 ODBMS 或 OODBMS。
两个主要原因让用户使用对象数据库技术。首先,关系数据库在管理复杂数据时显得笨重。其次,被应用软件 *** 作的数据一般是用面向对象的编程语言如 C++, Java, Delphi和 C# 写成,而那些用来转化数据表示和关系数据库元组的代码很冗繁,执行时也有不少耗时。
对 ODBMS 和关系 DBMS 的基准测试显示 ODBMS 在某些任务上优势明显。 主要原因是许多 *** 作使用导航式而不是声明式接口, 并且对数据的导航式访问通常可以有指针高效得实现。
对基于导航数据库技术,如ODBMS的批评指出, 基于指针的技术为一些特殊的搜索路径或视点(viewpoint)作了优化。而且,对一般目的的查询,基于指针的技术比关系型要慢并难于形式化。导航式显得适合与特定应用而失了普遍,未来的使用。
ODBMS 的其他技术显得缺失了与SQL世界中大量工具或特性的互 *** 作性包括但不限于产业标准互联性,报告工具, OLAP 工具以及备份和恢复标准。 另外,不像关系数据库,对象数据库缺少形式化的数学基础,而这反过来导致他们在查询支持上的弱势。 不过,这一缺陷被部分弥补,因为一些 ODBMS 除了 导航式访问外也提供了对 SQL 的完全支持,如 Objectivity/SQL++。
事实上,在概念封装即隐藏数据使他只能通过公布的一些接口访问 和关系数据库技术假定数据只能由基于数据内容的查询而不是预定义的查询路径的形式访问之间存在着本质的张力。数据库中心论倾向于用声明和属性驱动的观点看世界, 而面向对象倾向于从行为的观点看世界。这就是 围绕着OOP和数据库的许多 impedance mismatch 问题之一。
面向对象程序设计语言传统的关系数据库SQL语言,面向对象程序设计语言传统的关系数据库SQL语言。根据从相关公开资料,面向对象的数据库系已成为当今数据库领域研究和发展的主要方向之一。数据库技术与面向对象技术相结合已成为当前数据库技术研究、应用和发展的一个重要方向。
关系模型、面向对象模型、xml模型的区别:
关系模型:
数据定义:在用户的观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。在关系模型中,关系必须是规范化的,就是说关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。
数据 *** 纵:关系模型中数据 *** 纵是集合 *** 作, *** 作的对象和 *** 作结果都是关系,即若干元组的集合,而不像非关系模型中那样是单记录的 *** 作方式。另一方面,关系模型把存取路径向用户隐藏起来,提高了数据的独立性,提高了用户生产率。最后,关系模型中数据 *** 作必须满足关系的完整性约束条件。
面向对象模型:
数据定义:在面向对象模型中,数据以类的形式出现,其中类的定义包括类的属性、 *** 作特征、继承性和约束等。
数据 *** 纵:在面向对象模型中,面向对象数据库语言可以 *** 纵类,包括定义、生成类、存取、修改和撤销类等,从而实现对数据的 *** 纵。
xml模型:
数据定义:在xml模型中,是以节点 (元素、属性、备注等)和节点间存在着的相互关系为基础的,以 节点来存储数据。
数据 *** 纵:通过对xml中节点(元素、属性、备注等)的标记进行相关xml格式的 *** 作来实现对xml模型中数据的 *** 作。
以上就是关于c# 面向对象的数据库有哪些全部的内容,包括:c# 面向对象的数据库有哪些、面向对象和数据库技术是如何进行整合的、请从数据库定义,数据库 *** 纵两个方面分别叙述关系模型,XML模型和面向对象模型的异同,并举例之。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)