




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《空间数据库》全册配套课件名称:《空间数据库》编著:
吴信才出版:科学出版社教材信息地理空间数据库原理崔铁军编著科学出版社空间数据库(美)ShashiShekhar等机械工业出版社SPATIALDATABASESPhilippeRigaux等MorganKaufmannPublishersSpatialDatabaseSystems其他有关《地理信息系统》和《数据库》的著作参考资料地理信息系统数据库空间数据库与其他课程的关系GIS的主要任务DataCollectionandEditingDataAnalysisGenerationofMapsandCartographicInformationProducts空间数据库系统的主要任务DataStorageandManagementSpatialIndexingDataSecurityandIntegritySpatialDataQuery空间数据库与GIS技术的区别课程大纲数据库及空间数据库空间数据库模型空间数据组织与索引空间数据查询与访问商用空间数据库技术空间数据库技术实践第一章
数据库及空间数据库数据库系统回顾专业数据库空间数据库空间数据库应用举例一.数据库技术回顾单击此处添加文本具体内容,简明扼要的阐述您的观点。LOREMIPSUMDOLOR01数据库基础知识什么是数据库?数据库系统的构成数据库系统的发展数据库中的数据模型什么是数据库?存储在计算机环境中的相互关连的数据集在这样的环境中,数据是永久的,也就是说它可以幸免于软件和硬件的问题(除非是磁盘崩溃)。大数据卷和持久性是数据库最大的两个特点。数据库的英文是DATABASE,其意义为数据基地,即统一存贮和集中管理数据的基地。数据库基础知识什么是数据库?数据库系统的构成数据库系统的发展数据库中的数据模型数据库系统的构成数据库是存贮在计算机内的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。操作系统数据库管理系统应用软件、管理人员硬件Applicationprograms/queriesSoftwaretoprocessqueriesSoftwaretoaccessstoreddataStoreddatabaseStoreddatabasedefinitionmetadata一个简单的数据库系统环境DBMS数据库基础知识什么是数据库?数据库系统的构成数据库系统的发展数据库中的数据模型数据库系统的发展层次数据库系统网状数据库系统层次数据模型网状数据模型关系数据库系统关系数据模型面向对象数据库系统面向对象数据模型数据库基础知识什么是数据库?数据库系统的构成数据库系统的发展数据库中的数据模型数据库中的数据模型数据模型是客观事物及其联系的数据描述
主要的数据模型层次网状关系面向对象的数据模型约束数据模型数据模型实例以地图M为例:地图M中有两个面实体ⅠⅡ
Ⅰ多边形由a,b,e组成MⅡ多边形由b,c,d组成1a
a边的两个端点是1,2e
Ⅰ2b边的两个端点是2,44b
cc边的两个端点是2,3d
Ⅱd边的两个端点是3,43e边的两个端点是1,4层次模型例网络模型例关系模型例面向对象的几何数据模型Class
Mtuple(name:string,geometry:Region,polygons:set(Ploygon))Class
Ploygontuple(name:string,boundary:list(line))Class
Linetuple(name:string,geometry:line,points:set(Point))Class
Pointtuple(x:real,y:real)约束空间数据模型P1=<a,b,e>VP2=<b,c,d>a,b,c,d,e分别可用直线公式表示二.专业数据库单击此处添加文本具体内容,简明扼要的阐述您的观点。LOREMIPSUMDOLOR01内容分布式数据库演绎数据库时态数据库实时数据库分布式数据库分布式数据库的概念分布式数据库的结构分布式数据库的特点分布式数据库概念概念:逻辑上是一个统一的数据库系统物理上分散在不同的场地(节点)各场地通过计算机网络连接在一起统一由一个分布式数据库管理系统(DDBMS)管理特点:分布性:数据的分布性事务的分布性协调性:逻辑上整体、具整体完整性约束网络LDBLDBMSGDBMSCM全局数据字典LDBCMGDBMSLDBMS全局数据字典LDBCMGDBMSLDBMS全局数据字典分布式数据库结构分布式数据库特点地方自治性在集中式数据库中非常强调对全局的集中控制,而在分布式数据库中不强调全局的集中控制,而强调各结点的地方自治。这给每一结点相当的独立性。相互协作性地方自治是分布式数据库的一个方面特色,光有这一方面是远远不够的,更重要的是当某结点的事务需要存取其他结点的数据时,更需要各结点间相互协作,相互配合。这种协作是平等关系的协作。分布式数据库特点(Cont.)位置透明性位置透明性意味着用户使用数据时,无须了解所存取的数据所在位置。这一位置信息是由系统通过全局目录而获得,并由系统决定是在本结点自治处理,还是通过网络存取他结点的数据。这种透明性简化了应用程序,大大方便了用户。它是分布式数据库的主要目标之一。分布式数据库特点(Cont.)副本的透明性在集中式数据库中减少冗余是它的主要目标之一,但在分布式数据库中出于性能和效率方面的考虑,有时需要在不同结点存放同一数据库的几个副本。这主要考虑到下述两个因素和背景一是应用的局部性,在分布环境下,为了减少网上的传输,提高效率,确定了一个处理原则,即能在本地区处理的事务不申请网上的传输。因而重复存放副本就是自然的策略;二是系统的可行性,在分布环境下,一个结点出现了故障,不影响整个系统的运行。需要在某地区获得的数据,可在其他结点获得。演绎数据库演绎数据库的基本概念演绎数据库的内容和特点演绎数据库的研究现状演绎数据库、知识库与智能数据库演绎数据库的基本概念根据已知的事实和规则进行推理,回答用户提出的各种问题。演绎数据库也被称为逻辑数据库、演绎关系数据库或虚关系数据库;具有很强的推理能力,这种推理能力起源于人工智能的研究;根据已知的数据和这些逻辑关系可推出另一些在数据库中并不存在而客观又是正确的数据.演绎数据库的内容和特点实数据(事实);规则;虚数据虚数据系根据已知的实数据经使用规则推理而得到的,它不必存放在数据库中演绎数据库可获得远远多于传统数据库中的数据,但其占有的实际物理空间与传统数据库差不多易维护、易扩充、冗余度小和数据录入量少演绎数据库的研究现状对演绎数据库的研究始于20世纪70年代后期,对它的研究主要分两个方面:数学模型在演绎数据库中往往用证明论作为其实现的数学模型。在证明论中,演绎数据库可视为一个一阶谓词演算的公理系统。一个公理系统包括;①公理;一阶谓词演算公式;②定理;有公理通过证明而获得的一阶谓词演算公式;③证明;有公理经推理而得到定理的证明工程实现方法,目前演绎数据库的实现方法有两种:PROLOG语言实现现有的DBMS+RULE来实现演绎数据库、知识库与智能数据库共同之处三者都是人工智能与数据库的结合,都是以数据库为基础,吸取了人工智能的成功技术的成果不同之处演绎数据库与智能数据库均属于数据库范围,它们均以数据库为基础,吸取了人工智能的技术。它们管理的是数据,而知识库管理知识演绎数据库虽然也含有规则,但它含有的规则较少,而含有的数据却是大量的,这是与知识数据库不同的。智能数据库不仅应用人工智能中的逻辑推理思想,而且还应用人工智能中自然语言理解、语言识别,图象、文字处理等多种方法与技术于数据库,以求得更多的功能、性能的改善与提高。时态数据库时态数据库基本概念时态数据库数据模型时态数据库基本概念在实际应用中,数据往往随时间而变化。我们称随时间而变化的数据为时态数据。很多数据库应用都涉及到的时态数据。这些应用不仅需要存取数据库的当前状态,也需要存取数据库随时间变化的情况。管理时态数据的数据库系统需要对时间语义提供三方面的支持:时间点、时间间隔、与时间有关的关系
传统数据库管理系统在时态数据的表示上有两种局限性:不保存数据库改变的历史,每一个数据更新操作都删除了更新前的事实;数据一进入数据库就立即生效。在很多应用中,数据的录入时间(即数据进入数据库的时间)和数据可以被利用的时间是不同的。时态数据库数据模型为了克服传统数据库的这两种局限性,我们需要新的数据模型。这种数据模型必须具有如下能力:能够准确地表示时态数据的时间语义;能够区分随时间变化的信息和与时间无关信息并分别表示之;除了数据模型方面的要求以外,时间数据库应用在查询语言、存取方法、物理组织等数据库管理系统的各个方面都需要新的技术。实时数据库实时数据库是用于实时应用的数据库;实时应用的实时性使得实时数据库系统中的事务具有严格的时间约束,如起始运行时间、结束时间等;实时数据库系统的正确性不仅依赖于数据处理的结果,而且还依赖于结果产生的时间。实时数据库的核心实时数据库系统并不是数据库系统和实时系统的简单合并。实时数据库系统的核心问题是如何把事务的时间约束处理和数据库完整性处理有机地结合为一体。需要深入地研究实时数据库系统的一系列新问题:实时数据库的物理组织;实时事务的模型;实时事务的调度策略;并发控制和恢复的协议与算法;查询处理算法等。所有这些问题的核心是保证最小化违背时间约束事务的数量实时数据库、传统数据库、实时系统三.空间数据库内容SpatialDataWhy?What?空间数据数据
是指客观事务的属性、数量、位置及其相互关系等的符号描述。空间数据
是对现实世界中空间对象(事物)的描述,其实质是指以地球表面空间位置为参照,用来描述空间实体的位置、形状、大小及其分布特征等诸多方面信息的数据。空间数据特征空间数据具有三大基本特征:空间、时间和专题属性。空间特征空间特征是指空间地物的位置、形状和大小等几何特征,以及与相邻地物的空间关系。时间特征
空间数据总是在某一特定时间或时间段内采集得到或计算得到的空间数据特征(Cont.)专题特征专题特征亦指空间现象或空间目标的属性特征,它是指除了时间和空间特征以外的空间现象的其他特征,如地形的坡度、波向、某地的年降雨量、土地酸碱度、土地覆盖类型、人口密度、交通流量、空气污染程度等。此外,空间数据还具有多维、多尺度和海量等非空间数据所不具备的特征。内容SpatialDataWhy?What?Why?传统形式PapermapJournalExplanation…空间信息的新特点要求新的数字信息表达形式数据量大(如,每天采集的卫星影像在Tbyte范围)内在结构的复杂性特点Why?(Cont.)地理信息根据不同的应用和获取方式表现出多样性主要数据集GPS,RSAerialphotographsSensornetworkTheinternetofthings…现存地图,综合已经存在的多种数字数据源而产生Why?(Cont.)与统计数据相比空间数据更复杂,表现在:数据类型多(几何数据、关系数据、辅助数据)数据操纵复杂一般数据检索、增加、删除等定位检索、拓扑关系检索等数据输出多样(数据、报表、图形)数据量大,空间数据种类多测量、统计数据、文字地图、影像等空间数据的非结构化特征事务数据库:数据记录一般是结构化的每一个记录有相同的结构和固定的长度,记录中每个字段表达的只能是原子数据,内部无结构,不允许嵌套记录空间数据:这种结构化不能满足要求地理实体的空间坐标:实体位置、大小形状拓扑关系空间数据的组织和管理不同于一般的事务性数据Why?(Cont.)内容SpatialDataWhy?What?What?空间数据库的定义空间数据管理的发展过程空间数据库的内容空间数据库的研究内容什么是空间数据库
指以特定的信息结构(如国土、规划、环境、交通等)和数据模型(如关系模型、面向对象模型等)表达、存储和管理从地理空间中获取的某类空间信息,以满足不同用户对空间信息需求的数据库。空间数据库定义空间数据库定义以空间数据为处理对象的计算机应用为空间数据应用;能对空间对象的表示、空间数据的存取、空间对象查询和查询优化的数据库为空间数据库;空间数据应用的范围:计算机辅助机械设计和几何应用(早期)机器人、计算机视觉、图象识别、地理信息处理等领域(扩展)空间数据具有三个特点:需要处理的数据量大;需要空间和非空间两类数据;需要记录空间对象随时间而演变的历史数据地理空间数据与地理空间数据库地理空间数据指带有地理坐标的空间数据,包括资源、环境、经济和社会等领域的一切带有地理坐标的数据。是空间数据的一种特殊类型;GIS中的地理空间数据是对地理实体的空间特征和属性特征的数字描述注:本课程中我们不加区别的使用空间数据和地理空间数据What?空间数据库的定义空间数据库的内容空间数据库的研究内容空间数据管理的发展过程
数字栅格地图数据库(DRG)数字高程模型数据库(DEM)数字正射影像数据库(DOM)矢量地形要素数据库(DLG)专题数据库(TD)元数据库(MD)等高线道路水系境界居民地其它要素空间数据库
空间数据库概念模型示意图空间数据库内容(cont.)空间数据库内容(cont.)矢量地形图数据库
以矢量数据结构描述的水系、等高线、境界、交通、居民地等地形要素构成的数据库。数字高程模型库
是定义在平面X,Y上规则格网点上高程数据集构成的数据库。影像数据库
由各种航空、航天遥感数据或经过扫描处理的影像数据构成的数字正射影像数据库。空间数据库内容(cont.)数字栅格地形图
纸质地形图扫描后经几何纠正,并进行内容更新和数据压缩处理得到数字数字栅格地图。专题地图土地利用数据地籍数据规划管理数据道路数据文物保护数据等空间数据库内容(cont.)元数据
描述数据库/子库和库中个数字产品的元数据构成的数据库。What?空间数据库的定义空间数据库的内容空间数据库的研究内容空间数据管理的发展过程空间数据库的研究内容空间数据库的主要任务是研究地理空间物体的空间数据表达模型空间数据组织模型空间数据存储结构空间索引技术目的:以最小的代价高效地存储和处理空间数据;维护空间数据的现实性,一致性和完整性;为用户提供现实性好,准确性高,完备,开放和易用的地理空间数据空间数据查询访问技术What?空间数据库的定义空间数据库的内容空间数据库的研究内容空间数据管理的发展过程空间数据管理的发展过程人工管理阶段(1950s-)文件管理阶段(1960s-)文件与数据库系统混合管理阶段(1970s-)全关系型空间数据库管理系统(1980s-)对象关系数据库管理系统(1990s-)面向对象的数据库系统(1990s-)约束数据库系统四.空间数据库示例例如:(1)有一个具有name,capital,population,和geo结果的country主题(theme),希望用一个名为country的关系来存储这个主题。(2)查询,返回法国的边界线DBMS对空间数据支持的应用实例问题描述:(1)有一个具有name,capital,population,和geo结果的country主题(theme),希望用一个名为country的关系来存储这个主题。(2)查询,返回法国的边界线DBMS对空间数据支持的应用实例DBMS对空间数据支持的应用实例DBMS对空间数据支持的应用实例SelectBoundary.id-contour,x,yFromCountry,Boundary,Contour,PointWherename=‘France’AndCountry.id-boundary=Boundary.id-boundaryAndBoundary.id-contour=Contour.id-contourAndContour.id-point=Point.id-pointOrderbyBoundary.id-contour,point-orderDBMS对空间数据支持的应用实例Thankyou!空间数据与空间数据结构空间数据库2.1空间数据的定义与分类空间数据与伪空间数据空间数据是可以利用表示地球表面或近地表位置的空间属性被显示、操纵和进行分析的数据。空间数据有两个重要性质:它们以一个地理空间为参考。
它们用多种比例尺表示。当用相对小的比例尺记录空间数据时,可以代表地球表面或邻近表面的较大区域。空间数据类型空间数据与伪空间数据一些形式的空间数据不能被直接用于空间应用。这样的空间数据被称为伪空间数据,包括:街道地址(E.g.,addressesinacustomerdatabase),字母-数字地理数据(e.g.,demographiccharacteristicsandsocio-economicdataofacensusenumerationarea),扫描地图/航空照片.2.2空间数据功能引言在空间数据库环境中,可以根据数据在数据库管理和应用中各自的职责来进行分类,这是符合逻辑的.空间数据功能按功能对空间数据进行分类,可以将空间数据分为四种类型:基础地图数据层。包括为数据库中所有数据构成空间参考框架的大地测量控制网络,和各种各样的为收集、分析和显示等应用以及下面介绍的业务解决方案数据提供地理参考的基础地形数据。框架数据层。包括三个为人类在陆地上的活动提供地理参考的相关图层,即,(a)地块图层,为土地开发和土地管理应用提供框架;(b)设施图层,形成公共事业和资源管理中设施管理的基础;(c)地址图层,用于支持各种土地和资源要求使用的市政的或邮政的地址。
空间数据功能按功能对空间数据进行分类,可以将空间数据分为四种类型:应用数据层。包括收集和用于以基础地图层和框架数据层作为基本地理参考的土地和资源管理等不同数据库应用的多种空间数据集。业务解决方案层。这是空间数据层的集合,包括框架和应用数据层及它们的派生数据,连同相关的非空间数据,被装配去支持机构或者组织内部部门的运作和决策功能。2.3The“Geometry”ofSpatialDataThe“Geometry”ofSpatialData空间数据有两个关键方面:数据的表示关系的表示为此引入两个概念作为空间数据的表示方式:几何(geometry)拓扑(topology)The“Geometry”ofSpatialData“Geometry”通常被理解为数学的一个分支,处理零维和高维空间的点、线、角、面和固体的属性及关系。在空间数据处理方面,开放地理空间联盟(OGC)在其出版的《关于SQL的OpenGIS简单要素规范》(OGC,1999)中正式使用时,几何就被赋予了一种全新的意义。TheOGCproposedahierarchyofspatialdatatypes,calledthegeometryobjectmodel,whichallowsspatialfeaturestoberepresentedinadatabaseThe“Geometry”ofSpatialData在几何对象模型中,“Geometry”一词被用来表达一个在数据库中至少有一个几何属性的“对象”的空间要素。实例化作为层次几何对象模型的根类,几何是一个不可实例化的构造。基础几何类有四个子类,即点、线、面和几何集合。这些几何子类是可实例化的构造。Geometry的子类包含一套明确的处理,称为方法,用来测试它们各自的几何性质,定义其空间关系,并支持它们在空间分析中的应用。The“Geometry”ofSpatialData图元在几何对象模型中有许多几何类型。这些几何类型是用于构建几何对象的图元对象与图元一个对象由一个更多的图元来构建简单对象与复杂对象简单对象:由一个图元构成复杂对象:有多个图元构成The“Geometry”ofSpatialData空间数据库中的图层
空间数据库中,共享相同属性的“几何”集所形成的层(也称为要素类)。
同一层的对象往往被存储在相同的表中。The“Geometry”ofSpatialData“Geometry”anditsrelationshipwithotherelementsasrepresentationsofspatialfeatures2.4拓扑与拓扑数据结构拓扑拓扑拓扑是一个数学领域。它研究当图形形状在弯曲、拉伸、收缩或其他方式扭曲下几何形状保持不变的属性。它是一个橡胶板上几何的研究,关注的是几何图形之间的关系而不是它们的固定坐标。
拓扑当拓扑应用于空间数据结构中时,它通常定义为邻近真实世界要素的空间关系,包括(LoandYeung,2006):相邻(Adjacency),空间图形中同类元素之间的拓扑关系。连通(Connectivity),空间图形中弧段之间的拓扑关系。包含(containment),空间图形中不同类或同类但不同级元素之间的拓扑关系。
可见,拓扑数据结构是存储真实世界要素之间固有关系的。
拓扑数据结构拓扑数据结构拓扑数据结构用于存储真实世界要素之间的固有关系拓扑数据结构的概念假定空间特征存在于一个二维平面上,所以空间数据的关系可以定义为三个谓词:节点(0维)边(1维)多边形(2维)
NodesInatopologicaldatastructure,anode(alsocalledapoint)isaspatialfeatureof0dimensionswhereoneormoreedges(alsocalledarcs,chains,andsegmentsorlines)connecttoformatopologicaljunction.
EdgesAnedgeisaspatialfeatureof1dimensionthatisformedbyadirected,non-branchingsequenceofnon-intersectinglinesegmentsboundedbya‘from’anda‘to’node.
EdgefromtoPolygonApolygon(alsocalledatopologicalring,faceorarea)isa2-dimensionspatialfeaturethatisclosedonitselfbyasequenceofconnectedanddirectededges.
N1N2N3N4P1P2P3A1A2A3A4A5A6N5A7P4PolygonLeftandrightpolygonsTheboundingedgesofapolygonreferencethepolygonstotheirleftandrightthroughthe‘from’and‘to'nodesthatdefinethedirectionoftheedge.
N1N2N3N4P1P2P3A1A2A3A4A5A6N5A7P4FromToleftrightPolygonWorldoruniversepolygonIfnopolygonexiststotheleftortherightofaparticularedge,thenthe“empty”spaceisassignedasthe“world”(alsocalledauniversepolygon).
worldN1N2N3N4P1P2P3A1A2A3A4A5A6N5A7P4一维或网络拓扑在空间数据库中,一维或者网络拓扑是通过节点和边缘基元建立起来的。
NodeEdge二维或平面拓扑当拓扑结构为封闭的多边形对象时,空间数据集就成了二维或者平面拓扑。
Arc-node拓扑在空间数据集中,弧-节点拓扑关系是通过在线交点和端点插入节点来实现的。
2.5非拓扑数据结构Shapefiledatamodel在20世纪90年代初由Inc.美国环境系统研究院(ESRI)研发的ArcView2.0版本发布的非专有或“公开”的数据模型利用“全多边形”数据结构存储空间数据“全多边形”数据结构以离散实体存储单个多边形一种非拓扑数据结构,因为它没有明确存储空间关系
Shapefile
构成
Mainfile结构MainFile头结构
Themainfileheaderis100byteslongShapetype取值
Record
header
PointRecord
ContentPolylinestructurePolylineRecord
ContentPolygonstructurePolygonRecord
Content2.6Geo-relationalModelGeo-relationalModel传统上,空间数据通常存储在特定GIS专有结构中,利用通常所称的地理关系数据模型(Morehouse,1985and1989)在这个模型中,空间数据被抽象成一系列独立定义的层。每层代表了一个相关空间要素的集合,如道路、土壤类型、土里覆盖、地块和排水。显然,所有图层都必须占用或者至少在一些空间重合区,低于甚至高于地球表面,在相同的地理空间建模。
Geo-relationalModel显然,所有图层都必须占用或者至少在一些空间重合区,低于甚至高于地球表面,在相同的地理空间建模。
Geo-relationalModel2.7面向对象数据模型面向对象数据库系统支持OO模型面向对象数据库系统:一个持久的、可共享的对象库的存储和管理者对象库:由一个OO模型所定义的对象的集合体2.7面向对象数据模型OO模型的核心概念类层次(结构)继承对象的嵌套2.7.1OO模型的核心概念1.对象定义:对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。组成部分属性(Attribute)集合属性描述对象的状态、组成和特性方法(Method)集合描述了对象的行为特性OO模型的核心概念(续)2.对象标识OID(ObjectIDentifier)概念:面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID)特点:永久持久性独立于值的、系统全局唯一的OO模型的核心概念(续)3.封装(Encapsulation)每一个对象是其状态与行为的封装封装是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息
对象封装之后查询属性值必须通过调用方法
OO模型的核心概念(续)4.类(Class)对象类(简称类):共享同样属性和方法集的所有对象构成了一个对象类实例:一个对象是某一类的一个实例(instance)在OODB中,类是“型”,对象是某一类的一个“值”2.7面向对象数据模型OO模型的核心概念类层次(结构)继承对象的嵌套2.7.2类层次(结构)节点中只有本身的特殊属性和方法同时它们又继承点状地物、复杂地物和空间地物的所有属性和方法逻辑上它们具有空间地物、点状地物和本身的所有属性和方法面向对象的层次几何数据模型类层次(结构)(续)超类/子类之间的关系体现了“ISA”的语义超类是子类的抽象(Generalization)或概括子类是超类的特殊化(Specialization)或具体化类层次可以动态扩展,一个新的子类能从一个或多个已有类导出
2.7面向对象数据模型OO模型的核心概念类层次(结构)继承对象的嵌套
继承单继承:一个子类只能继承一个超类的特性(包括属性和方法)层次结构图是一棵树多重继承:一个子类能继承多个超类的特性层次结构图是一个带根的有向无回路图
继承(续)多重继承
具有多继承的类层次结构图2.7.3继承(续)继承性的优点第一,建模的有力工具,提供了对现实世界简明而精确的描述第二,提供了信息重用机制子类与超类的冲突子类在定义自己特殊属性和方法时可能与继承下来的超类的属性和方法发生冲突由系统解决2.7面向对象数据模型OO模型的核心概念类层次(结构)继承对象的嵌套2.7.4对象的嵌套对象嵌套:一个对象的属性可以是一个对象,这样对象之间产生一个嵌套层次结构设Obj1和Obj2是两个对象。如果Obj2是Obj1的某个属性的值,称Obj2属于Obj1,或Obj1包含Obj2。复杂对象子对象嵌套层次结构对象的嵌套(续)汽车的嵌套层次图对象的嵌套(续)对象嵌套层次结构和类层次结构形成了对象横向和纵向的复杂结构各种类之间具有层次结构某一个类内部也具有嵌套层次结构关系模型与OO模型的比较内容关系数据模型面向对象数据模型基本数据结构二维表类数据标识符码OID静态性质属性属性动态行为关系操作方法抽象数据类型无有封装性无有数据间关系主外码联系,数据依赖继承、组合模式演化能力弱强2.8对象-关系数据模型对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的对象类型及其定义参照类型(ReferenceType)继承性子表和超表2.8.1对象关系数据库系统中扩展的关系数据类型扩展的类型:LOBBOOLEAN集合类型ARRAY用户定义的DISTINCT类型等面向对象的数据类型行类型(ROWTYPE)抽象数据类型(AbstractDataType)ORDBS中扩展的关系数据类型(续)1.大对象LOB(LargeOBject)类型LOB可存储多达十亿字节的串。LOB分类二进制大对象BLOB(BinaryLargeOBject)BLOB用于存储音频、图像数据字符串大对象CLOB(CharacterLargeOBject)。CLOB用于存储长字符串数据ORDBS中扩展的关系数据类型(续)2.BOOLEAN类型布尔类型,支持3个真值:true、false和unknown操作符:NOT、AND、OR、EVERY、ANY
例如
WHEREEVERY(QTY>200)
或WHEREANY(QTY>200)QTY列为空值:返回unknown;QTY列为非空:当该列的每一个值都使(QTY>200)为true时,EVERY返回true,否则为false;当该列的每一个值都使(QTY>200)为false时,ANY返回false,否则为true。ORDBS中扩展的关系数据类型(续)3.集合类型(CollectionType)ARRAY
相同类型元素的有序集合称为数组ARRAYSQL3新增的集合类型允许在数据库的一列中存储数组SQL3的数组只能是一维的数组中的元素不能再是数组ORDBS中扩展的关系数据类型(续)[例2]CREATETABLESALES(ITEM_NOCHAR(20), /*商品号*/QTYINTEGERARRAY[12], /*整数数组,存放销售额*/PRIMARYKEY(ITEM_NO));ORDBS中扩展的关系数据类型(续)向SALES表插入一个元组:
INSERTINTOSALES(ITEM_NO,QTY)VALUES(‘T-shirt2000’,ARRAY[200,150,200,100,50,70,80,200,10,20,100,200]);查找三月份销售额大于100的商品号:
SELECTITEM_NOFROMSALES WHEREQTY[3]>100; ORDBS中扩展的关系数据类型(续)4.DISTINCT类型SQL3新加了一种DISTINCT类型定义DISTINCT数据类型语法
CREATTYPE<typename> AS<builtinscalartypename>FINAL [<castoption>] [<methodspecificationcommalist>]; ORDBS中扩展的关系数据类型(续)没有使用DISTINCT类型例如,职工的智商字段(IQ)和鞋号字段(SHOE_SIZE)定义成INTEGER类型WHERESHOE_SIZE>IQORDBS中扩展的关系数据类型(续)使用DISTINCT类型重新定义这两字段类型CREATTYPESHOE_SIZE_TYPEASINTEGERFINAL;CREATTYPEIQ_TYPEASINTEGERFINAL;SHOE_SIZE_TYPE和IQ_TYPE成为两种不同的数据类型表达式:WHERESHOE_SIZE>IQ是非法的如果在定义类型时设置了选项<castoption>,下面用法也是合法的:WHEREMY_SHOE_SIZE>CAST(MY_IQASSHOE_SIZE)2.8对象-关系数据库对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的对象类型及其定义
参照类型(ReferenceType)继承性子表和超表ORDBS中扩展的对象类型及其定义在ORDBMS中,类型(TYPE)具有类(CLASS)的特征,可以看成类1.行对象与行类型定义行类型(ROWTYPE):
CREATEROWTYPE<row_type_name>(<componentdeclarations>);ORDBS中扩展的对象类型及其定义(续)创建行类型[例3]
CREATEROWTYPEPerson_type (pno NUMBER, name VARCHAR2(100),
address VARCHAR2(100));
ORDBS中扩展的对象类型及其定义(续)创建基于行类型的表
CREATETABLE<table_name>OF<row_type_name>;[例4]
CREATETABLEperson_extentOFPerson_type(pnoPRIMARYKEY);
ORDBS中扩展的对象类型及其定义(续)2.列对象与对象类型可以创建一个对象类型,表的属性可以是该对象类型。创建列对象语句如下:CREATETYPE<type_name>ASOBJECT(<componentdeclarations>);ORDBS中扩展的对象类型及其定义(续)[例5]
CREATETYPEaddress_objtypASOBJECT(street VARCHAR2(50),
city VARCHAR2(50));CREATETYPEname_objtypASOBJECT(first_name VARCHAR2(30),
last_name VARCHAR2(30));ORDBS中扩展的对象类型及其定义(续)创建表,定义其中的属性是对象类型[例6]
CREATETABLEpeople_reltab( Id NUMBER(10),
name_obj name_objtyp, address_obj address_objtyp);
ORDBS中扩展的对象类型及其定义(续)3.抽象数据类型(AbastractDataType,ADT)概念:SQL3允许用户创建指定的带有自身行为说明和内部结构的用户定义类型称为抽象数据类型定义ADT的一般形式为
CREATETYPE<type_name>( 所有属性名及其类型说明,
[定义该类型的等于=和小于<函数,] 定义该类型其他函数(方法));ADT的特点(1)ADT的属性定义和行类型的属性定义类同。(2)在创建ADT的语句中,通过用户定义的函数比较对象的值。(3)ADT的行为通过方法(methods)、函数(functions)实现。(4)SQL3要求抽象数据类型是封装的,而行类型则不要求封装。(5)ADT有3个通用的系统内置函数(6)ADT可以参与类型继承2.8对象-关系数据模型对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的对象类型及其定义参照类型(ReferenceType)继承性子表和超表2.8.3参照类型(ReferenceType)REF类型(参照类型、引用类型)引入的原因: 类型之间可能具有相互参照的联系形式
REF<类型名>特点:REF类型总是和某个特定的类型相联系。它的值是OID参照类型(续)创建两个表:Employee和Company,两表之间存在相互参照关系,即某个职工在某个公司工作(1)创建行类型[例7]
CREATEROWTYPEemployee_type(nameVARCHAR(35),
ageINTEGER);CREATEROWTYPEComp_type(
compnameVARCHAR(20),
locationVARCHAR(20));参照类型(续)(2)创建基于行类型的表:
CREATETABLEEmployeeOFemployee_type;CREATETABLECompanyOFComp_type(3)描述参照关系
CREATEROWTYPEEmployment_type(employeeREF(employee_type),
companyREF(Comp_type));CREATETABLEEmploymentOFEmployment_type
表Employment中某一个元组的employee属性值是某个职工的OIDcompany属性值是该职工所在公司的OID参照类型(续)[例8]
CREATEROWTYPEemployee_type(nameVARCHAR(35),
ageINTEGER,
emp_idREF(employee_type));
[例9]
CREATETABLEEmployeeOFemployee_type
VALUESFORemp_idARESYSTEMGENERATED;参照类型(续)建立参照属性:
<参照属性名>[REF(<类型名>)]SCOPEIS<关系名>[例10]
CREATETABLEaddress_objtabOFaddress_objtyp;[例11]
CREATETABLEpeople_reltab2(idNUMBER(4)PRIMARYKEY,
name_obj
name_objtyp,
addresss_refREF(address_objtyp)SCOPEISaddress_objtab)参照类型(续)[例12]
CREATEINDEXaddress_ref_idxON people_reltab2(address_ref);[例13]
SELECTid FROMpeople_reltab2p WHEREp.address_ref.city='北京'andp.address_ref.street='牛街';2.8对象-关系数据模型对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的对象类型及其定义参照类型(ReferenceType)继承性子表和超表2.8.4继承性ORDBMS应该支持继承性一般是单继承性[例14]
CREATETYPEemp_type UNDERperson_typeAS( emp_idINTEGER, salaryREAL) NOTFINAL;NOTFINAL:表示不是类层次结构中最后的“叶结点”FINAL:该类型是类层次结构的叶结点2.8对象-关系数据模型对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的对象类型及其定义参照类型(ReferenceType)继承性子表和超表2.8.5子表和超表超表、子表、子表的子表构成一个表层次结构表层次和类型层次的概念十分相似子表和超表(续)[例15]对于下面的类型层次,先定义这些类型TYPE,然后创建基于这些类型的表类型层次示例子表和超表(续)CREATETYPEperson /*创建person类型,根类型*/(idINTEGER,
nameVARCHAR(20),
birthyearINTEGER,
addressVARCHAR(40))
NOTFINAL; /*NOTFINAL表示可以有子类型*/CREATETYPEemployee /*创建person的子类型employee*/UNDERperson /*类型employee继承person的属性*/(salaryINTEGER) /*employee定义自己的属性*/
NOTFINAL; 子表和超表(续)CREATETYPEexecutive /*创建employee的子类型executive*/UNDERemployee (bonusINTEGER)
FINAL; CREATETYPEstudent /*创建person的子类型student*/UNDERperson(majorVARCHAR(10),wageDECIMAL)
FINAL子表和超表(续)[例16]Department类型和employee具有相互参照的联系,使用REF来表示这种联系
CREATETYPEdepartment (IDINTEGER,
managerREF(employee),
BudgetINTEGER);ALTERTYPEemployee
ADDATTRIBUTEdeptREF(department);子表和超表(续)定义基于这些类型的基本表和表层次:CREATETABLEperson_tableOFperson (nameWITHOPTIONSNOTNULL);employee_table是person_table的子表CREATETABLEexec_tableofexecutiveUNDERemployee_tableCREATETABLEemployee_tableOFemployeeUNDERperson_table; 子表和超表(续)CREATETABLEstudent_tableOFstudent
UNDER
person_table;
CREATETABLEdept_tableOFdepartment(managerSCOPEISemployee_table);ALTERTABLEemployee_tableALTERCOLUMNdeptADDSCOPEISdept_table;子表和超表(续)查询[例16]所创建的表[例17]
SELECTname,addressFROMperson_tableWHEREbirthyear<=1970;子表和超表(续)关闭子表的检索[例18]
SELECTname,addressFROMONLYperson_tableWHEREbirthyear<=1970;子表和超表(续)INSERT、DELETE、UPDATE对子表和超表的操作规则INSERT:向子表插入一行时一般会在该子表的超表上也插入一行。DELETE:从表删除一行时一般会在该表的超表和子表上也删除相应的一行Thanks空间数据与空间数据结构空间数据库2.1空间数据的定义与分类空间数据与伪空间数据空间数据是可以利用表示地球表面或近地表位置的空间属性被显示、操纵和进行分析的数据。空间数据有两个重要性质:它们以一个地理空间为参考。
它们用多种比例尺表示。当用相对小的比例尺记录空间数据时,可以代表地球表面或邻近表面的较大区域。空间数据类型空间数据与伪空间数据一些形式的空间数据不能被直接用于空间应用。这样的空间数据被称为伪空间数据,包括:街道地址(E.g.,addressesinacustomerdatabase),字母-数字地理数据(e.g.,demographiccharacteristicsandsocio-economicdataofacensusenumerationarea),扫描地图/航空照片.2.2空间数据功能引言在空间数据库环境中,可以根据数据在数据库管理和应用中各自的职责来进行分类,这是符合逻辑的.空间数据功能按功能对空间数据进行分类,可以将空间数据分为四种类型:基础地图数据层。包括为数据库中所有数据构成空间参考框架的大地测量控制网络,和各种各样的为收集、分析和显示等应用以及下面介绍的业务解决方案数据提供地理参考的基础地形数据。框架数据层。包括三个为人类在陆地上的活动提供地理参考的相关图层,即,(a)地块图层,为土地开发和土地管理应用提供框架;(b)设施图层,形成公共事业和资源管理中设施管理的基础;(c)地址图层,用于支持各种土地和资源要求使用的市政的或邮政的地址。
空间数据功能按功能对空间数据进行分类,可以将空间数据分为四种类型:应用数据层。包括收集和用于以基础地图层和框架数据层作为基本地理参考的土地和资源管理等不同数据库应用的多种空间数据集。业务解决方案层。这是空间数据层的集合,包括框架和应用数据层及它们的派生数据,连同相关的非空间数据,被装配去支持机构或者组织内部部门的运作和决策功能。2.3The“Geometry”ofSpatialDataThe“Geometry”ofSpatialData空间数据有两个关键方面:数据的表示关系的表示为此引入两个概念作为空间数据的表示方式:几何(geometry)拓扑(topology)The“Geometry”ofSpatialData“Geometry”通常被理解为数学的一个分支,处理零维和高维空间的点、线、角、面和固体的属性及关系。在空间数据处理方面,开放地理空间联盟(OGC)在其出版的《关于SQL的OpenGIS简单要素规范》(OGC,1999)中正式使用时,几何就被赋予了一种全新的意义。TheOGCproposedahierarchyofspatialdatatypes,calledthegeometryobjectmodel,whichallowsspatialfeaturestoberepresentedinadatabaseThe“Geometry”ofSpatialData在几何对象模型中,“Geometry”一词被用来表达一个在数据库中至少有一个几何属性的“对象”的空间要素。实例化作为层次几何对象模型的根类,几何是一个不可实例化的构造。基础几何类有四个子类,即点、线、面和几何集合。这些几何子类是可实例化的构造。Geometry的子类包含一套明确的处理,称为方法,用来测试它们各自的几何性质,定义其空间关系,并支持它们在空间分析中的应用。The“Geometry”ofSpatialData图元在几何对象模型中有许多几何类型。这些几何类型是用于构建几何对象的图元对象与图元一个对象由一个更多的图元来构建简单对象与复杂对象简单对象:由一个图元构成复杂对象:有多个图元构成The“Geometry”ofSpatialData空间数据库中的图层
空间数据库中,共享相同属性的“几何”集所形成的层(也称为要素类)。
同一层的对象往往被存储在相同的表中。The“Geometry”ofSpatialData“Geometry”anditsrelationshipwithotherelementsasrepresentationsofspatialfeatures2.4拓扑与拓扑数据结构拓扑拓扑拓扑是一个数学领域。它研究当图形形状在弯曲、拉伸、收缩或其他方式扭曲下几何形状保持不变的属性。它是一个橡胶板上几何的研究,关注的是几何图形之间的关系而不是它们的固定坐标。
拓扑当拓扑应用于空间数据结构中时,它通常定义为邻近真实世界要素的空间关系,包括(LoandYeung,2006):相邻(Adjacency),空间图形中同类元素之间的拓扑关系。连通(Connectivity),空间图形中弧段之间的拓扑关系。包含(containment),空间图形中不同类或同类但不同级元素之间的拓扑关系。
可见,拓扑数据结构是存储真实世界要素之间固有关系的。
拓扑数据结构拓扑数据结构拓扑数据结构用于存储真实世界要素之间的固有关系拓扑数据结构的概念假定空间特征存在于一个二维平面上,所以空间数据的关系可以定义为三个谓词:节点(0维)边(1维)多边形(2维)
NodesInatopologicaldatastructure,anode(alsocalledapoint)isaspatialfeatureof0dimensionswhereoneormoreedges(alsocalledarcs,chains,andsegmentsorlines)connecttoformatopologicaljunction.
EdgesAnedgeisaspatialfeatureof1dimensionthatisformedbyadirected,non-branchingsequenceofnon-intersectinglinesegmentsboundedbya‘from’anda‘to’node.
EdgefromtoPolygonApolygon(alsocalledatopologicalring,faceorarea)isa2-dimensionspatialfeaturethatisclosedonitselfbyasequenceofconnectedanddirectededges.
N1N2N3N4P1P2P3A1A2A3A4A5A6N5A7P4PolygonLeftandrightpolygonsTheboundingedgesofapolygonreferencethepolygonstotheirleftandrightthroughthe‘from’and‘to'nodesthatdefinethedirectionoftheedge.
N1N2N3N4P1P2P3A1A2A3A4A5A6N5A7P4FromToleftrightPolygonWorldoruniversepolygonIfnopolygonexiststotheleftortherightofaparticularedge,thenthe“empty”spaceisassignedasthe“world”(alsocalledauniversepolygon).
worldN1N2N3N4P1P2P3A1A2A3A4A5A6N5A7P4一维或网络拓扑在空间数据库中,一维或者网络拓扑是通过节点和边缘基元建立起来的。
NodeEdge二维或平面拓扑当拓扑结构为封闭的多边形对象时,空间数据集就成了二维或者平面拓扑。
Arc-node拓扑在空间数据集中,弧-节点拓扑关系是通过在线交点和端点插入节点来实现的。
2.5非拓扑数据结构Shapefiledatamodel在20世纪90年代初由Inc.美国环境系统研究院(ESRI)研发的ArcView2.0版本发布的非专有或“公开”的数据模型利用“全多边形”数据结构存储空间数据“全多边形”数据结构以离散实体存储单个多边形一种非拓扑数据结构,因为它没有明确存储空间关系
Shapefile
构成
Mainfile结构MainFile头结构
Themainfileheaderis100byteslongShapetype取值
Record
header
PointRecord
ContentPolylinestructurePolylineRecord
ContentPolygonstructurePolygonRecord
Content2.6Geo-relationalModelGeo-relationalModel传统上,空间数据通常存储在特定GIS专有结构中,利用通常所称的地理关系数据模型(Morehouse,1985and1989)在这个模型中,空间数据被抽象成一系列独立定义的层。每层代表了一个相关空间要素的集合,如道路、土壤类型、土里覆盖、地块和排水。显然,所有图层都必须占用或者至少在一些空间重合区,低于甚至高于地球表面,在相同的地理空间建模。
Geo-relationalModel显然,所有图层都必须占用或者至少在一些空间重合区,低于甚至高于地球表面,在相同的地理空间建模。
Geo-relationalModel2.7面向对象数据模型面向对象数据库系统支持OO模型面向对象数据库系统:一个持久的、可共享的对象库的存储和管理者对象库:由一个OO模型所定义的对象的集合体2.7面向对象数据模型OO模型的核心概念类层次(结构)继承对象的嵌套2.7.1OO模型的核心概念1.对象定义:对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。组成部分属性(Attribute)集合属性描述对象的状态、组成和特性方法(Method)集合描述了对象的行为特性OO模型的核心概念(续)2.对象标识OID(ObjectIDentifier)概念:面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID)特点:永久持久性独立于值的、系统全局唯一的OO模型的核心概念(续)3.封装(Encapsulation)每一个对象是其状态与行为的封装封装是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息
对象封装之后查询属性值必须通过调用方法
OO模型的核心概念(续)4.类(Class)对象类(简称类):共享同样属性和方法集的所有对象构成了一个对象类实例:一个对象是某一类的一个实例(instance)在OODB中,类是“型”,对象是某一类的一个“值”2.7面向对象数据模型OO模型的核心概念类层次(结构)继承对象的嵌套2.7.2类层次(结构)节点中只有本身的特殊属性和方法同时它们又继承点状地物、复杂地物和空间地物的所有属性和方法逻辑上它们具有空间地物、点状地物和本身的所有属性和方法面向对象的层次几何数据模型类层次(结构)(续)超类/子类之间的关系体现了“ISA”的语义超类是子类的抽象(Gener
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 1111-2018采摘体验基地旅游服务规范
- DB31/T 1044-2017军队离休退休干部服务管理机构服务规范
- DB31/ 17-2012资源综合利用发电运行管理规范
- CAB 1023-2014便携式节水洗车器
- 2025设备采购合同书协议范本
- 2025年终止合同赔偿金标准是多少
- 环境污染治理项目管理考核试卷
- 2024年氨纶锦纶包覆丝资金申请报告代可行性研究报告
- 2024年水电站计算机监控装置项目资金需求报告代可行性研究报告
- 网红特色咖啡连锁区域代理合作协议及加盟政策说明
- 电子工程师考试试题
- 公益慈善基金会的品牌建设与传播
- 《胖东来企业文化指导手册》
- 浙江省宁波市鄞州区2023-2024学年八年级下学期期末数学试题
- 新行政诉讼法课件讲座
- 2024年湖南湘西自治州公开招募“三支一扶”高校毕业生(高频重点复习提升训练)共500题附带答案详解
- 打地坪施工合同范本
- 厂区保洁服务投标方案【2024版】技术方案
- 2024中考化学成都10年考情及趋势分析【必考知识点】
- 腹腔镜手术设备使用说明与注意事项
- 二手房委托代理协议书范本参考
评论
0/150
提交评论