第15章面向对象数据库及对象关系数据库精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
只有版本问题解决得好,长事务的处理才有希望。
面向对象基本概念
面向对象模型
一个对象对应着E-R模型中的一个实体。 对象:结构+行为的封装单元。
面向对象基本概念
对象结构
变量:包含该对象数据,相当于E-R模型中的 属性。
消息:当欲查询对象、激活对象、请求对象时, 向对象发送消息,对象对此做出响应。消息可 以有零个或多个参数。
string address;
int
salary;
/*消息*/
int annual-salary();
string get-name();
string get-address();
}
面向对象基本概念
继承
有些类与类之间具有相似性,具有相同的变量和 消息。 如student有属性name和age,teacher也有属性 name和age。
annual-salary消息来查询年薪数额。将该消息实现为 一个方法,不同职工(经理、普通职工)年薪计算方 法不同,但提供的外部接口是一致的。从而对象内部 方法的改变不会影响到系统的其它成分。
面向对象基本概念
实体的每一个属性对应着对象中的一个变量和一 对消息,其中一个用来读取消息,另一个用来更 新消息。 如职工有属性address,可以表示为: •一个address变量 •一个get-address消息 •一个set-address消息
每个student 都是一个person,因此student 是 person的一个特殊化。
创建类person,student,teacher,其中student 与teacher的共性被抽象为类person。
继承类似于E-R中的特殊化。
面向对象基本概念
类层次可以可以用特殊化(ISA)来表示 person
date start-date; int salary; }; class officer isa employee { int officer-number; string expense-account-number; };
新的应用需要灵活的类型机制,DBMS应该能够 支持用户定义适合自己应用的数据类型。
类型:数据抽象的一种方式,是一组值的集合以 及在这组值上的操作。
RDBMS的局限
类型系统的任务
提供一组内在的数据类型 如整数、字符等。
提供定义新的数据类型的手段 数组:聚合同类型数据。 结构:聚合不同类型数据。
原子字段(Atomic Field):字段内部不再有其它 结构,字段具有原子性(1NF)。
新的数据库应用
新的数据库应用
CAD(Computer-aided Desig)
CAD数据依附于某项工程,不但要记录单个组件的数 据项,还要记录各组件之间的相互联系(构成,位 置),以及在设计各阶段数据的不同版本。
面向对象基本概念
对象类
许多相似的对象被分组形成一个类;每个这样的 对象称为类的一个实例。
一个类中的所有对象有相同的
变量类型 消息接口 方法
对象和类是型与值的区别。 类类似于E-R模型中的实体集。
面向对象基本概念
类定义实例
ຫໍສະໝຸດ Baidu
class employee {
/*变量*/
string name;
类型检查 int x,y x = 10; y = x+’Tom’
RDBMS的局限
结构与行为的分离
RDB中存储的只是实体的数据,而实体的行为则 交由应用程序来编码实现。
现实世界中的实体除了数据结构之外,同时还有 其自身的行为。 如学生应该具有选课的行为。
实体的行为也是实体的属性,应当同实体紧密结 合,由应用来维护是不适合的。
ISA
customer
employee
ISA
officer 子类继承父类的属性
teller secretary
面向对象基本概念
类层次定义
class person { string name; string address;
}; class customer isa person {
int credit-rating; }; class employee isa person {
RDB的基本结构是二维表,是一种平面结构,无 法表达嵌套的信息结构。
在CAD等系统中,嵌套大量存在,如机器由很多 部件构成,每个部件又由多个零件构成。
嵌套的平面化可以通过模式分解和连接运算实现。 连接在关系数据库中是十分低效的运算。 XML的存储组织。
RDBMS的局限
类型有限
RDB的类型是系统内置的,用户只能使用固定的 几种。
RDBMS的局限
版本与长事务
多版本支持
有些应用如CAD、CASE,需要表示单个实体的多个不 同时期的版本,以便进行比较和重新设计。要求 DBMS能够支持数据的多个版本,并建立自然、方便 的管理机制。目前的RDBMS没有哪一个能够支持。
长事务
当前的有些应用需要锁住某些数据一整天甚或几个星 期,以便进行复杂的设计。这与传统的短事务(数秒 或数分钟内提交)有很大不同。传统的事务管理机制 已不再适合这种要求,需要新的数据一致性维护机制。
CASE(Computer-Aided Software Engineering)
Multimedia Database
新的数据库应用
新的数据特征
大数据项
以兆计的一个数据项。
结构复杂
程序模块、图形、图象、文档、数字媒体流。
操作特殊
编译、旋转、播放、排版。
RDBMS的局限
表达能力有限
DBMS有哪些不足?
代价高 性能低
如何取舍?
新的数据库应用
传统的数据特征
统一性(Uniformity):数据的结构相似。一个 表中所有元组都具有相同的属性列。
面向记录(Record Orientation):数据项由固 定长度的记录组成。
小数据项(Small data Items):每条记录都很 短。
方法:实现一个消息的代码段;一个方法返回 一个值作为对消息的响应。
对象的物理表示只对对象的实现者是可见的。 消息和方法提供了从外部访问对象的唯一途径。
面向对象基本概念
消息和方法
消息并不意味着物理信号的传递,它指的是对象 间请求的传递。可以将消息作为一个过程来实现。
方法是一段代码,其中
只有对象自己的变量才能直接引用。 其它对象的数据只能通过发送消息来引用。 方法可以分为只读和更新两种。 示例:职工对象有年薪变量,可以通过向其发送
面向对象基本概念
面向对象模型
一个对象对应着E-R模型中的一个实体。 对象:结构+行为的封装单元。
面向对象基本概念
对象结构
变量:包含该对象数据,相当于E-R模型中的 属性。
消息:当欲查询对象、激活对象、请求对象时, 向对象发送消息,对象对此做出响应。消息可 以有零个或多个参数。
string address;
int
salary;
/*消息*/
int annual-salary();
string get-name();
string get-address();
}
面向对象基本概念
继承
有些类与类之间具有相似性,具有相同的变量和 消息。 如student有属性name和age,teacher也有属性 name和age。
annual-salary消息来查询年薪数额。将该消息实现为 一个方法,不同职工(经理、普通职工)年薪计算方 法不同,但提供的外部接口是一致的。从而对象内部 方法的改变不会影响到系统的其它成分。
面向对象基本概念
实体的每一个属性对应着对象中的一个变量和一 对消息,其中一个用来读取消息,另一个用来更 新消息。 如职工有属性address,可以表示为: •一个address变量 •一个get-address消息 •一个set-address消息
每个student 都是一个person,因此student 是 person的一个特殊化。
创建类person,student,teacher,其中student 与teacher的共性被抽象为类person。
继承类似于E-R中的特殊化。
面向对象基本概念
类层次可以可以用特殊化(ISA)来表示 person
date start-date; int salary; }; class officer isa employee { int officer-number; string expense-account-number; };
新的应用需要灵活的类型机制,DBMS应该能够 支持用户定义适合自己应用的数据类型。
类型:数据抽象的一种方式,是一组值的集合以 及在这组值上的操作。
RDBMS的局限
类型系统的任务
提供一组内在的数据类型 如整数、字符等。
提供定义新的数据类型的手段 数组:聚合同类型数据。 结构:聚合不同类型数据。
原子字段(Atomic Field):字段内部不再有其它 结构,字段具有原子性(1NF)。
新的数据库应用
新的数据库应用
CAD(Computer-aided Desig)
CAD数据依附于某项工程,不但要记录单个组件的数 据项,还要记录各组件之间的相互联系(构成,位 置),以及在设计各阶段数据的不同版本。
面向对象基本概念
对象类
许多相似的对象被分组形成一个类;每个这样的 对象称为类的一个实例。
一个类中的所有对象有相同的
变量类型 消息接口 方法
对象和类是型与值的区别。 类类似于E-R模型中的实体集。
面向对象基本概念
类定义实例
ຫໍສະໝຸດ Baidu
class employee {
/*变量*/
string name;
类型检查 int x,y x = 10; y = x+’Tom’
RDBMS的局限
结构与行为的分离
RDB中存储的只是实体的数据,而实体的行为则 交由应用程序来编码实现。
现实世界中的实体除了数据结构之外,同时还有 其自身的行为。 如学生应该具有选课的行为。
实体的行为也是实体的属性,应当同实体紧密结 合,由应用来维护是不适合的。
ISA
customer
employee
ISA
officer 子类继承父类的属性
teller secretary
面向对象基本概念
类层次定义
class person { string name; string address;
}; class customer isa person {
int credit-rating; }; class employee isa person {
RDB的基本结构是二维表,是一种平面结构,无 法表达嵌套的信息结构。
在CAD等系统中,嵌套大量存在,如机器由很多 部件构成,每个部件又由多个零件构成。
嵌套的平面化可以通过模式分解和连接运算实现。 连接在关系数据库中是十分低效的运算。 XML的存储组织。
RDBMS的局限
类型有限
RDB的类型是系统内置的,用户只能使用固定的 几种。
RDBMS的局限
版本与长事务
多版本支持
有些应用如CAD、CASE,需要表示单个实体的多个不 同时期的版本,以便进行比较和重新设计。要求 DBMS能够支持数据的多个版本,并建立自然、方便 的管理机制。目前的RDBMS没有哪一个能够支持。
长事务
当前的有些应用需要锁住某些数据一整天甚或几个星 期,以便进行复杂的设计。这与传统的短事务(数秒 或数分钟内提交)有很大不同。传统的事务管理机制 已不再适合这种要求,需要新的数据一致性维护机制。
CASE(Computer-Aided Software Engineering)
Multimedia Database
新的数据库应用
新的数据特征
大数据项
以兆计的一个数据项。
结构复杂
程序模块、图形、图象、文档、数字媒体流。
操作特殊
编译、旋转、播放、排版。
RDBMS的局限
表达能力有限
DBMS有哪些不足?
代价高 性能低
如何取舍?
新的数据库应用
传统的数据特征
统一性(Uniformity):数据的结构相似。一个 表中所有元组都具有相同的属性列。
面向记录(Record Orientation):数据项由固 定长度的记录组成。
小数据项(Small data Items):每条记录都很 短。
方法:实现一个消息的代码段;一个方法返回 一个值作为对消息的响应。
对象的物理表示只对对象的实现者是可见的。 消息和方法提供了从外部访问对象的唯一途径。
面向对象基本概念
消息和方法
消息并不意味着物理信号的传递,它指的是对象 间请求的传递。可以将消息作为一个过程来实现。
方法是一段代码,其中
只有对象自己的变量才能直接引用。 其它对象的数据只能通过发送消息来引用。 方法可以分为只读和更新两种。 示例:职工对象有年薪变量,可以通过向其发送