(9-)对象数据模型概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
④ 继承 建立超类实际上是一种概括,避免了说明 和存储上的大量冗余。由于超类和子类的分开 表示,所以就需要一种机制,在获取子类对象 的状态和操作时,能自动得到它的超类的状态 和操作。这就是面向对象方法中的模型工具— —继承,它提供了对世界简明而精确的描述, 以利于共享说明和应用的实现。
⑤聚集
聚集是将几个不同特征的对象组合成一个更高水平的复合对 象。每个不同特征的对象是该复合对象的一部分,它们有自己
⑴、面向对象方法中的基本概念
对象:是对客观世界实体的抽象描
述,由信息(数据)和对数据的操 作组合而成。 类:是对多个相似对象共同特性的 描述。 消息:是对象之间通信的手段,用 来指示对象的操作。分公有消息和 私有消息。
方法:是对象接收到消息后应采取
的动作序列的描述。 实例:是由一特定类描述的具体对 象。 元类:是相似的类的共同属性的抽 象,元类的实例是类,类的实例是 对象。
封装的最基本单位是对象。封装技术提高了面向对象
方法开发软件的可重用性,从而大大提高了复杂软件的 开发效率、质量和可靠性,更加易于维护。
②分类
类是关于同类对象的集合,具有相同属性和操作的对象 组合在一起称为类。属于同一类的所有对象共享相同的属
性项和操作方法,每个对象都是这个类的一个实例,即每 个对象可能有不同的属性值。 可以用一个三元组来建立一个类型: Class=(CID,CS,CM)
GIS中的各种地物,在几何性质方面不外乎表 现为四种类型,即点状地物、线状处物、面 状地物以及由它们混合组成的复杂地物,因 而这四种类型可以作为GIS中各种地物类型的 超类。
空间地物
点状地物
线状地物
面状地物
复杂地物
电 视 塔
桥 梁
车 站
道 路
水 管
电 力 线
建 筑 物
公 湖 园
矿 山
大 县 学
⑵ 面向对象数据模型的优点
(1)具有表示和构造复杂对象的能力。
(2)封装性和信息隐蔽技术提供了模块化
机制。 (3)继承和类层次技术提供了重用机制。
小结:
关系数据模型和关系数据库管理系统基
本上适应于 GIS中属性数据的表达与管理。若
采用面向对象数据模型,语义将更加丰富, 层次关系也更明了。可以说,面向对象数据 模型是在包含关系数据库管理系统的功能基 础上,增加面向对象数据模型的封装、继承 和信息传播等功能。
其中, CID为类标识或类型名,CS为状态描述部分,CM为应用于 该类的操作。显然有:S∈CS和 M∈CM (当Object∈Class时)
在实际的系统中,仅需对每个类型定义一组操作,供该 类中的每个对象应用。由于每个对象的内部状态不完全相 同,所以要分别存储每个对象的属性值。
③概括 在定义类型时,将几种类型中某些具有公共特征的 属性和操作抽象出来,形成一种更一般的超类。例如, 将 GIS中的地物抽象为点状对象、线状对象、面状对 象以及由这三种对象组成的复杂对象,因而这四种类 型可以作为GIS中各种地物类型的超类。 例如,建筑物是饭店的超类,因为饭店也是建筑 物。子类还可以进一步分类,如饭店类可以进一步分 为小餐馆、普通旅社、宾馆、招待所等类型。所以,
一个类可能是某个或某几个超类的子类,同时又可能 是几个子类的超类。
概括 – 超类:在定义类型时,将几种类型中某些具有公 共特征的属性和操作抽象出来,形成一种更一般 的超类。设有两种类型: class1=(CID1,CSA,CSB,CMA,CMB) class2=(CID2,CSA,CSC,CMA,CMc) 可形成一种超类: Superclass(CID,CSA,CMA) 其中SID为超类的标识号, 此时 class1=(CID1,CSB,CMB) class2=(CID2,CSC,CMC) class1 和 class2 称 为 Superclass 的 子 类 (Subclass)。 一个类可能是某个或某几个超类的子类,同 时又可能是几个子类的超类。
第一范式是对关系模式的最起码的要求。不满足
第一范式的数据库模式不能称为关系数据库。
以下“工资”表具有组合数据项,不属于第一范式。 职工编号 001 002 003 …… 姓名 赵军 刘娜 李东 …… 工资 基本工资 职务工资 工龄工资 2000 500 500 1800 400 300 2300 700 800 …… …… ……
二 面向对象数据模型
面向对象(object-oriented,oo)的概 念起源于程序设计语言——面向对象的编 程语言(简称OOPL),强调对象概念的统—, 引入对象、对象类、方法、实例等概念和 术语,采用动态联编和单继承性机制。它 以OOPL为核心,集各种软件开发工具为 一体,建立OO计算环境,配有很强的图 形功能和多窗口用户界面。 基本出发点就是以对象作为最基本的 元素,尽可能按照人类认识世界的方法和 思维方式来分析和解决问题。
的属性描述数据和操作,这些是不能为复合对象所公用的.例如,
弧段聚集成线状地物或面状地物,简单地物组成复杂地物。 在聚集这两种对象中,是用“传播”作为传递子对象的属性
到复杂对象的工具。 即是说,复杂对象的某些属性值不单独
存于数据库中,而是从它的子对象中提取或派生。例如,一个 多边形的位置坐标数据,并不直接存于多边形文件中,而是存 于弧段和节点文件中,多边形文件仅提供一种组合对象的功能 和机制,通过建立聚集对象,借助于传播的工具可以得到多边 形的位置信息。
①对象与封装性
在面向对象的系统中,每个概念实体都可以模型化为
对象。一个对象是由描述该对象状态的一组数据和表达 它的行为的一组操作(方法)组成的。例如,河流的坐标数
据描述了它的位置和形状,而河流的变迁则表达了它的 行为。可见,对象是数据和行为的统一体。 一个对象可定义成一个三元组: Object=(ID,S,M) 其中,ID为对象标识, M为方法集, S为对象的内部状 态,它可以直接是一属性值,也可以是另外一组对象的 集合,因而它明显地表现出对象的递归。
• 第3节 空间数据库逻辑模型设计
(一)关系数据模型基本概念 (二) 依赖 数据依赖 函数依赖
基本依赖 完全函数依赖 传递函数依赖 多值依赖
(三) 范式 1NF 2NF 3NF BCNF
关系数据库的规范化理论
(1) 第一范式(1NF)
定义:如果一个关系模式R的所有属性都是不可
分的基本数据项,则R属于1NF。