oracle8.0是一个对象关系数据库,由于它非纯面向对象数据库也非纯关系数据库,代表两者的组合。
以下理由可以使大家置信面向对象的方法将成为主流
1:面向对象数据库对用户当前的关系数据库是向下兼容的,由于用户可以把当前关系数据库和使用移植到oracle8i中而不用重写。
2:如今的对象数据库支持sql数据库标准的特定查询,企业界过去迅速接受关系数据库的缘由之一就是可以创建特别的查询的能力。如今对象数据库曾经提供应标准sql工具接口了。意味着可以轻松地从关系数据库过渡到对象数据库。
3:面向对象与关系表达的结合在oracle8i中是语义清晰的,比单独的关系或面向对象的表达愈加无力得多。这使设计紧凑无效的数据库愈加容易。
4:对象关系数据库是一个能存数据、数据间的关系以及数据的行为(即它与其他数据互相作用的方式)的数据库。它不只是停留在处理数据这一低级的层次上,而且上升四处理包裹着数据的对象的层次。
以下将学习面向对象的基本概念,不过会偏向于面向数据库的对象:
对象(object):是理想世界实体的软件表示,由属性和操作组成。
类(class):可以把互相间的行为和属性类似的多个对象归成类。类即为对象的模板。对象为类包含了血肉的实体。
封装(encapsulation):指数据绑定与特定的对象中,使它的访问仅能通过该对象提供或接受的动作来进行(这样能避免非法的访问)。封装意味着数据库中每个对象都具有清晰的定义良好的接口。
数据触发器(database trigger):关系数据库具有的一种封装方式,但是它不具备成为提供封装功用的工具的能力,由于用过多的数据库触发器将降低整个数据库的功用。
可扩充性(extensibility):是面向对象数据库添加新对象及其行为而不会影响其他对象和使用的一种能力。
承继(inheritance):一种代码共享的方式。子类可以拥有父类的数据和行为。它是创建对象新类作为已有类的特殊化的一种能力。
多态(polymorphism):它是对象对相反音讯做出不同反应的功用。同一对象基于提供的信息做出不同的反应,并且能理解输入信息的上下文。