导图社区 空间数据库三种设计
空间数据库三种设计知识思维导图,包括:概念模型设计、逻辑模型设计、物理模型设计三部分内容。
编辑于2022-05-20 17:53:57空间数据库三种设计
概念模型设计
语义模型设计
E-R模型的三个步骤
设计局部的E-R模型
在局部E-R模型的设计中,主要需要完成局部结构范围的确定,定义属性、实体和联系,以及属性的分配等
设计全部的E-R模型
这一步骤是将所有局部的E-R图综合成单一的全局E-R图,即全局的概念模型。设计全局概念模型,首先需要确定公共的实体类型,然后反复进行两个局部E-R图的合并,检查并消除冲突,直到所有的局部E-R模型都合并成一个完整的全局E-R模型。其中,当合并两个E-R图时,可能会遇到三类冲突,即:属性冲突,包括类型、取值范围、取值单位的冲突;结构冲突,如作为实体又作为联系或属性,同一实体其属性成分不同等;命名冲突,包括实体类型名、联系类型名之间异名同义或异义同名等。
全局E-R模型的优化
可通过实体类型的合并来实现,一般把1:1联系的两个实体类型合并,具有相同关键字的实体类型也可以合并成一个实体类型。但要考虑空值存储和速度问题。
冗余属性的消除,要注重效率,可存在适当的冗余,但要根据实际情况而定。
冗余属性的消除,冗余的联系应该从E-R图中删除。
E-R模型的三种主要概念
实体
是对客观存在的起独立作用的事务的一种抽象。
联系
是实体间有意义的相互作用或对应关系
一对一的联系(1:1)
一对多的联系(1:N)
多对多的联系(M:N)
属性
是对实体和联系特征的描述
E-R模型的特点
接近人的思想,易于理解
和计算机具体的实现无关,是一种很好的数据库概念设计方法。
面向对象数据模型
基本概念:对象、消息、类
对象
就是现实世界中一个事物的模型表达,与数据库中记录、元组等概念相似,但更为复杂。
类消息
是对象之间相互请求或相互协作的唯一途径。
公有
属于同一对象的信息,其中有些是可由其它对象向它发送的
私有
由它自己向自身发送的
消息类
是对一组的对象的抽象描述,它将该组对象所具有的共同特征集中起来,以说明该组对象的能力和性质
继承和类之间的层次关系
继承是现实世界中对象之间的一种独特关系,它使得某类对象可以自然地拥有另外一类对象的某些特征和功能。继承性可以极大地简化数据模型的设计,因为继承性使许多对象的特性和功能可以相互依赖,所以对象之间某些相同或相似的特征和功能就不需要重复地实现,只要通过继承就可以相互借用和 共享。可见继承性具有双重作用,一是减少代码的冗余,二是通过协调性简化对象类相互之间的接口。
单继承
多继承
功能重载和多态性
重载
实际上意味着实现特定功能的方法不仅以名称来区分,而且用它所带的参数来区别。例如,在GIS的图形显示子系统中需要显示一个多边形的区域,系统可能会提供两个不同的对象绘图方法,其一是从一个数据库系统中提取多边形数据来绘图,另一个是从一个图形文件中提取多边形数据来绘图。第一种方式需要将数据库的一个连接作为参数传递给对象方法;第二种方式则需要将图形文件的路径作为参数传递给对象方法。这两种对象方法虽然其名称可能采取相同的写法,如Draw,但由于所调用的参数的差异,面向对象的系统就会根据功能重载的原则将两个对象方法加以区别。
多态
是指同一个消息可以根据发送消息对象的不同采用多种不同的行为方式。例如在上述的图形系统中,有多边形、弧段、点等几类对象,在这些图形对象类的超类中可以定义一个虚拟的绘图方法Draw。而在具体的多边形、弧段和点类中再分别定义各自特定的绘图方法Draw。这样,面向对象的系统在绘制某一区域的所有空间对象的图形时,就可以对所有的图形对象发送同一种对象绘图信息,而不同的对象以各自特定的方式响应同一种绘图信息。
概括和聚焦
概括
概括的含义是把一组具有相同特征和操作的类归纳在一个更一般的超类中。例如,多边形对象类是一种特定的空间对象,而弧段对象类也是一种特定的空间对象,空间对象类归纳了多边形对象类和弧段对象类共同具有的一些空间特征,相比之下是更为一般意义上的对象类。所以,多边形对象类和弧段对象类可作为空间对象类的子类,而空间对象类则是它们的超类。概括形成的对象类不要求一定是现实中具体存在的对象类,它可以是一种抽象的对象类。从本质上看,概括形成了子类和超类之间一种称为is-a的语义联系。
聚集
聚集反映了嵌套对象的概念,嵌套对象是由一些其他对象组成的,它是用来描述更高层次对象的一种形式。例如,上述的GIS图形显示功能中,一个图层对象类是由多边形对象类、弧段对象类、点对象类等的聚集体。这里的图层对象就是嵌套对象,多边形对象类等与图层对象之间形成一种is-part-of的语义联系。
ORM图
ORM即对象角色建模( Object Role Modeling),是运用面向对象的原理进行数据库概念建模的软件工程方法。它提供了概念性的、易于理解的模型化数据的技术。该方法使用用户和设计人员都能够理解的直观符号和自然语言事实来说明应用领域的对象。ORM还提供了一组全面的约束来表达业务规则ORM图是用图形符号的形式表现对象角色建模的结果。ORM图用对象类型和谓词来表达一个事实。对象类型表示实际对象或概念(如多边形)的类型对象类型必须以英文名词的形式出现,以大写字母开头,必须具有唯一的定义,且在模型范围内只能被定义一次。
实体对象类型
是由实际事物组成的对象类型。
值对象类型
是由数字或字符串组成的数字类型。
逻辑模型设计
关系数据模型
基本概念:关系、关键词、 关系模式、关系数据库、关系完整性
关系: 是一个二维表,表的每行对应一个元组,表的每列对应一个域。
关键字: 关系中的某一属性组,若它的值唯一地标识了一个元组,则该属性组为候选关键字。
关系模式: 关系的描述称为关系模式
关系数据库: 一系列关系的集合构成一个关系数据库
关系完整性: 指关系的正确性、相容性、有效性
实体完整性: 主关键字组成部分(即主属性),则属性A不能取空值。
参照完整性: 若基本关系R中含有另一个基本关系S的主关键字K相对应的属性组F(此时F称为R的外部关键字),则对于R中每个元组在F上的值必须或为空值,或等于S中某个元组的主关键值。
用户定义的完整性: 指由应用环境决定,并针对某一具体数据库的约束条件必须满足的规则。
关系模型完整性有哪三类
实体完整性: 主关键字组成部分(即主属性),则属性A不能取空值。
参照完整性: 若基本关系R中含有另一个基本关系S的主关键字K相对应的属性组F(此时F称为R的外部关键字),则对于R中每个元组在F上的值必须或为空值,或等于S中某个元组的主关键值。
用户定义的完整性: 指由应用环境决定,并针对某一具体数据库的约束条件必须满足的规则。
关系数据模型设计的三个主要部分
数据依赖
对关系中值的一种限制条件
函数依赖
表征一个属性或属性集合的值对另一个属性或属性集合的依赖性。
主关键字决定关系模式中的非关键字
完全函数依赖
传递函数依赖
多值依赖
范式
关系满足某种规范化的形式
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
第四范式(4NF)
逻辑模型设计
逻辑模型设计的目的
从概念模型中导出的特定的数据库管理系统可以处理的数据库的逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性和一致性约束及数据库可扩充性等方面均满足用户提出的要求。
物理模型设计
概念
是从一个满足用户信息需求的、以满足的逻辑数据结构(即逻辑模型)出发,研制出一个有效的、可实现的物理数据库结构(存储结构或物理模型)的过程。
结构设计
约束
应用设计
设计步骤
结构设计,把数据库逻辑设计模型映射为关系数据库的物理结构
根据逻辑设计中提供的对数据库的约束条件,设计建立数据库完整性措施
应用设计
查询设计
人机界面设计
输入/输出格式的设计
代码设计
处理加工设计等