存储结构
A. 存储结构
建立空间数据库的目的是利用数据库技术实现对地理数据的有效存储和管理。早期主要采用基于文件的拓扑关系数据存储模式,但由于空间数据具有非结构化的特性,传统的关系数据库很难支持空间数据类型。目前,对象——关系数据库管理系统是较为流行的解决方法,即在空间数据源之上增加一层软件(空间数据引擎)——空间数据管理系统(Spatial Database Management System,简称SDMBS),实现对空间数据和属性数据的一体化管理。
空间数据库管理系统是一种用于管理空间几何对象数据的专用软件模块。从结构上讲,它是位于用户或应用程序与空间数据源之间的中间件,实现了空间数据和空间操作的抽象,使得用户或应用程序不必关心空间数据的存储格式和空间操作的实现方法。它的主要功能是提供对地理数据的定义和描述,提供地理数据的高效查询和操作,提供对地理数据的存储和组织。空间数据库管理系统可在传统关系数据库管理系统之上进行扩展,使之能够同时管理矢量图形数据和属性数据。扩展的方式有2种:一种是在原来的数据库模型上进行了空间数据模型的扩展,实现的是点、线、面等简单要素的存储和检索,并不能存储数据之间复杂的拓扑关系,也不能建立一个空间几何网络。如Informix和Oracle等都推出了空间数据管理的扩展模块;另一种是GIS软件商在传统关系数据库管理系统与应用系统之间增加一个中间件,如ESRI公司推出的ArcSDE。但这2种扩展方式的基本原理都是一致的,主要原理是BLOB字段存储空间对象的坐标数据。
ArcSDE采用连续的数据模型,也就是说它可将整个工作区数据放到一个连续的层中,纵向上多个图幅的同一类数据可构成一个无缝图层,每个数据库记录对应一个实际要素。ArcSDE为数据库中各层(Layer)建立空间索引。空间索引是将层从逻辑上分成一个个小块,称为“cell”,层中的要素则分解到各cell中加以描述,并将此描述信息写到索引表中。落到多个cell上的要素,将在每个cell对应的索引记录中加以描述。没有数据的cell不包括在索引表中。
在RDBMS中,ArcSDE用表来管理ArcSDE层。ArcSDE 对所有的图层建立了层表,以使用于索引,加快查询速度。每一个图层由业务表、要素表、空间索引表组成(毛峰等,2000)。业务表中每一行代表一个地物要素,用来存放农业地质要素的属性数据,通过要素标识符(Fid)和其他3个表关联。要素表与业务表之间通过空间列和FID列发生关系,如图4-3所示。
图4-3 业务表—要素表—空间索引表之间的关系
ArcSDE使用压缩的二进制格式来存储要素的几何图形,从而可以有效提高存储和检索空间数据的效率。对于每一个图层,ArcSDE会自动为其生成3张数据库表:业务表、要素表和空间索引表,并存放于SQL Server数据库中。业务表在物理存储上对应于数据库中的与入库前的文件名相同的表,如一个ArcInfo格式的名为“LEB0B”的矢量图层数据入库后,它的业务表就名为“LEB0B”。坐标表与要素表同对应于F(id)表,这里的id不是图4-3中的FID,而是ArcSDE根据入库的顺序加的一个编号。比如同时有10个文件要入库,那么第一个文件的F表就是F1,第二个为F2,以此类推。空间索引表对应于S(id)表,这个id和上述F表的id的含义相同也是入库顺序的编号。这样既不需自建索引,也不需设计复杂的表结构,从而轻松地实现了属性数据与空间数据的统一存储管理。
B. 关于存储结构的问题
处理速度:内存快,外存慢. 存储容量:内存小,外存大. 断电后:内存RAM中的信息丢失,外存中的信息不丢失.
什么是内存
什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。
既然内存是用来存放当前正在使用的(即执行中)的数据和程序,那么它是怎么工作的呢?我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,借此来保持数据的连续性。
从一有计算机开始,就有内存。内存发展到今天也经历了很多次的技术改进,从最早的DRAM一直到FPMDRAM、EDODRAM、SDRAM等,内存的速度一直在提高且容量也在不断的增加。今天,服务器主要使用的是什么样的内存呢?目前,IA架构的服务器普遍使用的是REG�ISTEREDECCSDRAM,下一期我们将详细介绍这一全新的内存技术及它给服务器带来的独特的技术优势。
外存包括一些老的软盘、现在的优盘以及不怎么常用的CD卡,MMC卡,CF卡,移动硬盘,光盘等。
软盘是一个非常老的外部存储盘,容量1.44M,读写速度慢,现已淘汰,除非特别情况下,没有什么人再用这个软盘了;优盘,现在较为流行,容量从最当初的8M发展到现在的G级,现在流行的是128M-512M容量,读取速度比优盘快好多,尤其是USB2.0接口的优盘;CD卡,MMC卡,CF卡,应用方面很多,数码相机,MP4,数字DV等等,都用这个卡,速度也有快有慢之分,如果想让电脑读取这些卡的数据,一般需要一个多功能读卡器,现在我见过最多的有32合1读卡器;光盘是最常见的,这里不需要多说,需要光盘驱动器读取,移动硬盘是最省钱的外部存储器,与上面读写的外存卡相比,普通20G的也不过区区几百元,采用USB2.0,速度非常快,缺点就是抗震远不如上述几种外存!
C. 存储结构有哪些
存储结构有顺序存储和链接存储。顺序存储和链接存储是数据的两种最基本的存储结构。
1、顺序存储
顺序存储方法是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
2、链接存储
链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。
(3)存储结构扩展阅读:
数据的存储结构是指数据的逻辑结构在计算机中的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
储存系统的层次结构为了解决存储器速度与价格之间的矛盾,出现了存储器的层次结构。
D. 数据的存储结构
存储结构就是物理结构,这没有错
存储结构是逻辑结构的存放方式,这没有错
逻辑结构是看不见摸不着的,但是计算机又要对数据进行逻辑结构的操作,那这就很尴尬了,咋办。
这时候存储结构(也就是数据的物理结构)挺身而出,“哥来给你表示你的位置”
存储结构的位置可以用数组或指针具体表示的
这时候就可以根据物理结构的存储位置来对数据的逻辑结构进行操作
那么二者肯定是要有联系的
联系:
逻辑结果是存储结构(物理结构)的映射
存储结构(物理结构)是逻辑结构的映像
就好比风是逻辑机构,缥缈见不着
那要把控它的位置,进行风向预测
那么气象台就根据某些手段进行控制,把风的具体位置给彰显出来了。
E. 数据的存储结构包括________。
数据的存储结构包括顺序存储和链式存储结构。
顺序存储结构是把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。通常顺序存储结构是借助于计算机程序设计语言数组来描述的。主要优点是节省存储空间,可实现对节点的随机存取,即每一个节点对应一个序号。
链式存储结构在计算机中用一组任意的存储单元存储线性表的数据元素。链式存储结构通常借助于程序设计语言中的指针类型来实现。它不要求逻辑上相邻的元素在物理位置上相邻;每个节点是由数据域和指针域组成;由于簇是随机分配的,这也使数据删除后覆盖几率降低,恢复可能提高。
(5)存储结构扩展阅读:
顺序存储结构的基本原理
在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。
在链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。
F. 什么是数据的存储结构
(32)[答案]B[考点]数据结构与算法[评析]这是个基本概念题。存储空间量只是数据的存储结构的一个属性,答案C也太片面,比如链表也是种存储方式,而非线性的还有树、图……我们所学的数据结构不涉及到数据在计算机外存(比如硬盘、软盘)具体的
G. 计算机有哪些存储结构
在计算机中存储和组织数据的方式被称之为数据结构,链表和数组是较为常见的两种结构。
1、数组
数组就像一个个紧挨着的小格子,每一个格子都有它们自己的序号,这个序号被称之为“索引”。与生活中不太相同的是,平时计数习惯以“1”开始,而在计算机中,“0”是开头的第一个数字。
数组中的数据,在计算机的存储器中,也是按顺序存储在连续的位置中。当我们寻找需要的数据时,通过格子中的索引,便可以找到数据。
2、链表
链表的存储方式有些像地址和住宅的关系,地址可以写在一张纸上,但是这并不代表住宅也紧密相邻。链表中的数据在计算机中也是分散地存储在各个地方,但是链表里面除了存储数据,还存储了下一个数据的地址,以便于找到下一个数据。
与数组不同的是,链表储存数据不像数组一样,需要提前设定大小,就像火车的车厢长度是随着乘客的数量而增加的。
(7)存储结构扩展阅读
数据的链式存储结构可用链接表来表示。
其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。
通过结点的指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中。
由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
H. 线性表的链式存储结构是一种()存储结构
线性表的链式存储结构是一种顺序存储的存储结构。
线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针指向一个与本结点有逻辑关系的结点,此类存储方式属于顺序存储;线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
(8)存储结构扩展阅读:
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。
比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。
I. 线性结构有哪几种存储结构
数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。 顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。 链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。 顺序存储和链接存储是数据的两种最基本的存储结构。 在顺序存储中,每个存侗含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来彭线性表的顺序存储中,若一个元素存储在对应数组中的下标位置为i,则它的前驱元着数组中的下标位置为i一1,它的后继元素在对应数组中的下标位置为i+1。在链接存个存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。 其中data表示值域,用来存储.一个元素。Pl,p2,…,Pill(1n≥1)均为指针域,每个韦值为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存通过结点的指针域(又称为链域)可以访问到对应的后继结点或前驱结点,该后继结一《结点称为指针域(链域)所指向(链接)的结点。若一一个结点中的某个指针域不需要指f点,则令它的值为空,用常量N-LILL表示,NIJ】上在iostream.h中被定义为数值0。 数据的链接存储表示又被称为链接表。当链接表中的每个结点只含有一个指针称为单链表。