RDBMS和ORDBMS之间的区别 [英] Difference between RDBMS and ORDBMS

查看:591
本文介绍了RDBMS和ORDBMS之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在PostgreSQL的


It happened to me when I was reading about PostgreSQL on its wiki page where it refers to itself as an ORDBMS. I always knew about Microsoft SQL Server which is an RDBM system. Can someone help me understand the main differences between Relational Database Management System(RDBMS) and Object Relational Database Management System (ORDBMS) and in what scenarios should I use one of them?

Also, my key question is related to the fact that in the world of Microsoft SQL Server we often use a layer of Entity Framework (EF) to do the object relational mapping on the application side. So, in ORDBMS world are all the responsibilities of an ORM already fulfilled by the database itself in entirety or there could be use cases or scenarios where I would end up using an ORM like Entity Framework on top of ORDBMS as well? Do people really even use ORMs on top of an ORDBMS system?

解决方案

Most database players don't support it, or don't support it exclusively. It is complex, and not used broadly. Even if "data" is OO in nature, the databases existed decades ago, and they cannot take ORDBMS (or OODBMS). Learning curve also imposes problems.

ORDBMS/OODBMS are like virtual registry view you see in Registry Editor. Contents are tree-styled objects. But internally they might be stored as flat/hierarchical or in relational manner. You really don't care - the APIs provide you the view of registry information.

Similarly, even if major players don't support (and won't support) OO nature of database, they may provide some extensions. Or, you may have to craft your own framework for OO data. A movie database, having actors and directors can be represented using relations (tables). Actors, directors, shooting-locations would also be classes/objects, and can easily be represented using tables, and referential integrity imposed by database/DB designer.

You, as a developer would make this relational nature of data to an object-oriented form having Movie as a class, referencing actors/directors (1:1 or 1:N). I am not aware how/what EE facilitates this, but it would be doing mapping this way only.

Object-Relational Databases

  • Object oriented technology on top of relational technology and in the relational context.
  • Objects are stored in tables of objects rather than in tables of rows.
  • Support of major object oriented features: complex types, inheritance, aggregation, methods
  • Advantage: Extension of a well-known technology
  • Disadvantages: Mixture of both technologies may result in difficult to understand schemas
  • Has Performance problems
  • Object-relational systems include features such as complex object extensibility, encapsulation, inheritance, and better interfaces to OO languages.
  • ORDBMSs allow developers to embed new classes of data objects into the relational data model abstraction (and on top of SQL).

Following diagram shows how data can be accessed.

这篇关于RDBMS和ORDBMS之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆