O/R 实体关系映射

转载 2006年06月04日 20:15:00
O/R
当程序员在开发一个应用程序时,总是会处理一些数据,在很多情况下,你会想用某种方法来存储它们。有很多方法能够实现,例如纯文本文件,XML文件输入到数据库,甚至可以是一些外来的数据容器。但如果是处理需要高性能高可靠性查询的数据,那就一定要使用关系型数据库(例如Oracle,SQL Server)。
另一方面,我们还要考虑到应用程序开发所使用的编程语言。如今的语言通常都是面向对象的,就如.Net Framework中使用的语言,例如VB .Net,C#等等。在这些面向对象的语言中,很有可能建立现实的构造和程序构造的映射。在IT工程的分析阶段,可能会产生一个面向对象的模型,例如一个类图。所有在真实世界中我们想要处理的数据,都对应面向对象模型中一个或多个类。每一个项的特性,转换成一个特定类的属性(例如,Customer类的Name属性)。上面提到的面向对象模型,在VB .Net,C#或别的含有面向对象特征的语言中,可以实现,结果就是类集被实例化为对象。例如,你创建了一个Customer类的实例,并把这个对象的Name属性设置为“John Doe”,这样你就有了一个代表真实世界中的John Doe的Customer对象。
这些对象是存储在内存中的,所以如果应用程序退出或计算机关闭,这些对象就消失了。在大多数情况下,你大概想把这些对象存储在某个地方,使数据不会消失,例如存放在硬盘上。在.Net Framework中使用XMLSerializer和XMLWriter结合就能很容易的实现。具体做法是:把对象序列化为XML,然后将XML写到硬盘上。这个工作对存储数据来说很伟大,哪怕是复杂的对象树,也可以被序列化,然后从XML反序列化,重新成为对象。但如果你将大量数据存储在XML文件中,查询数据将会变得非常慢。例如,你想要在1000个序列化的对象池中找到John Doe顾客,你需要一个一个的读取,直到找到需要的对象。如果你需要高性能的查询大量的数据,在大多数情况下你就要使用关系性数据管理系统(RDMS),例如微软的SQL Server。在这样的系统中,数据存放在索引表中,互相都有联系;于是高性能复杂查询成为了可能。所以我们再一次需要将一个模型映射到另一个模型,这一次是一个面向对象模型映射到一个关系模型。这样做了之后,在我们的编程环境下使用对象模型,以及将真实数据存入一个关系数据库,成为了可能。这就是O/R Mapping系统(对象/关系映射系统)可以发挥作用的地方。一个O/R Mapping系统位于面向对象模型和关系模型之间,于是,它把对象转换成了关系型数据。
 
表一显示了各自承担的角色:
 
真实世界
面向对象模型
关系模型
数据定义
数据显示
真实对象
对象
纪录
保存方式
内存
物理磁盘
优点
容易使用,映射真实世界的对象
持续保存对象,可以进行高性能和复杂查询
缺点
非持续性
不能映射真实对象,对真实对象是一种技术性的表现
表一
推荐学习文档
 
 
 
参考网址
 

O/R 实体关系映射

http://blog.51alley.com/blog/more.asp?name=wolfpzp&id=1160
  • denniswlin
  • denniswlin
  • 2005年11月20日 10:04
  • 469

O/R Mapping中对象关系映射解决方案汇总

对于一个ORM方案时,为了提供用户对具体映射方案的细颗粒度的控制的可能,特别对于企业级应用,应该是用户选择是否使用该产品比较重要的因素之一,需要尽可能多的实现各种可选的常用映射方案,本文的目的就...
  • teddyma
  • teddyma
  • 2005年07月21日 13:45
  • 224

O/R 实体关系映射(转载)

介绍什么是O/R 实体关系映射。当程序员在开发一个应用程序时,总是会处理一些数据,在很多情况下,你会想用某种方法来存储它们。有很多方法能够实现,例如纯文本文件,XML文件输入到数据库,甚至可以是一些外...
  • yiyo2025
  • yiyo2025
  • 2005年08月27日 16:14
  • 863

[专题]O/R 实体关系映射

当程序员在开发一个应用程序时,总是会处理一些数据,在很多情况下,你会想用某种方法来存储它们。有很多方法能够实现,例如纯文本文件,XML文件输入到数据库,甚至可以是一些外来的数据容器。但如果是处理需要高...
  • zhiyang202
  • zhiyang202
  • 2005年07月19日 16:01
  • 1253

【SSH】Hibernate:O/R实体映射与一对一关联

实体映射 O/R映射是ORM框架中最为关键的组成部分了。其中的实体映射介绍hibernate中类和表之间的映射属性字段的基本技术   问题:数据库中有一个表【T_User】,其中字段有【ID】、【na...
  • mengdonghui123456
  • mengdonghui123456
  • 2016年05月16日 18:04
  • 1241

对象关系映射

作者:林学鹏ORM的全称是Object Relational Mapping,即对象关系映射。它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriente...
  • yangdelong
  • yangdelong
  • 2007年04月20日 19:51
  • 7098

JPA实体关系映射

1、       实体关系映射 实体关系是指实体与实体之间的关系,从方向上分为单向关联和双向关联,从实体数量上分为一对一、一对多、多对多等。对于任何两个实体,都要从这两个方面区分它们之间的关系。 单向...
  • sunshuolei
  • sunshuolei
  • 2015年08月27日 18:09
  • 2633

ORM-对象关系映射

对象关系映射(Object Relational Mapping,简称ORM)是为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着...
  • u014696474
  • u014696474
  • 2015年12月13日 13:03
  • 2214

实体关系映射(一对多@OneToMany)

一对多模型(单向) 说明: 一个客户对应多个地址,通过客户可以获得该客户的多个地址的信息。客户和地址是一对多的关系,并且客户与地址是单向关联的关系。映射策略外键关联:两个表的关系定义在一个表中; 表...
  • u013036792
  • u013036792
  • 2017年06月07日 18:16
  • 262

(理解)ORM对象-关系映射

对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应...
  • liutianshx2012
  • liutianshx2012
  • 2014年12月14日 01:30
  • 411
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:O/R 实体关系映射
举报原因:
原因补充:

(最多只允许输入30个字)