对象关联映射模型,其实是将数据表关系,然后映射成对象关系。
概括的来说:
第一,数据库的表结构映射成面向对象中的类
第二,是数据表中的记录映射成面向对象中的对象。
第三,数据表之间的关系,映射成对象之间的关系模型。
那么为什么会有对象关联映射这种思想呢?
因为目前还没有,面向对象的数据库。
那么,为了解决这个问题,就产生了这种对象关联映射,这种思想将数据库中的实体,把它抽象成类的属性, 然后再次基础上添加行为,也就是说,将数据库中的实体,封装成类。
于是呢,对于数据库的操作就做完成了对对象的操作。这样就可以,应用和发挥面向对象思想的优势。
其实这种思想是在很多地方都能用到的,其实也准确的说不应该说自己有脑就是在很多场景下都有出现,比如说,数据库系统,还有三层模式和两层映射。
三层模式分别是内模式和外模式和概念模式。内模式其实就是定义数据存储的结构,比如,哈希表算法存储呢,还是链接存储呢, 还是顺序存储呢。
从此可以看出每个模式其实是对信息的隐藏和封装,内模式就是隐藏他对数据的存储细节概念,也就是逻辑模式对应于概念级,它是由数据库设计者,综合所有用户的数据按照统一的观点构造的的全局逻辑结构,是对数据库中的全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图,全局视图,而且他是用ddl语言来描述的。因为它可以用ddl描述表的结构表的逻辑结构以及数据项的结构,范围和类型,再换句话说,它是通过,总结和应用,需要的,所有的数据的特征,来决定的结构,它保存着,数据库的全局视图。
最后再来说一下,外模式。
外模式,其实描述的是局部视图,其实也可以这么说,在一种说法来看,外模式,其实是提供对全局视图的不同角度的观测,每个不同的角色观测到的东西是不一样的,其实也就是对权限的控制。
两层映射指的就是,内模式与概念模式之间的映射关系,还有概念模式与外模式之间的应收关系,这两个因素,关系的存在是为了应对变化。
而对象关联映射就有些不同,他是为了模拟面向对象,其实就是分装数据库提供面向对象的操作方法。
让程序人员可以以面向对象的思想来操作数据,这样可以处理更加复杂的业务逻辑,还有一个,第二个好处,因为是以面向对象的思维去处理业务逻辑,所以会使得它的维护性高,可以的,使各种设计模式,来应对变化,节省,维护的成本。