空间数据库复习资料资料.docx
《空间数据库复习资料资料.docx》由会员分享,可在线阅读,更多相关《空间数据库复习资料资料.docx(13页珍藏版)》请在冰豆网上搜索。
![空间数据库复习资料资料.docx](https://file1.bdocx.com/fileroot1/2023-6/5/17974109-6dfe-4a5d-ad11-abb8bd33a85f/17974109-6dfe-4a5d-ad11-abb8bd33a85f1.gif)
空间数据库复习资料资料
空间数据库复习资料
空间数据库复习资料
(仅供参考)
1.什么是空间数据库?
阐述空间数据库管理系统的主要功能?
答:
(1)空间数据库:
是长期储存在计算机内、有组织的、可共享的大量空间数据的集合。
(指某区域内以特定的信息结构和数据模型表达、存储和管理的空间数据的集合。
)
(2)主要功能:
数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能;空间数据和空间关系的定义和描述,空间操作算子,空间数据索引,空间数据查询语言,几何完整性约束,长事务管理,海量空间数据的存储和组织,空间数据的可视化。
2.阐述数据库系统的外部、内部体系结构。
答:
(1)外部体系结构:
单用户结构/主从式结构,客户/服务器,分布式结构,B/S结构
(2)内部体系结构:
三级模式结构:
外模式,模式,内模式
3.什么是数据模型?
阐述常用数据模型的基本思想。
答:
(1)数据模型:
在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。
数据模型应满足三方面要求:
能比较真实地模拟现实世界,容易为人所理解,便于在计算机上实现。
(2)常用数据模型的基本思想:
①层次模型是用树形结构来表示实体及实体间联系的模型,它将数据组织成一对多的联系。
②网状模型是用网状结构来表示实体及实体间联系的模型,它将数据组织成多对多的联系。
③关系模型是用二维关系来表示实体及实体间联系的模型,它将数据组织成规范化的关系表格。
④面向对象模型象的基本思想就是以接近人类思维的方式将客观世界的一切实体或现象模型化为一系列对象。
每一种对象都有各自的内部状态和行为,不同对象之间的相互联系和相互作用就构成了各种不同的面向对象系统
4.什么是空间索引?
阐述格网索引、四叉树索引、R树索引的基本思想。
答:
(1)空间索引,也叫空间访问方法,是指依据空间对象的位置、形状以及空间对象之间的某种空间关系,按一定顺序排列的一种数据结构。
其中包括空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。
(2)①格网空间索引的基本思想是将研究区域按一定规则划分为大小相等或不等的网格,记录每一个网格所包含的地理对象。
当用户进行空间查询时,首先计算出用户查询对象所在的格网,然后通过该格网快速查询所选的地理对象。
②四叉树是一种对空间进行规则递归分解的空间索引结构,将已知范围的空间划成四个相等的子空间。
如果需要可以将每个或其中几个子空间继续划分下去,这样就形成了一个基于四叉树的空间划分。
③R-Tree是基于空间数据对象分割的空间索引方法,它采用空间对象的最小外包矩形MBR来近似表达空间对象
5.如何扩展SQL语言,使其支持空间查询?
答:
SQL的空间扩展,需要一项普遍认可的标准。
OGC是由一些主要软件供应商组成的联盟,负责制定与GIS互操作相关的标准。
在OGIS标准中,所指定的操作可分成三类:
⑴用于所有几何类型的基本操作,⑵用于空间对象间拓扑关系的操作测试,⑶用于空间分析的一般操作
6.阐述数据库设计的基本步骤。
答:
数据库设计分6个阶段:
需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护
7.阐述数据库的安全性、完整性、并发控制、数据库恢复基本思想。
答:
①数据的安全性:
保护数据库防止恶意的破坏和非法的存取,防范对象:
非法用户和非法操作。
②数据的完整性:
防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据,防范对象:
不合语义的、不正确的数据。
③并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。
④数据库的恢复:
把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态),利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据。
8.数据库的完整性确保数据的正确性和相容性,阐述Geodatabase提供了哪些措施来保证数据的完整性。
答:
为了帮助确保数据完整性,geodatabase提供了AllowNulls字段属性,domains,subtypes,relationshipclasses和defaultvalues
9.深入理解Geodatabase中的要素类、关系类、子类型、属性域、拓扑等基本概念及相关内容。
答:
(1)要素类是具有相同几何类型和属性的要素的集合。
在geodatabase中常用的要素类有四种:
点、线、多边形和注记。
(2)关系类管理一个类中(要素类或表)的对象与另一个类中对象的关系。
在关系的任何一端的对象可以是几何要素,或是表中的记录。
(3)子类型是一个要素类或表中的分类。
它们允许基于数据的惟一的特征或行为从逻辑上将要素分类。
这种特征或行为由表中的某一个属性值来表达。
(4)属性域是描述一个字段类型的合法值的规则。
它们通过限制一个用户能添加到一个特定字段的数据值来强化数据完整性。
(5)Geodatabase拓扑由一系列拓扑规则来定义。
拓扑规则定义要素之间可允许的空间关系.
10.比较、分析Geodatabase中的简单关系和复合关系。
答:
(1)简单关系中,相关对象可以相互独立存在;当在一个简单关系中删除源类中的一个对象,对于目标类中匹配对象的关键字值设置为Null。
删除目标类中的对象不会影响源类中的对象;简单关系可以有一对一、一对多、多对多的基数。
(2)一个复合关系中,目标类不能独立于源类而存在,因此当删除源类中的对象时,目标类中相关对象被级联删除;一个复合关系同样也帮助用户从空间完整性上维护要素,移动或旋转一个源要素会引起目标要素也跟着它移动或旋转;复合关系通常是一对多,但也可以通过关系规则限制到一对一。
11.什么是子类型?
什么情况下创建子类型,什么情况下创建新的要素类?
答:
(1)子类型是一个要素类或表中的分类。
它们允许基于数据的惟一的特征或行为从逻辑上将要素分类。
这种特征或行为由表中的某一个属性值来表达。
(2)当需要通过默认值、属性域、连接规则、关联规则区分对象时,就需要对单一的要素类或表建立不同的子类型;当根据不同的行为、属性、访问权限或对象的多版本来区分对象时,必须建立另外的要素类
12.使用MicrosoftVisio如何设计Geodatabase模式?
答:
(1)启动MicrosoftVisio,在工具/选项/安全性/宏安全性中设置安全性为中或低。
重新运行VISIO2003;
(2)新建UML对象模型图;(3)连接到ArcInfoUMLModel上;(4)创建Workspace工作空间,双击Workspace图,在界面下方打开它;(5)从“UML静态结构(UMLStaticStructurestencil)”中拖放“包(Package)”到Workspace图中;(6)双击刚创建的包,打开包属性对话框;(7)创建要素数据集,给包命名,并设置包的构造型(Stereotype)为FeatureDataset;(8)从“模型资源管理器”中的“ESRIClasses”下拖放将要创建的要素类的父类Object、Feature到要素数据集的设计图中;在数据集下创建要素类,从“UML静态结构(UMLStaticStructurestencil)”中拖放“类(Class)”到设计图中,该类即为要创建的要素类;拖放“UML静态结构”中的“泛化(Generalization)”到设计图中,拖曳泛化箭头端并连接到该要素类的父类,另一端连接到要素类;双击刚创建的要素类,打开其属性对话框,给要素类命名;在要素类的属性对话框中,鼠标点击“标记值”,然后新建标记“GeometryType”,键入其值为“esriGeometryPolyline”(polygon、point等);
(9)在要素类的属性对话框中,鼠标点击“特性”,为新建的要素类,添加字段定义;
(10)创建子类型:
①先将定义子类型的字段的构造型设置为SubtypeField;
定义Subtype的字段类型必须是esriFieldTypeInteger,在创建子类型时,应将该字段的构造型设置为SubtypeField.
②通过复制、粘贴,创建用于子类型的类,删除与子类型无关的字段,设置与子类型相关的字段的缺省值、属性域及子类型代码;
③在父类(要创建子类型的类)、子类(通过复制粘贴产生的类)之间建立二元关系,并将其构造型设置为Subtype。
(11)创建代码值属性域:
Creatingcodedvaluedomains右键点击Workspace包下的TemplateRangeDomain,然后选择“重复(duplicate)”,通过复制创建一个属性域,然后拖放到Workspace的设计图中,并进行相关属性设置。
(12)设计UML图并输出为XMI文件(工具→加载项→ESRIXMIEXPORT)
(13)在Catalog中利用schemawizard将模型导入到Geodatabase中
13.使用ArcGISDiagrammer如何设计Geodatabase模式?
答:
(1)启动ArcGISDiagrammer;
(2)File>New;(3)拖放FeatureDataset创建要素数据集;(4)设置空间参考系;(5)拖放要素类,右键要素类向该要素类中添加字段;(6)把要素类加入到数据集中:
引用工具条上的LinkMode,选择工具后,先点击要素数据集,并按住鼠标左键,拖放到要素类上面,然后依次重复操作,把要连的都连好。
(7)子类型的创建:
拖放子类型,设置子类型的属性,在要素类中选择subtypeFieldName,选择子类型字段;(8)创建独立要素类:
拖放要素类,设置空间参考系,添加字段。
(9)属性域的设置:
拖放一个属性域,右键添加代码值,设置属性;(10)Tools>Validate进行模式校验
(11)保存数据Five>Save;(12)点击工具条上的Publish,发布成xml格式数据并选择地址保存;(13)打开ArcCatalog,在你创建的数据库目录下,右键导入xml,找到所保存的xml导入。
14.拓扑验证(Validate)过程中的聚集处理(Clusterprocessing)受哪些因素的影响,如何影响?
答:
受x,y容差的影响。
当坐标点在X方向、Y方向的距离在XY容差范围内时,这些坐标点被认为是坐标一致,在聚集操作中它们会捕捉到同一个点上。
一般情况下,低精度的点向高精度的点移动,或按距离的加权平均,计算出新聚集点的位置。
距离的加权平均是基于坐标的精度等级。
坐标点之间允许移动的最大距离为XY容差的根号2倍。
15.“脏区(Dirtyareas)”有何作用?
简述产生“脏区”的五种情况。
答:
(1)脏区的作用:
“脏区”能让拓扑有效地记录那些在编辑中可能违反拓扑规则的区域,“脏区”允许选定部分而不是整个范围的拓扑编辑后验证。
(2)产生“脏区”的5种情况:
①要素被创建或删除;②要素几何被修改;③要素的子类型被更改;④版本被协调;⑤拓扑属性被更改。
16.在一个版本化的要素数据集中建立一个新拓扑或者修改一个已存拓扑的模式,请阐述如何完成?
答:
(1)反注册要素数据集为版本;
(2)建立新拓扑或者修改已存拓扑(3)注册要素数据集为版本。
17.请阐述在创建复制和同步复制这一过程中,对Geodatabase中的拓扑是如何处理的?
答:
参与一个拓扑的所有要素类被一起复制。
单个拓扑要素类不能排除在复制之外。
当拓扑要素类被复制,在子geodatabase中的拓扑范围内将被标识为脏区域。
为了找出已存的错误,拓扑首先必须验证。
拓扑将和在父geodatabase中一样工作:
编辑建立脏区域,验证creates/deletes错误。
如果一个要素被标识为拓扑规则的异常,这个在子geodatabase中也将作为一个异常出现和被维护。
拓扑被同步后,所有的变化(插入、更新和删除)被标识为脏区域。
标准拓扑和版本协调规则将应用于协调和提交过程。
当复制被建立时整个区域都是脏区域。
验证后一个错误要素仍会出现。
三种编辑可以进行:
编辑被修改,但没有被验证;一个要素被删除但没有被验证;发生一个错误并验证
当子复制被父复制同步,在父复制中所有的编辑区域以脏区域出现,需要被验证。
18.阐述要素几何在OracleArcSDEGeodatabase中如何存储(5种存储方式,及每种存储方式使用的主要系统表)。
答:
(1)ArcSDECompressedBinaryLongRaw
(2)Well-KnownBinary(OGCWKB)BLOB
(3)LOBBLOB
(4)ArcSDESpatialTypeST_Geometry*
(5)OracleSpatial–GeometryTypeSDO_Geometry
19.阐述Oraclegeodatabase中的BLOB数据存储。
答:
ArasterdatasetstoredinLONGRAWorBLOBismadeupofseventablesinthegeodatabase:
thebusinesstable,featuretable,spatialindextable,auxiliary,block,band,andrasterattributetables
ThearchitectureoftheBLOBdatatypeisdividedintothreebasiccomponents:
theBLOBcolumn;theLOBsegment;theLOBindex
TheBLOBcolumnstorestheLOBlocator(36bytes)andbinarydatainrowifitislessthan3,965bytesandin-rowstoragehasnotbeendisabledforthecolumn.Ifthebinarydataexceeds3,964bytes,thein-rowstoragespaceoftheBLOBcolumnisnotallocated,andtheLOBlocatorreferencesthebinarydatastoredintheLOBsegment.
Therefore,avaluestoredinaBLOBcolumnwithin-rowstorageenabledisalwaysatleast36bytes(thespaceallocatedtotheLOBlocator)andmaybeaslargeas4,000bytes(thecombinedspaceallocatedtotheLOBlocatorandthemaximumspacethatcanbeallocatedtobinarydatastoredinrow).
TheLOBsegmentisdividedintochunks.ChunksmustbeamultipleoftheOracledatablocksize.Chunksizesof4Kand2Khavebeenfoundtowastelessspace,buttheincreaseinI/Ocostdoesnotwarrantusingthem.
TheLOBindexisonlyusedifthenumberofchunksaddressedbytheLOBlocatorexceeds12;otherwise,thefirst12chunksareaddressedbytheLOBlocator.
20.ArcSDEGeodatabase在Oracle中是如何识别事务表和其相联系的要素表、索引表。
答:
在binaryschema实现中,businesstable中的空间列包含一个要素ID,它惟一地引用空间数据。
要素的ID将businesstable和其它2个表(featuretable和spatialindextable)连接起来。
featuretable通过LAYERStable的layer_id列的数值来标识。
businesstable和featuretable之间的关系通过要素ID或者FID来管理。
OracleSpatialusesaspatialgeometrytype—MDSYS.SDO_GEOMETRY.Thesefeatureclassesalsohaveabusinesstableasdescribedabove.ThebusinesstablecontainsacolumnoftypeSDO_GEOMETRY,inwhichthefeatureclassgeometryisstored.
21.试分析ArcSDEEnterpriseGeodatabase是如何对版本化的Geodatabase管理的?
答:
ArcSDEgeodatabase使用版本机制支持多用户环境下空间数据管理和更新。
版本机制,变化信息以增量记录的形式存储在数据库中。
22.当编辑版本化Geodatabase时,哪些情况下会产生冲突?
答:
(1)同一要素要当前版本和目标版本都被更新;
(2)同一要素在一个版本中被更新,在另一版本中被删除;(3)拓扑相关的要素或关系类在当前的编辑版本和目标版本都被修改时。
23.试比较编辑非版本化数据和版本化数据的差异?
答:
非版本化数据编辑相当于执行标准的数据库事务。
当在ArcMap编辑会话中编辑非版本化数据时,直接编辑数据源;不像versioned编辑会话那样存储变化到其他的表中,避免了管理这些额外表的开销;可采用第三方软件读取和编辑这些数据。
非版本化编辑仅能编辑简单数据集,不能编辑topology或者geometricnetwork中的要素类。
当在ArcSDEgeodatabase中编辑非版本化数据时,必须考虑DBMS行为
版本允许多用户编辑ArcSDEgeodatabase中的同一数据,而不需要应用锁定及复制数据
提供Undo/Redo编辑
Lock的缺少导致编辑冲突的引入。
ArcGIS提供了方便的detect,reconcile,和resolveconflicts功能
归档功能,及时查询某一特定时间数据库的状态如何
编辑几何网络或拓扑中要素的功能
复制/同步功能
离线复制/同步功能,支持野外数据采集,更新Geodatabase.
24.当注册数据为版本时,带有“withtheoptiontomoveeditstobase”选项和不带有此选项有何区别?
答:
当注册一个数据集为版本,含Moveeditstobase这个选项时,在如何操作版本上有限制:
(1)仅能编辑简单数据-points,lines,polygons,annotation,andrelationships,不能编辑topologyorgeometricnetwork中的要素类;
(2)不能存档数据集变化;(3)不能复制数据集;(4)当编辑DEFAULTversion或者提交一个版本到DEFAULT,没有解决冲突的能力,因此有可能覆盖其他用户的编辑
不含moveeditstobase选项注册数据为版本,允许利用所有的版本化编辑功能。
(1)Undo和redo编辑;
(2)执行长事务编辑;(3)为设计和工程使用命名版本;(4)使用geodatabasearchiving;(5)使用replication;(6)在要素类的basetable上建立一个惟一性约束
25.版本权限如何根据具体情况进行设置?
答:
(1)Private:
只有它的所有者可以查看、修改其中的要素;
(2)Protected:
任何用户都可以查看其中的要素,但只有它的所有者可以修改
(3)Public:
任何用户都可以查看、修改其中的要素
26.版本冲突如何定义?
版本冲突如何协调?
答:
(1)Row:
Asecondusereditsthesameroworfeature,ortopologicallyrelatedfeaturesasyoudid.Theconflictoccursevenifyouediteddifferentattributes.Thisisthedefault.
(2)ColumnAsecondusereditsthesameattributeofafeatureorrecord.
若解决冲突时,编辑会话优先,编辑会话中的冲突要素代替数据库中的要素。
若解决冲突时,数据库表达优先,编辑会话中的所有冲突要素被数据库中的要素所代替。
如果多个用户编辑同一个版本,发现冲突,所有冲突的要素会用先保存的编辑要素来代替。
Therearefivedifferentreplacementoptionsyoucanusetoresolveconflicts:
(1)Attributereplacement;
(2)Featurereplacement;(3)Class-levelreplacement;(4)Completereplacement;(5)Mergegeometries
27.理解Geodatabase历史数据归档的含义;当编辑保存或提交到DEFAULT版本时,针对新建、更新、删除要素,归档类如何处理?
答:
(1)ArcGIS中的历史数据归档提供了记录和访问版本化geodatabase中所有数据或者部分数据子集的变化的功能。
Geodatabase历史数据归档是应用、管理和分析数据变化的机制。
(2)新建要素:
在DEFAULT版本中创建的要素,在归档类表达为行,其gdb_from_date属性设置为归档操作的时间戳,而其gdb_to_date属性设置为12/31/9999
(3)更新要素:
在DEFAULT版本中更新的要素,在归档类中相应要素的gdb_to_date属性设置为归档操作的时间戳,并插入一条新记录,其gdb_from_date属性设置为归档操作的时间戳,而其gdb_to_date属性设置为12/31/9999
(4)删除要素:
在DEFAULT版本中删除的要素,在归档类中更新相应要素,即将其gdb_to_date属性设置为归档操作的时间戳
28.深入理解复制/同步技术的思想,关系类、拓扑、几何网络的复制/同步有何特点?
答:
在创建复制的过程中,满足过滤条件的对象和要素被添加到复制中。
一旦完成,关系类被处理添加相关的对象。
每个关系类仅在一个方向被处理。
默认的方向是forward,但是也可以使用Backward方向。
Forward方向是根据源类中被复制的要素或对象,从目标类找到相关对象,并添加到复制中
参与一个拓扑的所有要素类被一起复制。
单个拓扑要素类不能排除在复制之外。
如果一个要素被标识为拓扑规则的异常,这个在子geodatabase中也将作为一个异常出现和被维护。
参与