第一篇:地理空间数据库实习报告
《地理空间数据库》实习报告
姓
名
学
号
指导教师
专
业
所在学院
提交日期
2014年
月
日
实习一 **** 实习目的:
实习要求:
实习步骤:
实习结果:(如果是SQL语句或者存储过程,则将执行结果附图)
实习体会:(可以总体写一段)
第二篇:空间数据库实习3代码
/*--
一、Country表创建及记录录入
--1.创建一个新的Country表,包含Name、Cont、Pop--GDP、Life_Exp、Shape字段 CREATE TABLE Country(Name NVARCHAR(80)NOT NULL PRIMARY KEY, Cont NVARCHAR(10)NULL, Pop NUMERIC(38,15)NULL, GDP NUMERIC(38,15)NULL, Life_Exp NUMERIC(5,2)NULL, Shape GEOMETRY)go
--2.向Country表中添加Name,Pop,Shape记录数据 INSERT INTO Country(Name,Pop,Shape)SELECT CNTRY_NAME,POP2005,Shape from COUNTRY06
WHERE CNTRY_NAME IN('Canada','Mexico', 'Brazil','Cuba','United States','Argentina')GO
--3.更新Country表数据,更新表中的Cont、GDP、Life_Exp数据
USE spatialdata UPDATE Country SET Cont='NUM',GDP=658.0,Life_Exp=77.08 WHERE Name='Canada' GO
UPDATE Country SET Cont='NUM',GDP=694.3,Life_Exp=69.36 WHERE Name='Mexico' GO
UPDATE Country SET Cont='SAM',GDP=1004.0,Life_Exp=65.60 WHERE Name='Brazil' GO
UPDATE Country SET Cont='NUM',GDP=16.9,Life_Exp=75.95 WHERE Name='Cuba' GO
UPDATE Country SET Cont='NUM',GDP=8003.0,Life_Exp=75.75 WHERE Name='United States' GO
UPDATE Country SET Cont='SAM',GDP=348.2,Life_Exp=70.75 WHERE Name='Argentina' GO */ /*--
二、City表创建及记录录入
--1.创建一个新的City表,包含Name、Country、Pop--Captial、Shape字段 CREATE TABLE City(Name_C NVARCHAR(80)NOT NULL PRIMARY KEY, Country NVARCHAR(80)NULL FOREIGN KEY
REFERENCES Country(Name), Pop NUMERIC(38,15)NULL, Captial NVARCHAR(1)NULL, Shape GEOMETRY)GO
--2.向City表中添加Name,Country,Shape记录数据 USE spatialdata INSERT INTO City(Name_C,Country,Shape)SELECT CITY_NAME,CNTRY_NAME,Shape from CITIES WHERE CITY_NAME IN('Havana','Washington D.C.', 'Monterrey','Toronto','Brasilia','Rosario','Ottawa','Mexico City','Buenos Aires')GO
--3.更新City表中的数据 USE spatialdata UPDATE City SET Pop=2100000,Captial='Y' WHERE Name_C='Havana' GO
UPDATE City SET Pop=3200000,Captial='Y' WHERE Name_C='Washington D.C.' GO
UPDATE City SET Pop=2000000,Captial='N' WHERE Name_C='Monterrey' GO
UPDATE City SET Pop=3400000,Captial='N' WHERE Name_C='Toronto' GO
UPDATE City SET Pop=1500000,Captial='Y' WHERE Name_C='Brasilia' GO
UPDATE City SET Pop=1100000,Captial='N' WHERE Name_C='Rosario' GO
UPDATE City SET Pop=800000,Captial='Y' WHERE Name_C='Ottawa' GO
UPDATE City SET Pop=1400000,Captial='Y' WHERE Name_C='Mexico City' GO
UPDATE City SET Pop=1075000,Captial='Y' WHERE Name_C='Buenos Aires' GO */ /*--
三、River表创建及记录录入
--1.创建一个新的River表,包含Name、Origin、Length、Shape字段 USE spatialdata CREATE TABLE River(Name_R NVARCHAR(80)NOT NULL PRIMARY KEY, Origin NVARCHAR(80)NULL FOREIGN KEY
REFERENCES Country(Name), Length_ NUMERIC(8,2)NULL, Shape GEOMETRY)GO
--2.向表中插入记录 USE spatialdata INSERT INTO River(Name_R, Shape)SELECT NAME, Shape from RIVERS WHERE Name in('Rio Paranaiba','St.Lawrence','Rio Grande, North America','Mississippi')GO
--3.更新River表中的数据 USE spatialdata UPDATE River SET Origin='Brazil',Length_ =2600 WHERE Name_R='Rio Paranaiba' GO
UPDATE River SET Origin='United States',Length_ =1200 WHERE Name_R='St.Lawrence' GO
UPDATE River SET Origin='United States',Length_ =3000 WHERE Name_R='Rio Grande, North America' GO
UPDATE River SET Origin='United States',Length_ =600 WHERE Name_R='Mississippi' GO */
--
四、空间查询 /*--1.列出Country 表中所有与美国(United States)--相邻的国家名字 USE spatialdata SELECT C1.Name 'Neighbors of United States' FROM Country C1,Country C2 WHERE C1.Shape.STTouches(C2.Shape)=1 AND C2.name='United States'
--2.找出River表中所列出的河流经过的国家
SELECT R.Name_R, C.name FROM River R,Country C WHERE R.Shape.STCrosses(C.Shape)=1
--3.对于River 表中列出的河流,在City表中--找到距离其最近的城市
SELECT C1.Name_C,R1.Name_R, C1.Shape.STDistance(R1.Shape)Distance,R1.Shape FROM City C1,River R1 WHERE C1.Shape.STDistance(R1.Shape)< all(SELECT C2.Shape.STDistance(R1.Shape)
FROM City C2 WHERE C1.Name_C<>C2.Name_C)
--4.查询St.Lawrence河能为公里以内的城市--供水,列出能从该河获得供水的城市。SELECT Ci.Name_C FROM City Ci,River R WHERE Ci.Shape.STOverlaps(R.Shape.STBuffer(300))=1 AND R.Name_R='St.Lawrence'
--5.列出Country表中每个国家的名字、人口和国土面积 SELECT C.Name,C.Pop,C.Shape.STArea()AS 'Area' FROM Country C
--6.求出河流在流经的各国境内的长度 SELECT R.Name_R,C.Name, R.Shape.STIntersection(C.Shape).STLength()AS 'Length' FROM River R,Country C WHERE R.Shape.STCrosses(C.Shape)=1
--7.列出每个国家的GDP及其首都到赤道的距离 SELECT Co.GDP,--geometry::Parse('POINT(0,Ci.Shape.STY)')geometry::Point(0,Ci.Shape.STY,4326).STDistance(Ci.Shape)AS 'Distance' FROM Country Co,City Ci WHERE Co.Name=Ci.Country AND Ci.Captial='Y'
--8.按其邻国数目的多少列出所有国家
SELECT Co.Name,count(Co1.Name)' Count Country Number' FROM Country Co,Country Co1 WHERE Co.Shape.STTouches(Co1.Shape)=1 GROUP BY Co.Name ORDER BY count(Co1.Name)
--9.列出只有一个邻国的国家。如果一个国家与另一个国家
--在陆地上有一条共同的国界,那么这个国家就是另一个国家--的邻国
SELECT Co.Name,count(Co1.Name)' Count Country Number' FROM Country Co,Country Co1 WHERE Co.Shape.STTouches(Co1.Shape)=1 GROUP BY Co.Name HAVING Count(Co1.Name)=1--10.查询哪一个国家的邻国多,并创建其视图 GO CREATE VIEW Neighbor AS SELECT Co.Name,count(Co1.Name)AS num_Neighbors FROM Country Co,Country Co1 WHERE Co.Shape.STTouches(Co1.Shape)=1 GROUP BY Co.Name
GO SELECT Name,num_Neighbors FROM Neighbor WHERE num_Neighbors=(SELECT max(num_Neighbors)FROM Neighbor)*/
第三篇:2012年空间数据库实习总结
空间数据库实习总结
经过对空间数据库的课堂教学的学习,我们对空间数据库的建立有了理论上的基础,于十八周进行了空间数据库的课程设计实习。
此次实习主要在计算机上实现,在ArcCatalog和ArcGIS软件平台上进行。旨在让学生在已基本掌握各种空间数据库的存贮和管理技术的基础上,进行空间数据维护和管理的训练,在GIS原理、空间数据库理论、常用软件功能和相关专业知识之间建立起联系,培养学生具有编写实习报告的能力。
本实习可加深学生对各种空间数据库的原理和方法的理解,为后续的GIS软件设计课程及GIS科学研究打下良好的基础。
在独立完成《地理信息系统实习教程》第八篇“空间数据维护与管理”的所有练习后,我们基本上对拓扑规则有一定了解,对建立拓扑关系和应用拓扑关系对数据质量的检验的操作方法也有一定了解;对建立Geodatabase数据库,将CAD的DWG文件转换成可以被ArcGIS接受的线要素等,进而转换成多边形,再生成网格;具体操作了投影变换、坐标变换的练习,进行了坐标转换、左边拉伸、接边、影像配准等等操作;还进行了对数据源和元数据的学习„„在此基础上我们可以建立基本的数据库Geodatabase。
最后,进行了 “重庆交通大学空间数据库” 设计,由于缺乏基本数据,所以此次“重庆交通大学空间数据库”的设计只有基本的思路设计,即需求分析,概念设计(概念模型的建立,即“实体—关系”模型即E-R模型的建立),逻辑设计(逻辑数据模型即关系模型的建立),物理设计(物理数据模型的建立)。
在此次实习过程中,
第四篇:空间数据库总结
第一章:
1.简述空间数据的结构特点及用传统商用关系数据库管理空间数据的局限性:
答:1.结构特点:(1)从数据组织和管理角度看,空间数据与一般的事务数据相比具有非结构化特征(2)相对于一般的事务数据而言,空间数据量大(3)用以描述事物或现象随时间的变化2.局限性:(1)表示某种空间对象实体记录的空间字段难于预先确定(2)空间信息有坐标系统(3)关系数据原有的功能不能满足地理空间应用要求
2.空间数据管理的演化过程
答:1.人工管理阶段(20世纪50年代中期)特点:(1)数据不保存(2)没有数据管理软件
(3)数据冗余2.文件系统阶段(20世纪60年代中期)特点:(1)数据文件是大量数据的集合形式(2)面向用户的数据文件(3)数据文件与对应的程序具有一定的独立性(4)由初期的顺序文件发展为索引文件、链接文件、直接文件等3.文件与数据库系统混合管理系统(20世纪80年代初期)特点:(1)对用户观点的数据进行严格细致的描述(2)允许用户以记录或数据项作单位进行访问(3)数据的物理存储可以很复杂,同样的物理数据可以导出多个不同的逻辑文件4.全关系型空间数据库管理系统(20世纪80年代后期);5.对象关系数据库管理系统;6.面向对象的数据库系统
3..空间数据库的研究内容:
答:1.地理空间数据的获取与处理:(1)空间数据库的准确性研究;(2)空间数据质量研究;
2.地理空间数据组织(1)空间数据的多种表达方式研究;(2)时空关系的研究;(3)海量空间数据库的结构体系研究3.地理空间数据库系统:(1)空间关系语言研究(2)分布处理和Client/Server模式4.地理空间数据共享的研究
4.松散双元空间数据管理的结构及其弊端
文件与数据库系统混合管理系统(20世纪80年代初期)特点:(1)对用户观点的数据进行严格细致的描述(2)允许用户以记录或数据项作单位进行访问(3)数据的物理存储可以很复杂,同样的物理数据可以导出多个不同的逻辑文件
答:
第二章:
1.基于实体空间对象描述的基本特点:
答:基于对象的模型强调个体现象,对象之间的空间位置关系通过所谓拓扑关系进行连接,主要描述不连续的地理现象,适合表示有固定形状的空间实体
2.基于场模型地理空间描述适应的地理变量的分布特点:
答:分布特点:在一定空间内连续分布。将地理空间的事物和现象作为连续的变量来看待。基于场模型可分为:图斑模型、等值线模型、选择模型
3.栅格数据操作的基本类型:
答(1)局部操作;(2)聚焦操作;(3)区域操作;(4)全局操作(5)图像操作
4.矢量数据向栅格数据转移的基本算法
答:(1)内部点扩散算法(2)复数积分算法(3)射线算法的扫描算法(4)边界代数算法
5.矢量数据与栅格数据结构的区别:
答:(1)栅格数据结构具有“属性明显,位置隐含”的特点,它易于实现,操作简单,有利于栅格的空间信息模型的分析,但栅格数据表达精度不高,数据存储量大,工作效率低;(2)矢量数据结构具有“位置明显,属性隐含”的特点,它操作起来比较复杂,许多分析操作(如叠置分析)用矢量数据结构难于实现;但它的数据表达精度高,数据存储量小,工作效率高。
6.非拓扑辩状矢量层文件数据组织与拓扑矢量文件数据组织的区别:
答: 非拓扑辫状矢量层文件的数据组织,它仅记录空间目标位置坐标和属性信息,而不记录它的拓扑关系,它可能有两种形式,一种是:每个点线面坐标直接跟随它的空间坐标;另
一种方式是:点坐标作为一个文件,线和多边形有点号组成。在非拓扑数据组织中,边界线数据均获取和存储两次,这就会产生裂隙或重叠,并产生数据冗余;为了消除裂隙,一般需要编辑。拓扑矢量层文件数据组织,实际上还仅仅是结点线面之间的关联拓扑关系,这种关系通常有两种表达关系:全显示表达和半隐含表达,全显示的表达是指结点弧段面块相互之间的所有关联拓扑关系,都用关系表显示的表达出来,关系除了要明确表示出来从上到下的拓扑关系,还要用关系表列出结点弧段面块之间的关系,但任然没有包括点与面,面与点的关联关系,这种关系是以弧段为桥梁建立的;半隐含表达则是用弧段—结点—弧段—面块的表格表示几何目标间的拓扑关系,建立空间目标之间的拓扑关系,这样一来修改面块—弧段的拓扑关系时,边界上内点移动只需进行一次,且只需修改弧段坐标数据文件即可,可以方便的实现数据共享问题。
7.简述线状网络数据模型设计的主要几何对象,并说明其文件组织的基本思想
答:形状网络模型主要几何要素:结点,几何弧段,逻辑弧段;文件分为结点文件,弧段坐标文件、拓扑关系文件、逻辑网段文件。结点文件记录坐标、关联边、结点其他属性;弧段坐标文件记录弧度中间点坐标拓扑关系文件记录起、终点坐标、坐标指针、其他属性;逻辑网段文件记录网段中逻辑关系;结点文件中坐标决定拓扑文件中起、终点,结点中的关联边、弧段坐标文件、拓扑关系文件中坐标指针构成逻辑网段文件。
8.简述基于polyvert的多边形网络拓扑数据结构的基本思想
答:polyvert包括结点文件、弧段中间坐标文件,多边形文件、拓扑文件、拓扑索引文件。结点、弧度中间坐标文件记录坐标;多边形文件记录多边形弧段序列指针;拓扑文件包括弧段标志号,中间点坐标个数及其指针,起、终点,左、右多边形;拓扑索引文件记录地址指针。多边形文件通过拓扑索引文件与拓扑文件相关联;拓扑文件通过中间点坐标指针与弧段中间坐标文件相结合,通过起、终点与结点文件相结合。
第四章:
1.简述数据的逻辑层次单位和物理层次单位,并给出逻辑记录与物理记录的定义:
答:(1)逻辑层次单位:数据项、记录、文件、数据库、数据仓库;物理层次单位:bit、字节、字、块;(2)逻辑记录:
2.试述逻辑记录的物理组织形式与各自的特点:
答:(1)定长记录固定组块:实现简单,只须说明块的体积和记录的长度(2)变长记录不跨界组块:把不同长度的记录存放到一个块中,要识别它们就必须给个记录时加一个长度指示器PR(3)变长记录跨界组块:一个记录在意个块中存放不下时,可以跨过边界存到另一个块中;(4)块列:将若干个数据块组成一个块列,文件系统的软件一次读/写整个块列,记录可跨越块的边界,但不允许跨越块列的边界。
3.在Hash文件组织中,何为碰撞?何为数据溢出?并说明处理桶数据溢出需用的方法 答(1)
5.空间索引的定义。它与传统文件索引有何不同。对空间数据建立空间索引的目的答(1)空间索引:指依据空间对象的位置和形状或空间对象之间的某种空间关系,按一定顺序排列的一种数据结构(2)不同:
6.空间数据库的静态索引和动态索引有何不同,二者具有哪些优缺点。
答:(1)静态索引是通过建立空间数据库中的逻辑记录与物理记录之间的静态索引表,使用各种查找算法,查找表结构,从而实现数据文件的索引。静态索引的实现比较简单,但修改很不方便,难以实现对数据文件实时的增加或删除(2)动态索引是在数据操作的过程中动态生成的索引结构。使用动态索引方法可以很方便地实现数据文件实时改动,但索引结构的实现复杂,维护索引结构需要计算时间和空间。
7.从技术层面上,空间索引分为哪几种形式,并说明每种形式各自特点:
答:(1)对象影射技术:该方法将K维对象转移成2K维空间上的点(2)对象复制和裁剪技术:将空间划分为不相交的子空间,并依据子空间的划分,将落在多个子空间的对象划分多个组成部分(3)重叠子空间方法:将地图划分为可以重叠的子空间,以便每个对象完全落在一个子空间。
8.简述格网空间索引实施的基本原理。传统格网索引与改进格网索引的区别:
答:网格空间索引基本原理是:将研究区域用横竖线条划分大致相等和不等的网络,记录每一个个网所包含的空间实体,当用户进行空间查询时,首先计算出用户查询对象所在的格网,然后再在该格网中快速查询所选空间实体。这样一来,就大大的加速了空间对象的查询速度。区别:传统式一维,改进是二维
第五章:
1.在面向对象空间数据模型中,地理要素的几何抽象类型有哪些形式(拓扑形式与非拓扑形式两种分析)
答:(1)拓扑形式:结点、弧段、多边形、多面体
(2)非拓扑形式:点、线、面、表面、体
2.何为空间数据层的工作区?并简述工作区的无缝数据库与有缝数据库的各自特点。
答:(1)工作区:为了使计算机能够识别和处理地理要素,必须将连续地现实世界中地理实体及相互关系进行离散和抽象,建立若干以地理区域为界的认识地理空间的窗口。(2)无缝数据库:有统一的坐标系、无缝隙、不受传统图幅划分的限制,整个工作区域在数据库中相当于一个整体;有缝数据库:采用分块存储管理和处理,以数据块作为基本单位,一个数据块构成一个数据存储单位。
3.在考虑了空间数据库的分层及分块情况下,空间物体关系对象有哪几种形式?每一种形式主要表示何种空间关系?
答(1)结点和弧段之间的网络关系,弧段和多边形之间的多边形关系。数据块之间的相同空间物体连接关系、要素层之间的相关地理要素连接关系。
5.Coverage矢量数据模型的优缺点?
答:1.优点:(1)空间数据与属性数据相结点;(2)能够存储矢量要素之间的拓扑关系2.缺点:(1)空间数据不能很多的与其行为相对应;(2)以文件方式保存空间数据,而将属性数据存放在另外的DBMS中;(3)Coverage模型拓扑结构不够灵活,局部变动后则必须对全局的拓扑关系重新建立;(4)在不同的Coverage之间无法建立拓扑关系。
6.Geodatabase数据模型结构主要涉及到哪些基本组成要素?这种数据模型具有哪些特点? 答:(1)基本组成要素:要素类、要素数据集、关系类、几何网络、域、有效规则、栅格数
1在同一数据库中统一地管理各种类型的空间数据;据集、TIN datasets、定位器(2)特点:○
2.空间数据的录入和编辑更加准确;3.空间数据更加面向实际的应用领域;4.可以表达空间○○○
5.可以更好的进行制图;6.空间数据的表示更为准确;7可以管理连续的数据的相互关系;○○○
8支持空间数据的版本管理和多用户并发操作 空间数据,无需分块、分幅;○
第六章:
1.空间数据库的内容组成答:从应用性质上空间数据库可分为基础地理空间数据库和专题数据库。基础地理空间数据库包括基础地形要素矢量数据(DLG)数字高程模型(DEM)、数字正射影像(DOM)、数字栅格地图(DRG)以及相应的元数据库(MD)。专题数据库(TD)包括土地利用书记、地籍数据、规划管理数据、道路数据等。
2.何为数据库的三级模式与两级映射?数据定义语言的作用及形式
答:1.三级模式:外模式(子模式或用户模式)、模式(概念模式或逻辑模式)、内模式(存
储模式);两级映射:子模式/模式映射、模式/存储模式映射;2.作用:定义数据的各种特征:形式:(1)模式DDL—定义数据库的全局逻辑结构;(2)子模式DDL—定义view(视图);
(3)DML—数据处理;(4)物理DDL—定义数据的物理存储方式。
3.基于文件系统的空间数据库体系结构:
答:1.文件组织:(1)定长记录(2)变长记录(3)聚蔟文件组织;2.空间数据引擎:基于特定的空间数据模型,在特定的数据存储、管理系统的基础上提供对空间的存储、检索等操作,以提供在此基础上的二次开发3.缓冲区管理:
4.基于数据库管理主流的空间数据库混合体系结构:
文件与数据库系统混合管理系统(20世纪80年代初期)特点:(1)对用户观点的数据进行严格细致的描述(2)允许用户以记录或数据项作单位进行访问(3)数据的物理存储可以很复杂,同样的物理数据可以导出多个不同的逻辑文件
5.分步式空间数据库的模式结构?并说明其全局用户视图,全局概念模式,局部内容与数据库的三级模式有何区别?在该模式的结构中,分布式空间数据库管理系统与局部空间数据库管理系统起的作用有何不同?实现多空间数据库集成需要解决的主要问题是什么?
分步式空间数据库的模式结构是:模式结构总体可以分为两部分,一是集中式空间数据库的模式,代表了各场地上参与空间数据库系统的基本结构;二是,分布式空间数据库系统增加的模式。
区别:一个分布式空间数据库是由若干个已经存在的相关空间数据库集成的,全局用户视图,全局概念模式,局部内容是针对于一个分布式空间数据库而言的。数据库的三级模式是针对于一个空间数据库而言的,全局用户视图相当于数据库的外模式,全局概念模式相当于数据库的模式,局部内容相当于数据库的内模式。
在该模式的结构中,对于用户来说,在分布式空间数据库管理系统中,智能进行基础的操作,而不能定义自己的视图,而在局部空间数据库管理系统中用户却可以定义自己的视图。实现多空间数据库集成需要解决的主要问题:一:选择全局统一的空间数据库模型来描述全局概念模式和分片模式;二:选择全局统一的空间查询语言作为全局系统和用户交互界面;三:解决分片的异构性,实现局部概念模式到全局分片模式的转换,即异构同化;四:解决分片冲突问题,构造全局的概念模式,即同构整体化。
第五篇:空间数据库复习题
Chapter 1: Introduction to Spatial Databases
1、举例说明什么是空间数据、非空间数据?如何理解空间查询(spatial queries)和非空间查询的区别(Non-spatial queries)?
答:河流的泛洪区,卫星影像数据、气象气候数据等都可以是空间数据
书店名称 店员人数,去年的销售量,电话号码等是非空间数据
空间查询是对空间数据的查询或命令
2、什么是GIS,什么是SDBMS?请阐述二者的区别和联系。
答:
1、GIS是一个利用空间分析功能进行可视化和空间数据分析的软件。它的主要功能有:搜索、定位分析、地形分析、流分析、分布、空间分析/统计、度量
GIS 可以利用SDBMS来存储、搜索、查询、分享大量的空间数据集
2、SDBMS是一个软件模块。它可以
①、利用一个底层的数据库管理系统
②、支持多种空间数据模型、相应的空间抽象数据类型(ADT)以及一种能够调用这些ADT的查询语言
③、支持空间索引、高效的空间操作算法以及用于查询优化的特定领域规则
3、区别与联系:①、利用GIS可以对某些对象和图层进行操作,而利用SDBMS则可以对更多的对象集和图层进行更加简单的操作
②、SDBMS可以在GIS不能使用的某些领域进行使用,例如基因组学、天文学、多媒体信息系统等
③、GIS可以作为SDBMS的前端,利用一个高效的SDBMS可以大大提高GIS的效率和生产率。
3、从GIS这一缩写的三种含义来理解GIS的发展历程。答:地理信息系统:为专业人员提供的软件
地理信息科学:为地理信息系统和服务提供使用和发展的定义、框架和理论 地理信息服务:为普通用户提供的网点和服务中心,例如PC机上的地理和空间服务
4、用传统数据库系统管理空间数据,存在什么不足之处?
答:1)无法用递归和嵌套的方式来描述复杂关系的层次和网状结构,模拟和操作复杂地理对象的能力较弱;
2)用关系模型描述本身具有复杂结构和涵义的地理对象时,需对地理实体进行不自然的分解,导致存储模式、查询途径及操作等方面均显得语义不甚合理;
3)由于概念模式和存储模式的相互独立性,及实现关系之间的联系需要执行系统开销较大的联接操作,运行效率不够高
4)空间数据通常是变长的,而一般RDBMS只允许记录的长度设定为固定长度,此外,通用DBMS难于存储和维护空间数据的拓扑关系。
5)一般RDBMS都难以实现对空间数据的关联、连通、包含、叠加等基本操作。
6)一般DBMS不能支持GIS需要的一些复杂图形功能。
7)一般RDBMS难以支持复杂的地理信息,因为单个地理实体的表达需要多个文件、多条记录,包括大地网、特征坐标、拓扑关系、属性数据和非空间专题属性等方面信息。
8)GIS管理的是具有高度内部联系的数据,为了保证地理数据库的完整性,需要复杂的安全维护系统,而这些完整性约束条件必须与空间数据一起存储,由地理数据库来维护系统数据的完整性。否则,一条记录的改变会导致错误、相互矛盾的数据存在,而一般RDBMS难以实现这一功能。
5、What is a SDBMS ?
答:SDBMS是一个软件模块。它可以
①、利用一个底层的数据库管理系统
②、支持多种空间数据模型、相应的空间抽象数据类型(ADT)以及一种能够调用这些ADT的查询语言
③、支持空间索引、高效的空间操作算法以及用于查询优化的特定领域规则
6、什么是后关系数据库模型?后关系数据库模型有哪些?
答:后关系数据库模型支持用户定义抽象数据类型,空间数据的类型可以添加。
包括面向对象的数据库模式OOBDMS和面向关系ORDBMS的数据库模式。
7、SDBMS的三层体系结构(Three Layer Architecture)是什么?借此深入理解SDBMS的作用。
答:空间应用—空间数据库—DBMS
教材P11的图
8、空间数据库主要涉及哪些内容?
答:数据模型、查询语句、查询处理与优化、文件组织和索引、数据挖掘
9、举例说明单遍扫描查询和多遍扫描查询的概念。
答:单边扫描查询中,被查询的表(关系)中的一条记录(元组)最多只被访问一次;例如“列出武大周围5km内的书店的名字”。
多遍扫描查询是被查询的表(关系)中的一条记录(元组)至少被访问一次,例如“找出其代表的选取范围大于200公顷并且在这区拥有公司的女议员的名字”
10、过滤-精炼策略的作用?两个步骤的内容是什么?
提示:ppt : Efficient algorithms to answer spatial queries Common Strategyfast but content is lost when power is off主存:速度快,信息断电丢失 Secondary storage-slower, retains content without power二级存储器:慢,信息断电不丢 Tertiary storage(如磁带驱动器)-very slow, retains content, very large capacity脱机存储器:非常慢,保存信息容量非常大。DBMS usually manage data
• • • on secondary storage, e.g.disks Use main memory to improve performance User tertiary storage(e.g.tapes)for backup备份, archival档案 etc.4、磁盘存储相关概念:磁道track、扇区sector、柱面cylinder?页面的概念? 答:磁道:圆心磁盘片上向边缘延伸的同心圆
扇区:每个磁道中被分成若干等份的区域 柱面:是磁盘上具有相同镭的磁道的集合
页面:又称磁盘块。是磁盘与主存之间的最小传输单位
5、访问磁盘扇区数据的过程,哪个过程花费的时间最多? 提示:ppt: Accessing a sector has three major steps: • • • Seek(寻道): Move head assembly to relevant track(ts)磁头到达特定磁道所用的时间
Latency(延迟时间): Wait for spindle to rotate relevant sector under disk head(tl)块旋转到磁头下方所用的时间 • Transfer传输时间: Read or write the sector(tt)置于正确位置后读写块中数据的实际时间 • 1>2>3
6、如何有效利用磁盘硬件?
提示:ppt : Using Disk Hardware Efficiently
• Size of sectors扇区面积
• • • • Larger sector provide faster transfer of large data sets 数据集大时大扇区提供更快的传输速度
But waste storage space inside sectors for small data sets 但浪费了小数据集的存储空间
• Placement of most frequently accessed data items放置频繁使用的数据
• • • On middle tracks rather than innermost or outermost tracks 在中间的磁道而不是最里面或最外面的磁道
Reason: minimize average seek time可以减少寻道时间
Placement of items in a large data set requiring many sectors放置一个需要很多扇区的大数据集
• • Choose sectors from a single cylinder尽量放在同一个柱面
Reason: Minimize seek cost in scanning the entire data set.减少扫描全集花费的时间
7、域(filed)、记录(record)、文件(file)的概念,提示: Mapping Records and files to Disk.• Records • •
• Often smaller than a sector Many records in a sector Files with many records文件是记录的集合
• Many sectors per file
8、页面的概念:磁盘与主存之间的最小传输单位。一个文件可能跨越多个页面。一个页面是槽的集合,一个槽包含一条记录
9、文件结构的含义,举例说明几种常用文件结构—heap,Ordered、Hashed、Clustered。答:文件结构是指文件中记录的组织形式。
堆:无序文件。记录没有特定的顺序。,根据给定的关键码(如name)查找一条记录需要扫描文件中的记录。在最坏情况下,文件的所有记录都要被检查,所有存储该文件数据的磁盘
页面都要被访问。平均来说,需要检索一半的磁盘页面。优点是在进行插入操作时可以很容易地在文件末尾插入一条新记录。存储河流表
散列文件:使用散列函数吧记录分到一系列散列单元中。可取之处在于它能够把数量大致相同的记录放入每个散列单元中。对于点查询、插入、删除都很有效。不适合范围查询。按字符个数存储城市名称。
有序文件:根据给定的主码与对记录进行组织。折半法非常有效。不能直接运用在空间领域例如,除非对多维空间中的点定义一个全序,否则无法对城市的位置排序。有序文件组织方式还可以根据对空间数据集的文件组织方式而概括成空间聚类。
聚类:聚类的目的就是降低响应常见的大查询的寻道时间(ts)和等待时间(t1)。对于空间数据库来说,这意味着在二级存储中,空间上相邻的和查询上有关联性的对象在物理上应当存储在一起。
10、使用空间填充曲线组织空间数据的意义?
提示:Chapter 1,Organizing spatial data with space filling curves
• • • •
11、掌握Z-曲线、hilbert曲线的生成。(要求给IJ号,能够写出对应Z码和Hilbert码的计Impose an ordering on the locations in a multi-dimensional space 加强了多维空间中的位置排序
Allow use of traditional efficient search methods on spatial data 允许在空间数据中使用传统的有效搜索
算过程)
12、基于Z-曲线,如何进行区域匹配的?(匹配有效性?)
答:用z1和z2分别代表两个z值,其中z1是较短的一个,并未失去一般性;对于相应的区域(比如块)r1和r2,只有两种可能:1)如果z1是z2的前缀(例如,z1=l***,z2=11**或z1=*l**,z2=11**),则r1完全包含r2;2)两个区域不相交(例如,z1=*0**,z2=11**)。
13、什么是索引?索引文件的内容。主索引和二级索引。A table can have at most one primary index.Why? 答:索引文件是用来提高数据文件查询效率的辅助文件。记录的只有码值和数据文件中的页
面地址。索引记录被排序,数据文件本身可以是不按关键码排序。
主索引,如果数据文件的记录是按照主码排列的,那么索引就只需要保存数据文件的每个磁盘页面第一个主码域值。每个索引记录一个数据页面。
二级索引:堆数据文件,一个索引记录一个数据。
一个磁盘最多只有一个主索引,因为主索引决定了数据在磁盘上的存储顺序。
14、什么是空间索引?有哪些空间索引方法?
答:空间索引结构用一组桶(通常对应二级存储的页面)来组织对象。
空间索引呢就是依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。
方法:1)在系统中加入专门的外部空间数据结构,为空间属性提供如同B树之于线性属性的功能。
2)使用空间填充曲线(如Z序、Hilbert曲线)将空间对象映射到一维空间,以便空间对象存储在标准的一维索引(例如B树)中。
15、网格文件包含哪两部分内容?建立格网索引的思路和步骤?了解R树索引和R+树索引的思想?
答:包含n维网格目录,目录只能够的每一项指向一个数据桶。第二部分是由称为线性比例的一维数组组成的结构。
思路:是将研究区域用横竖线条划分大小相等或不等的格网,记录每一个格网所包含的空间实体。当用户进行空间查询时,首先计算出用户查询对象所在格网,然后再在该网格中快速查询所选空间实体,这样一来就大大地加速了空间索引的查询速度。
步骤:
划分行列(M X N);
计算网格大小及每个格网的矩形范围;
开辟目标空间(记录目标穿过的网格)和格网空间(记录格网内的目标); 注册点、线、面、注记等目标,并记录之;
提取窗口所覆盖的目标关键字(采用数据位方法,以降低排序时间,及避免数据的绘制顺序等);
提取目标所涉及的网格。
Chapter5 Query Processing and Optimization
1、从查询处理的角度来看,空间数据库与关系数据库之间有哪些主要区别?
答:至少有三个主要区别:①、与关系数据库不同,空间数据库没有固定的运算符集合可以充当查询计算的基本构件
②、空间数据库要处理非常大量的复杂对象,这些对象具有空间范围,不能自然的排列成一维数组。
③、检测空间谓语要用到计算量极大的算法,所以不能再假定I/O代价在CPU的处理代价中只能主导地位
2、空间查询的基本构件有哪些?
提示:ppt5.1.2 Choice of building blocks,List of building blocks Point Query,Range Query,Spatial Join,Nearest Neighbor; 点查询:给定一个查询点P,找出所有包含它的空间对象O 范围或区域查询:给定一个查询多边形P,找出所有与之相交的空间对象O 空间链接:两个表R和S基于一个空间谓语θ进行连接时,该连接成为空间连接。最近邻居:空间聚集,即给定一个对象O,找出所有距离O最近的对象P
3、空间查询处理的“过滤-精炼模式”是什么,其目的?(对象操作的两步查询处理)目的:用两步算法高效地处理复杂的数据类型
过滤:寻找Q最终结果的超集S;精炼:利用GIS处理S来找到精确的Q的答案
4、空间查询处理中,一般是采用什么(MBR))来替代不同类型的空间实体(如线、面)?这样做有何好处?
提示:Ppt:Approximating spatial data types Minimum orthogonal bounding rectangle(MOBR or MBR)最小外接矩形 approximates line string, polygon, …近似的线串,多边形 See Examples below(Black rectangle are MBRs for red objects)
MBRs are used by spatial indexes, e.g.R-treeM Algorithms for spatial operations MBRs are simple空间操作MRS的算法很简单
5、举例说明SDBMS是如何利用空间实体的MBRs来加快处理速度的? Ppt:Approximate Spatial Operations
6、对于点查询、区域查询、空间连接查询操作,各自有哪些处理算法(策略)?它们与什么因素有关?
提示:Strategies for Point Queries,Strategies for Range Queries,Strategies for Spatial Joins 与包含待查询的关系的文件的组织方式有关。
答:点查询:数据未排列且没有索引:穷举法,扫描整个文件并判断每条记录是否满足谓语
建立空间索引:在索引中使用find操作;需要查找的磁盘扇区等于索引的深度
空间填充曲线散列:运用折半法寻找点;检验大约logB(n),的磁盘扇区
区域查询:数据未排列且没有索引:穷举法,扫描整个文件并判断每条记录是否满足谓语
建立空间索引:在索引中使用范围查询操作
空间填充曲线散列:验证Z值满足范围查询要求;使用折半查询找到最低的Z值;扫描前面的数据文件直至满足查询要求的最大的Z值 空间连接:嵌套循环,检验所有可能的空间谓语对;
基于空间分块,只检验普通空间区域的对象对 树匹配:从每张表中找出分层的的对象组
7、什么是查询优化器?查询优化器所承担的主要任务是什么?
答:查询优化器是数据库软件中的一个模块,它用于产生不同计算计划并确定适当的执行策略。主要任务:逻辑转换、动态规划。
8、查询语言与查询树之间的互换? 语法分析器执行
9、对查询树进行逻辑转换的目的和一般方法是什么? 答:方法:将非空间的选择和投影操作下推
目的:减少连接操作所涉及的关系大小,从而减少计算代价。
10、Distributed Environments的概念?在分布式环境下,空间数据库系统面临哪些挑战? 提示ppt:New issues for SDBMS)
答:自治异质计算机的集合,通过网络连接,服务器框架:服务器提供定义明确的服务,用户使用服务。
挑战:概念模型上:不同种类模式之间的转换
逻辑模式上:在其他SDBMS上命名、查询表;其他SDBMS上的表要复制原始表
查询过程与优化:通过网路的数据传输代价将会主导CPU和I/O代价,需要新的策略来控制数据的传输成本。
11、举例说明分布式空间数据库的半连接操作。(书上P161)答:1)只将连接属性和主码从站点1发送到站点2 2)只将有关元组从站点2发送到站点1.12、了解基于Web的空间数据库系统的体系结构。(书上P162)
Chapter 6: Spatial Networks
1、举例理解空间网络、空间网络查询。铁路网络、密西西比河河网,查询YW线沿途车站数量,最后一个车站,密西西比河的支流名称
2、图及其相关概念。
答:一个图G=(V,E)是由一个有限顶点集V顶点之间的边集E组成的。边集E顶点集V的一个二元关系。
如果构成边集的各个顶点对是有序的,那么图G就是有向的(directed);否则该图是无向的(undirected)。
顶点和边有时也分别称为结点(node)和链接(1ink)。
有序顶点对的第一个顶点称为前驱(predecessor)或者源(source),第二个顶点称为后继(successor)、目的(destination)或汇点(sink)。
图的结点和链接有时要添加标号(Label)和权重(weight),以便表示附加的信息。
如果两条边共享一个结点,那么它们是邻接的(adjacent),一系列邻接边组成一条路径(path)。例如,序列(v0,v1),(v1,v2),„,(vn-2,vn-1),(vn-1,vn)表示一条路径,因为每条边都与前一条边或者后一条边有一个公共结点。如果端点v0和vn是同一个结点,那么这条路径称为一个环(cycle)。河流网中没有环,而在铁路系统中,一条往返旅行线路构成一个环。
3、图的物理存储。邻接矩阵、邻接表(书上P182)
4、关系代数对于空间网络查询的主要缺陷?传递闭包的概念?
5、答:无法计算传递闭包。图G(V,E)的传递闭包G*是满足下列条件的图,它与G有相同的顶点集V,但它的边集则由G的所有路径组成。
6、SQL2 Connect语句的使用,会书上的例子。
7、SQL3 With Recursive 语句的使用
8、路径查询处理的种类:单对、单源、所有对。
9、答:一个常用的图操作就是确定道路网中两个点A和B之间的最短路径,路径计算可以分为:
单对(single pair):给定一个图G=(V, E)和N中的顶点u与v,找出u与v之间的最优路径。单对的一个特例就是最短路径问题。
单源(single source):给定一个源结点u,找出从u到G中所有可达结点之间的最优路径。--部分传递闭包(partial transitive closure)问题。
所有对(all pairs):在G中找出y的所有结点u和v之间的最优路径。--有关传递闭包的问题。
10、图遍历的含义,图遍历的方法--Breadth first search和Depth first search 答:图遍历(graph traversal)算法是所有路径查询的计算基础,它沿着图的边,通过从一个结点到另一个结点的遍历来搜索路径。路径搜索是一个递归的操作,需要不断把结点的邻接表从磁盘读到内存缓冲区中。所以,为了使图操作的查询处理更加快速、有效,必须对图算法进行特别的设计,以使其I/O代价达到最小。
• Breadth first search-给定一个图G以及G中的一个源结点v,BFS算法访问所有从v可以到达的结点。算法首先访问源结点v的所有直接邻居。一个结点的直接邻居就是该结点的邻接表中的元素。然后算法递归地访问直接邻居的邻接表,如此循环下去.(P196)• 与BFS算法正好相反,DFS算法先访问源结点的一个直接邻居,然后,在访问其他直接邻居之前,递归地访问其后继邻居。如此一来,DFS算法是先沿着边走完一条“路径”,然后再返回到顶层去走其他的“路径”。
11、Shortest Path 算法--掌握Dijktra’s algorithm、了解Best first algorithm。(P197)
设A为源点,求A到其他各顶点(B、C、D、E、F)的最短路径。线上所标注为相邻线段之间的距离,即权值。
12、点线面空间实体的存储方法是否适用于空间网络?为什么?
13、空间网络数据的存储一般需要考虑什么因素?非分离边、分离边的概念,连通性剩余率的含义及其计算;
答:最小的I/O操作成本。非分离边:一条边的两个端点位于同一个磁盘页中; 分离边:一条边的两个端点位于不同磁盘页中。