导图社区 数据库与数据模型
地理信息系统教程第三章数据库与数据模型笔记,包括数据模型的定义和分类、数据库、数据库系统、空间数据库设计等内容。
编辑于2021-09-16 00:27:03三、数据库与数据模型
数据模型
定义
①实体及其相互关系的数学描述,是空间数据库建立的逻辑模型
②是对现实世界部分现象的抽象,它描述了数据的基本结构及其相互之间的关系,和在数据上的各种操作,是数据库系统中关于数据内容和数据间联系的逻辑组织的形式表示
要素
数据结构
数据库的组成对象以及对象之间的联系
数据操作
数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
数据的完整性约束条件
是一组完整性规则
分类
独立于计算机之外的
实体—关系模型、语义数据模型,不涉及信息在计算机中如何表示,即概念模型
按用户的观点对数据和信息建模,主要用于DBMS的设计
面向计算机的
以记录为单位构造数据模型,如层次模型,网状和关系模型等,如逻辑模型和物理模型
逻辑模型
他是按计算机系统的观点对数据建模,用于DBMS的实现
物理模型
对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法
数据库
概念
长期存储于计算机内的,有组织,可共享的大量数据的集合
空间数据库:地理信息系统在计算机物理存储介质上存储和应用的相关的地理空间数据的总和
构成
数据集
物理存储介质
数据库软件
特征
数据集中控制
数据结构化
数据独立
数据共享
减少数据冗余
统一的数据保护功能
层次
概念模式(模式)
数据库的总框架,是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图
外模式(子模式/用户模式)
数据库用户的数据视图,概念模式的一部分
内模式(存储模式)
一个数据库只有一个内模式,是数据的物理结构和存储方式的描述,是数据在数据库内部的组织方式
数据库系统
由数据库,数据库管理系统,应用程序和数据库管理员组成的存储,管理,处理和维护数据的系统
特点
数据结构化
数据整体结构化(是数据库主要特征之一),内部结构化,数据之间的相互联系
数据的共享性高,冗余度低且易扩充
数据共享可以大大减少数据冗余,节约存储空间。避免数据之间的不相容性,不一致性
数据不一致性,是指同一数据不同副本的值不一样
数据独立性高
物理独立性
用户的应用程序与数据库的物理存储相互独立
逻辑独立性
用户的应用程序与数据库的逻辑结构相互独立
数据由数据库管理系统统一管理与控制
数据的安全性保护
数据的完整性检查
并发控制
数据库恢复
DBMS
定义
是处理数据存取和各种管理控制的软件,是数据库系统的核心,应用程序对数据库的操作全部通过DBMS进行
功能
数据库定义功能
数据库管理功能(数据组织,存储与管理)
数据库的事务管理和运行管理
数据操纵功能
数据库维的建立与维护
空间数据库设计
①需求分析
调查用户需求
需求数据的收集和分析
编辑用户需求说明书
②结构设计
得到一个合理的空间数据模型
概念设计(E-R模型)
逻辑设计
③物理设计
将空间数据库的逻辑结构在物理存储介质上实现,确定数据在介质上的物理存储结构。 其结果是导出地理数据库的存储模式(内模式)
④数据层设计
GIS数据按照空间数据的逻辑关系或专业属性分为各种逻辑数据层或专业数据层,原理上类似于图片的叠置
面向对象的数据库系统(OODBS)
面向对象的定义
指无论怎样复杂的事例都可以准确的由一个对象表示
每个对象都是包含了数据集和操作集的实体,即面向对象的模型具有封装性的特点
优势
①缩小了语义差距
②减轻了“阻抗失配”问题
传统数据库应用往往表现为把数据库语句嵌入某种具有计算机完备性的程序设计语言中,二数据库语言和程序设计语言的类型系统和计算机模型往往不同,所以这种结合是不自然的,这种现象被称为“阻抗失配”
③适应非传统应用的需要
主要表现在能够定义和操纵复杂对象,具备引用共享和并发共享机制以及灵活的事物模型,支持大量对象的存储和获取等等
空间数据库模型
层次模型
定义
层次模型数将数据组织成一对多关系的结构;是一种树状结构模型,它把数据按自然的层次关系组织起来,以反映数据的隶属关系
特点
有且只有一个结点无双亲,即为根节点
其他节点有且仅有一个双亲
优点
1⃣️数据结构简单清晰
2⃣️查询效率高
3⃣️提供了良好的完整性支持
局限性
①很难描述复杂地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余
②对任何对象的查询都必须从根节点开始,很难进行反向查询
③数据独立性较差,插入删除操作复杂,父节点删除意味着其下层所有子节点都要删除
④层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中给出数据的存取路径
⑤基本不具备演绎功能和操作代数基础
网状模型
定义
网状模型将数据组织成有向图结构,图中结点代表记录,连线描述不同结点数据之间的联系
特点
(一对多)结点数据之间没有明确的从属关系,一个子节点可以有多个父节点
(多对一)可以有一个以上的结点无父节点
(多对多)任两个节点之间都能发生联系
优点
1⃣️能够更加直接地描述现实世界
2⃣️存取效率高
局限性
①网状结构复杂,用户查询定位困难
②网状数据操作命令具有过程式性质
③不直接支持对于层次结构的表达
④基本不具备演绎功能和操作代数基础
DDL,DML复杂,要嵌入某种高级语言中,不利于用户的掌握
关系模型
定义
用二维表形式表示实体及其联系
特点
结构灵活,可满足所有布尔逻辑运算和数字运算规则形成的询问要求
搜索组合和比较不同类型的数据
加入和删除数据方便
优点
1⃣️建立在严格的数学概念的基础上
2⃣️概念单一,数据结构简单
3⃣️有更高的数据独立性,更好的安全保密性,简化了程序员的工作
局限性
①模拟和操作复杂地物的能力较弱
②存储模式、查询途径及操作等方面均显得语义不甚合理
③概念模式和存储模式相互独立,所以运行效率不够高
开发难度大
传统数据模型
面向对象的数据模型
定义
为了更有效地描述复杂的事物或者现象,需要在更高层次上综合利用和管理多种数据结构和数据模型,并用面向对象的方法进行统一的抽象,这就是面向对象数据模型的含义。其具体实现就是面向对象的数据结构。
特点
可充分利用现有数据模型的优点
具有可扩充性
可以模拟和操作复杂对象
四种核心技术
分类
定义
把一组具有相同属性结构和操作方法的对象归纳或映射为一个公共类的过程
“对象”和“类”的关系是“实例”(instance-of)的关系
实例
城镇建筑可分为:行政区,商业区,住宅区,文化区等;而住宅区可的每栋住宅作为对象都有门牌号,地址,电话号码等相同属性结构,但具体内容各不相同。对他们的操作方法和查询等相同。
概括
定义
把几个类中某些具有部分公共特征的属性和操作方法抽象出来,形成一个更高层次、更具一般性的超类的过程
“子类”和“超类”是“即是”(is-a)的关系,子类是超类的一个特例
住宅地址、门牌号、电话号码等,是住宅类的实例(属性),同时也是它的超类“建筑物”的实例(属性)
联合
定义
将同一类对象中的几个具有部分相同属性值的对象组合起来,形成一个更高水平的集合对象的过程
“成员”与“集合对象”是“成员”(members-of)的关系
实例
一个农场主有三个水塘,他们使用同样的养殖方法,养殖相同的水产品;农场主、养殖方法和养殖产品等三个属性都相同,故可以联合成一个包含着三个属性的集合对象
概括是对类进行抽象概括, 联合是对属于同一类的对象进行抽象联合
聚集
定义
将几个不同类的对象组合成一个更高级的复合对象的过程
“成分”与“复合对象”的关系是“部分”(parts-of)的关系
实例
医院由医护人员、病人、门诊部、住院部、道路等聚集而成
核心工具
继承
单重继承
多重继承
传播
用于描述复合对象的依赖性并获得成员对象属性的过程
层次模型vs网络模型
①层次模型中子女到双亲的联系是惟一的
②层次模型不允许有复合链
数据结构
是指数据的组织形式,在计算机中存储,管理和处理的数据逻辑结构