精华内容
下载资源
问答
  • 大数据入门9:半结构数据模型(Semi-structured Data Model)
    千次阅读
    2019-12-05 22:53:46


    (写在前面:由于之前学习过数据库相关知识,这里不再赘述关于关系模型的相关知识)

    半结构化数据模型(Semi-structured Data Model)

    1. 几种数据模型

    参考:知乎:什么是结构化数据?非结构化数据?半结构化数据?

    1. 结构化数据,简单来说就是数据库。也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。结构化数据标记,是一种能让网站以更好的姿态展示在搜索结果当中的方式,搜索引擎都支持标准的结构化数据标记。

    2. 半结构化数据是一种适于数据库集成的数据模型,也就是说,适于描述包含在两个或多个数据库(这些数据库含有不同模式的相似数据)中的数据

    • 和普通纯文本相比它具有一定的结构性,但和具有严格理论模型的关系数据库的数据相比更灵活。(最主要的)
    • 它是一种标记服务的基础模型,用于Web上共享信息
    • 特别的,半结构化数据是“无模式”的。更准确地说,其数据是自描述的。它携带了关于其模式的信息,并且这样的模式可以随时间在单一数据库内任意改变。

    ​ 这种灵活性可能使查询处理更加困难,但它给用户提供了显著地优势。例如,可以在半结构化模型中维护一个电影数据库,并且能如用户所愿地添加类似“我喜欢看此部电影吗?”这样的新属性。这些属性不需要所有电影都有值,或者甚至不需要多于一个电影有值。同样的,可以添加类似“homage to”这样的联系而不需要改变模式,或者甚至表示不止一对的电影间的联系。

    ​ 因为我们要了解数据的细节,所以不能将数据简单地组织成一个文件按照非结构化数据处理,由于结构变化很大也不能够简单的建立一个表和他对应。

    3. 非结构化数据:是与结构化数据相对的,不适于由数据库二维表来表现,包括所有格式的办公文档、XML、HTML、各类报表、图片和咅频、视频信息等。支持非结构化数据的数据库采用多值字段、了字段和变长字段机制进行数据项的创建和管理,广泛应用于全文检索和各种多媒体信息处理领域。

    2. 半结构化模型特征

    半结构化数据中结构模式附着相融于数据本身,数据自身就描述了其相应结构模式,具有下述特征:

    • 数据结构自描述性。 结构与数据相交融,在研究和应用中不需要区分“元数据”和“一般数据”(两者合二为一)。

    • 数据结构描述的复杂性。 结构难以纳入现有的各种描述框架,实际应用中不易进行清晰的理解与把握。

    • 数据结构描述的动态性。 数据变化通常会导致结构模式变化,整体上具有动态得结构模式。

    ​ 常规的数据模型例如E-R模型、关系模型和对象模型恰恰与上述特点相反,因此可以成为结构化数据模型。而相对于结构化数据,半结构化数据的构成更为复杂和不确定,从而也具有更高的灵活性,能够适应更为广泛的应用需求。

    3. XML和JSON

    XML&JSON优劣区别

    1. JSON(JavaScript Object Notation):是一种轻量级的数据交换模式
    { "people": [
    
    { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
    
    { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
    
    { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
    
    ]}
    
    1. XML(Extensible Markup Language) :可扩展的标记语言,它是SGML(标准通用标记语言)的一个子集
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <students>
        <student number="1001">
            <name>zhangSan</name>
            <age>23</age>
            <sex>male</sex>
        </student>
        <student number="1002">
            <name>liSi</name>
            <age>32</age>
            <sex>female</sex>
        </student>
        <student number="1003">
            <name>wangWu</name>
            <age>55</age>
            <sex>male</sex>
        </student>
    </students>
    

    *拓展:html和XML有什么区别?

    htmlxml
    设计目标显示数据,如何更好地显示数据,焦点是数据外观描述数据,什么是数据,如何存放数据,焦点是数据的内容
    语法要求标记的嵌套、配对等;
    不区分大小写
    引号是可用可不用的;
    可以拥有不带值的属性名;
    过滤掉空格;
    严格要求嵌套、配对,并遵循DTD的树形结构;
    区分大小写;
    属性值必须分装在引号中;
    所有的属性都必须带有相应的值;
    空白部分不会被解析器自动删除;
    xml比html 语法要求更严格
    数据和显示的关系内容描述与显示方式整合为一体内容描述与显示方式分离
    标签预定义免费、自定义、可扩展
    可读性以及可维护性难于阅读、维护结构清晰、便于阅读、维护
    结构描述不支持深层的结构描述文件结构嵌套可以复杂到任何程度
    与数据库的关系没有直接联系与关系型和层状数据库均可对应和转换
    超链接单文件、书签链接可以定义双向链接、多目标链接、扩展链接

    xml不是要来取代html的,是对html的补充,用来与html协同工作的语言,基于上面这些优势,xml将来成为所有的数据处理和数据传输的常用工具非常可观。

    4. 树状数据结构(Tree Data Structure)

    xml TREE Wikipedia:xml TREE
    在这里插入图片描述

    更多相关内容
  • 空间数据模型结构

    万次阅读 2015-03-21 15:18:32
    2.6 三空间数据模型结构 近几年,很多人都在致力于三维数据模型的研究,虽然有三GIS系统问世,但其功能远远不能满足人们分析问题的需要。原因主要是三GIS理论不成熟,其拓扑关系模型一直没有解决,另外...

    2.6 三维空间数据模型及结构

    近几年,很多人都在致力于三维数据模型的研究,虽然有三维GIS系统问世,但其功能远远不能满足人们分析问题的需要。原因主要是三维GIS理论不成熟,其拓扑关系模型一直没有解决,另外三维基础上的数据量很大,很难建立一个有效的,易于编程实现的三维数据模型。尽管如此,本节仍将介绍当前在三维GIS上所采用的几种数据模型。

    3D空间构模方法研究是目前3D GIS领域以及3D GMS领域研究的热点问题。许多专家学者在此领域做了有益的探索。地质、矿山领域的一些专家学者,围绕矿床地质、工程地质和矿山工程问题,对3D GMS的空间构建问题进行了卓有成效的理论与技术研究,加拿大、澳大利亚、英国、南非等国还相继推出了一批在矿山和工程地质领域得到推广应用的3D GMS软件。

    过去十来年中,研究提出了20余种空间构模方法。若不区分准-3D和真-3D,则可以将现有空间构模方法归纳为基于面模型(facial model)、基于体模型(volumetric model)和基于混合模型(nixed model)的3大类构模体系,如表2-6所示(吴立新,2003)。

    表2-6 3D空间构模法分类

    面模型(facial model)

    体模型(volumetric model)

    混合模型

    (mixed model)

    规则体元

    非规则体元

    不规则三角网(TIN)

    结构实体几何(CSG)

    四面体格网(TEN)

    TIN-CSG混合

    格网(Grid)

    体素(Voxel)

    金字塔(Pyramid)

    TIN-Octree混合或Hybrid模型

    边界表示模型(B-Rep)

    八叉树(Octree)

    三棱柱(TP)

    Wire Frame-Block混合

    线框(Wire Frame)或相连切片(Linked slices

    针体(Needle)

    地质细胞(Geocellular)

    Octree-TEN混合

    断面序列(Series Sections)

    规则块体(Regular Block)

    非规则块体(Irregular Block)

     

    断面-三角网混合(Section-TIN mixed)

     

    实体(Solid)

     

    多层DEMs

     

    3D Voronoi图

     

     

     

    广义三棱柱(GTP)

     

    2.6.1 三维矢量模型及结构

    三维矢量模型是二维中点、线、面矢量模型在三维中的推广。它将三维空间中的实体抽象为三维空间中的点、线、面、体四种基本元素,然后以这四种基本几何元素的集合来构造更复杂的对象。以起点、终点来限定其边界,以一组型值点来限定其形状;以一个外边界环和若干内边界环来限定其边界,以一组型值曲线来限定其形状;以一组曲面来限定其边界和形状。矢量模型能精确表达三维的线状实体、面状实体和体状实体的不规则边界,数据存储格式紧凑、数据量小,并能直观地表达空间几何元素间的拓扑关系,空间查询、拓扑查询、邻接性分析、网络分析的能力较强,而且图形输出美观,容易实现几何变换等空间操作,不足之处是操作算法较为复杂,表达体内的不均一性的能力较差,叠加分析实现较为困难,不便于空间索引。

    1.3D FDS模型

    Molennar(1992)在原二维拓扑数据结构的基础上,定义了结点(Node)、弧(Arc)、边(Edge)和面(Face)四种几何元素之间的拓扑关系及其与点(Point)、线(Line)、面(Surface)和体(Solid)四种几何目标之间的拓扑关系,并显式地表达点和体、线和体、点和面、线和面间的is-in,is-on等拓扑关系,提出了—种基于3D矢量图的形式化数据结构(Formal Data Structure,FDS)(Pilout,Tempfli, Molenaar,1994),如图2-27所示。其特点是显式地表达目标几何组成和矢量元素之间的拓扑关系,有点类似于CAD中的BR表达与CSG表达的集成。

     


    图2-27 3DFDS数据结构(据Molenar,1992)

     

    这一模型的主要问题有三个:j仅考虑空间目标表面的划分和边界表达,没有考虑目标的内部结构,因此只适合于形状规则的简单空间目标,难以表达地质环境领域,和的没有规则边界的复杂目标;k没有对空间实体间的拓扑关系进行严格的定义和形式化描述;l由于显示地存贮几何元素间的拓扑关系,使得操作不便。

        2. 三维边界(B-Rep)表示法

    在形形色色的三维物体中,平面多面体在表示与处理上均比较简单,而且又可以用它来逼近其它各种物体。平面多面体的每一个表面都可以看成是一个平面多边形。为了有效地表示它们,总要指定它的顶点位置以及有哪些点构成边,哪些边围成一个面这样一些几何与拓扑的信息。这种通过指定顶点位置、构成边的顶点以及构成面的边来表示三维物体的方法被称为三维边界表示法。

    即三维边界(B-Rep)模型是通过面、环、边、点来定义形体的位置和形状,边界线可以是曲线,也可以是空间曲线。例如一个长方体由6个面围成,对应有6个环,每个环由4条边界定,每条边又由两个端点定义。

    比较常用的三维边界表示法是采用三张表来提供点、边、面的信息,这三张表就是:顶点表,用来表示多面体各顶点的坐标;边表,指出构成多面体某边的两个顶点;面表,给出围成多面体某个面的各条边。对于后两个表,一般使用指针的方法来指出有关的边、点存放的位置。

    三维边界模型的特点是:详细记录了构成物体形体的所有几何元素的几何信息及其相互连接关系,以便直接存取构成形体的各个面、面的边界以及各个顶点的定义参数,有利于以面、边、点为基础的各种几何运算和操作。边界表示构模在描述结构简单的3D物体时十分有效,但对于不规则3D地物则很不方便,且效率低下。

    2.6.2 三维体元模型及结构

    真3D地学模拟、地面与地下空间的统一表达、陆地海洋的统一建模、3D拓扑描述、3D空间分析、3D动态地学过程模拟等问题,已成为地学与信息科学的交叉技术前沿和攻关热点。

    体模型基于3D空间的体元分割和真3D实体表达,体元的属性可以独立描述和存储,因而可以进行3D空间操作和分析。体元模型可以按体元的面数分为四面体(Tetrahedral)、六面体(Hexahedral)、棱柱体(Prismatic)和多面体(Polyhedral)共四种类型,也可以根据体元的规整性分为规则体元和非规则体元两个大类。规则体元包括CSG-tree、Voxel、Octree、Needle和Regular Block共5种模型。规则体元通常用于水体、污染和环境问题构模,其中Voxel、Octree模型是一种无采样约束的面向场物质(如重力场、磁场)的连续空间的标准分割方法,Needle和Rugular Block可用于简单地质构模。非规则体元包括TEN、Pyramid、TP、Geocelluar、Irregular Block、Solid、3D-Voronoi和GTP共8种模型。非规则体元均是有采样约束的、基于地质地层界面和地质构造的面向实体的3D模型。

        1. 八叉树(Octree)数据结构

        八叉树数据结构可以看成是二维栅格数据中的四叉树在三维空间的推广。该数据结构是将所要表示的三维空间V按X、Y、Z三个方向从中间进行分割,把V分割成八个立方

    体;然后根据每个立方体中所含的目标来决定是否对各立方体继续进行八等分的划分,一直划分到每个立方体被一个目标所充满,或没有目标,或其大小已成为预先定义的不可再分的体素为止。

    例如,图2-28所示的空间物体,其八叉树的逻辑结构可按图2-29表示。图中,小圆圈表示该立方体未被某目标填满,或者说,它含有多个目标在其中,需要继续划分。有阴影线的小矩形表示该立方体被某个目标填满,空白的小矩形表示该立方体中没有目标,这两种情况都不需继续划分。

     

    (a) 三维空间V中的物体 (b) 三维空间V及划分编码

    图2-28 三维空间物体实例

        

    图 2-29 八叉树数据结构举例

    八叉树的主要优点在于可以非常方便地实现有广泛用途的集合运算(例如,可以求两个物体的并、交、差等运算),而这些恰是其它表示方法比较难以处理或者需要耗费许多计算资源的地方。不仅如此,由于这种方法的有序性及分层性,因而对显示精度和速度的平衡、隐线和隐面的消除等,带来了很大的方便,特别有用。

         2. 四面体格网(TEN)

    从理论上讲,对任意的三维物体,只要它满足一定的条件,我们总可以找到一个合适的平面多面体来近似地表示这个三维物体,且使误差保持在一定的范围内。一般地讲,如果要表示某个三维物体,我们就须知道从这个物体表面S0上测得的一组点P1,P2,…PN的坐标。其次,就是要为这些点建立起某种关系,这种关系有时被称为这些点代表的物体的结构。

    通常这种近似(或叫逼近)有两种形式,一种是以确定的平面多面体的表面作为原三维物体的表面S0的逼近;另一种则是给出一系列的四面体,这些四面体的集合(又称为四面体格网)就是对原三维物体的逼近。前者着眼于物体的边界表示(类似于三维曲面的表示),而后一类着眼于三维物体的分解,就象一个三维物体可以用体素来表示一样。

    四面体格网(Tetrahedral Network-TEN)是将目标空间用紧密排列但不重叠的不规则四面体形成的格网来表示,其实质是2D TIN结构在3D空间上的扩展。在概念上首先将2D Voronoi格网扩展到3D,形成3D Vornonoi多面体,然后将TIN结构扩展到3D形成四面体格网。

    1)四面体格网数据的组织

    四面体格网由点、线、面和体四类基本元素组合而成。整个格网的几何变换可以变为每个四面体变换后的组合,这一特性便于许多复杂的空间数据分析。同时,四面体格网既具有体结构的优点,如:快速几何变换,快速显示,又可以看成是一种特殊的边界表示,具有一些边界表示的优点,如:拓扑关系的快速处理。

     

    图2-30 四面体格网表示三维空间物体的例子

    四面体                             三角形

    体号    面号    属性

     

    面号   线段号   属性

     

        …

    1   A,B,C,D

     

    A    a,b,c

    B    b,d,e

    C    c,e,f

    D    a,d,f

        …

    线                                 结点

    线号  起点  终点  属性

     

    点号   X   Y   Z  属性

    a     1    2

    b     1    3

    c     3    2

    d     1    4

          …

    1    10   3   2

    2    4    3   2

    3    8   1.5   3

    4   10.5  -1   0

         …

            图2-31 四面体格网表示三维空间物体例子的数据结构

    用四面体格网表示三维空间物体的例子及其数据结构见图2-30和2-31。

    四面体网格数据结构是网格生成程序实现上一个非常重要的问题。网格数据结构的选择和建立,特别是能够满足各种各样网格生成算法要求的数据结构尤其显得重要。

    2)四面体格网数据的生成算法

    四面体格网(TEN)数据模型实质是二维三角形网(Triangulation Irregular Nework-TIN)数据结构在三维上的扩展。目前,主要有三种三角网生成的算法,即三角网生成算法[64],逐点插入法,以及分治算法。下面在分析三角网生成算法的基础上,给出了三个建立四面体格网的算法思想及步骤。

    (1)四面体格网生成算法

    该算法的思想是:在数据场中先构成第一个四面体,然后以四面体的某个面向外扩展生成新的四面体,直至全部离散点均已连成网为止。其步骤如下:

    ① 在数据场中选择最近两个点连线,作为第一个三角形的一条边。

    ② 选择第三个点构成第一个三角形。

    ③ 选择第四个点构成第一个四面体。

    ④ i=1, j=1(i为已构成的四面体个数,j为正扩展的四面体个数)。

    ⑤ 扩展第j个四面体生成新的四面体0~4个。

    ⑥ i=i+k(k=0,1,2,4),j=j+1。

    ⑦ i≥j则转向⑤。

    ⑧ 结束。

    上述算法实现过程中,在步骤②中,选择第三个点的依据是Delauny的两个性质。其一是所选点与原两点一起所构成圆的圆心到原两点连线的“距离”最小;其二是所选点与原两点连线的夹角最大。在步骤③中,选择第四个点的依据是所选点与已产生的三角形的三个点一起所构成球面的球心到三角形所构成的面的“距离”最小。

    (2)逐次插入算法

    该算法思想是:将未处理的点加入到已经存在的四面体格网中,每次插入一个点,然后将四面体格网进行优化。其步骤如下:

    ① 生成包含所有数据点的立方体(即建立超四面体顶点)。

    ② 生成初始四面体格网。

    ③ 从数据中取出一点P加入到三角网中。

    ④ 搜寻包含点P的四面体,将P与此四面体的四个点相连,形成四个四面体。

    ⑤ 用LOP算法从里到外优化所有生成的四面体。

    ⑥ 重复③~⑤直至所有点处理完毕。

    ⑦ 删除所有包含一个或多个超四面体顶点的四面体。

     

     

     

     

     


                    优化前                                  优化后

    图2-32 四面体优化示意图

    上述步骤⑤中的LOP(Local Optimization Procedure)是生成四面体格网的优化过程,其思

    想是运用四面体格网的性质,对由两个公共面的四面体组成的六面体进行判断,如果其中

    一个四面体的外接球面包含第五个顶点,则将这个六面体的公共面交换,如图2-32所示。

    (3)分治算法

    该算法的思想是:首先将数据排序,即将点集V按升序排列使(xi,yi,zi) <(xi+1,yi+1,zi+1),不等式成立的条件是xi ≦xi+1且yi ≦yi+1 且zi <zi+1.然后递归地分割数据点集,直至子集中只包含四个点而形成四面体,然后自下而上地逐级合并生成最终的四面体格网。分治函数lee(V)内容如下:

    lee(V)

    ① 把点集V分为近似相等的两个子集VL和VR

    ② 分别在VL和VR中生成四面体格网。

    l  如果VL中包含4~7个点,则建立VL的四面体格网;否则调用lee(VL)。

    l  如果VR中包含4~7个点,则建立VR的四面体格网;否则调用lee(VR)。

    ③ 用局部优化算法LOP优化所产生的四面体格网。

    ④ 合并VL和VR中两个四面体格网。

    l  分别生成VL和VR的凸多面体。

     

     

     

     

     

     

     

     

     

     


                               VL四面体格网                         VR四面体格网

    图2-33 合并VL和VR示意图

     

    l  在两多面体的Z方向底线寻找一三角形,然后建立一四面体。

    l  从该四面体逐步扩展直至整个四面体格网建立完毕。

    在合并VL和VR中两个四面体格网的过程中,在建立第一个四面体,以及逐步扩展四面体时,均是在与已有数据点相连的顶点中寻找。举例见图2-33,在合并VL和VR时,先找到第一个三角形⊿P1P2P3,然后从与P1,P2,P3相连的顶点中找到点P4,即生成由P1P2P3P4这四个点所组成的四面体。然后分别从⊿P1P2P4和⊿P1P3P4向外扩展,对于⊿P1P2P4是在与点P1,P2,P4相连的点中寻找第四个点,而⊿P1P3P4是在与点P1,P3,P4相连的点中寻找第四个点。每找到一个点,必须确认四面体之间无交叉重叠,若出现这种情况,则放弃这个点,认为该三角形不能再扩展。

    在算法实现过程中,数据结构的组织形式是有效建立四面体格网的关键,需要深一步的研究和探讨。

    2.6.3 三维混合数据模型及结构

    基于面模型的构模方法侧重于3D空间实体的表面表示,如地形表面、地质层面等,通过表面表示形成3D目标的空间轮廓,其优点是便于显示和数据更新,不足之处是难以进行空间分析。基于体模型的构模方法侧重于3D空间实体的边界与内部的整体表示,如地层、矿体、水体、建筑物等,通过对体的描述实现3D目标的空间表示,优点是易于进行空间操作和分析,但存储空间大,计算速度慢。混合模型的目的则是综合面模型和体模型的优点,以及综合规则体元与非规则体元的优点,取长补短。

    1.TIN-CSG混合构模

    这是当前城市3D GIS和3DCM构模的主要方式,即以TIN模型表示地形表面,以CSG模型表示城市建筑物,两种模型的数据是分开存储的。为了实现TIN与CSG的集成,在TIN模型的形成过程中将建筑物的地面轮廓作为内部约束,同时把CSG模型中建筑物的编号作为TIN模型中建筑物的地面轮廓多边形的属性,并且将两种模型集成在一个用户界面(李清泉,1998;孙敏等,2000)。这种集成是一种表面上的集成方式,一个目标只由一种模型来表示,然后通过公共边界来连接,因此其操作与显示都是分开进行。

    2.TIN-Octree混合构模(Hybrid构模)

    即以TIN表达3D空间物体的表面,以Octree表达内部结构。用指针建立TIN和Octree之间的联系,其中TIN主要用于可视化与拓扑关系表达。这种模型集中了TIN和Octree的优点,使拓扑关系搜索很有效,而且可以充分利用映射和光线跟踪等可视化技术。缺点是Octree模型数据必须随TIN数据的变化而改变,否则会引起指针混乱,导致数据维护困难。

    3.Wire Frame-Block混合构模

    即以Wire Frame模型来表达目标轮廓、地质或开挖边界,以Block模型来填充其内部(惠勒 A.J.等,1989)。为提高边界区域的模拟精度,可按某种规则对Block进行细分,如以Wire Frame的三角面与Block体的截割角度为准则来确定Block的细分次数(每次可沿一个方向或多个方向将尺寸减半)。该模型实用效率不高,即每一次开挖或地质边界的变化都需进一步分割块体,即修改一次模型。

    4.Octree-TEN混合构模

    李德仁等曾提出过八又树(Octree)和不规则四面体(TEN)相结合的混合数据结构(李德仁等,1997)。在这个结构中,用八叉树作全局描述,而在八叉树的部分栅格内嵌入不规则四面体作局部描述。这种结构特别适合于表达内部破碎、表面规整的二维对象,但对

     

          图2-34传统八叉树与TEN的结合                 图2-35 面八叉树与TEN的结合

    于表面也不规整的对象则不合适。

        考虑将适合于表达实体内部破碎复杂结构的不规则四面体网和适合于表达表面不规整的八叉树层次结构有机结合起来,形成统一的三维集成数据结构。这种结构用八叉树结构

    表达对象表面及其内部完整部分,并在八叉树的特殊标识结点内嵌入不规则四面体网表达对象内部的破碎部分,整个结构用一棵经过有机集成的八叉树表达。不规则四面体网和三级矢量化八叉树有机结合的统一三维集成数据结构,可用如图2-33、图2-34表示。   

        5. 矢量与栅格集成模型

     

    图2-36 矢量栅格集成的三维空间数据模型(李清泉等,1998)

    一个三维空间数据模型应具有目标的几何、语义和拓扑描述;具有矢量和栅格数据结构;能够从已有的二维GIS获取数据以及三维显示和表示复杂目标的能力。矢量栅格集成的三维空间数据模型,如图2-36所示。

    在这个模型中,空间目标分为四大类,即点(0D)、线(1D)、面(2D)和体(3D)。目标的位置、形状大小和拓扑信息都可以得到描述。其中目标的位置信息包含在空间坐标;目标的形状和大小信息包含在线、面和体目标;目标的拓扑信息包含在目标的几何要素和几何要素之间的联系中,而且模型中包含矢量和栅格结构。模型中包含的各种目标及其数

    据模型全面,但对具体的系统用什么样的数据模型可视需要而定。

     

     

     

    习题

    1.什么叫像元、灰度值、栅格数据?

    2.举例说明栅格数据层的概念。

    3.栅格数据如何以数组的形式进行存储?

    4.栅格数据有哪几种组织方法?各自有何优缺点?

    5.栅格数据如何进行取值?

    6.栅格数据存储压缩编码方法主要有哪几种?每种方法是如何进行压缩的?

    7.什么叫矢量数据?点、线、面实体数据编码的基本内容是什么?

    8.什么叫拓扑关系?举例说明拓扑关系有哪几种类型?

    9.举例说明实体式数据结构。它有何缺点?

    10.举例说明索引式数据结构、DIME数据结构、链状双重独立式数据结构。

    11.地理数据的显式和隐式表示有何区别?

    12.在实际工作中应如何对矢量和栅格数据结构进行有效的选择?

    13.三维空间数据模型有哪些?其对应空间数据结构有什么特点?


    展开全文
  • 理解数据库与数据模型的概念

    千次阅读 2020-03-02 19:07:15
    本篇首先引入编程微课项目作为数据库的应用...● 数据库的基本原理及数据模型 ● 关系数据库 1、编程微课 编程微课项目使用图文,语言,视频等方式进行内容教学,再附加各种训练题,帮助练习和巩固知识。 微课...

    本篇首先引入编程微课项目作为数据库的应用案例,通过对项目功能及涉及的相关数据的介绍,让读者对数据库的应用有一个感性认识,然后重点讲述关系数据库的理论基础知识。通过本篇的学习,读者应该能掌握以下内容:

    ● 编程微课的主要功能

    ● 数据库的基本原理及数据模型

    ● 关系数据库

     

    1、编程微课

    编程微课项目使用图文,语言,视频等方式进行内容教学,再附加各种训练题,帮助练习和巩固知识。

    微课内容来自于编程达人,编程达人撰写课程内容,通过编程微课平台为编程爱好者提供课程内容,获得收益。读者可以通过PC浏览器、微信小程序支付课程费用和学习课程内容,并可以加入编程达人的朋友圈,与编程达人进一步互动交流学习。

     

    2、理解数据库

    数据库可以理解为存储数据的仓库,每个数据项在数据仓库中都有编号,通过编号就可以找到该数据项。例如,图书馆就是存储图书的仓库,在图书馆存储的每本图书都有一个编号,编号表示了书的类别和顺序号,同类别的书放在一个书架上,便于图书管理员和读者查找图书。

    图书馆存储的是图书,数据库存储的是数据,每条数据称为数据项。数据是对客观事物的符号表示,如文字、图形、数字等。在日常生活中,人们直接用语言来描述事物,例如在描述一门课程时,人们常用“Java编程课程—入门篇由编程达人郎老师编写,编程语言课,课程面向青少年编程爱好者,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界”。

    在计算机中,为了存储和处理这些事物,就要将事物的特征抽象出来组成一个记录来描述。

    例如,将课程事物抽象为数据项记录(课程名称,授课老师,类别、学生对象,课程简介)。课程事物的一条数据可以描述为(Java编程课程—入门篇,郎老师,编程语言,面向青少年爱好者,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界)。

    当需要存储多个课程数据项时,就构成了数据库。因此,数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用提供数据服务。

     

    3、数据库发展简史

    计算机应用于数据管理的初期,由于没有必要的软件、硬件环境的支持,用户只能直接在裸机上操作。当时编写的应用程序不仅要设计如何处理和存储数据,还要指明数据在存储器上的存储地址。在这一管理方式下,应用程序和数据之间相互结合,不可分割,数据独立性差,缺少共享性,编程效率低下。这一阶段称为人工管理阶段。

    随着计算机软、硬件的发展,数据管理进入了文件管理阶段,这一阶段的主要标志是计算机有了专门管理数据库的软件——操作系统(文件管理)。文件管理方式是把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,有一个专门的文件管理系统实施统一管理。在这一管理方式下,应用程序通过文件管理系统对数据文件中的数据进行加工处理,应用程序的数据具有一定的独立性和共享性,比手工管理方式更进了一步。

    在文件管理阶度,数据虽然具备了一定的独立性和共享性,但由于数据的组织依然是面向程序,数据不但存在大量冗余,而且数据自身的逻辑结构也难以满足不同用户对数据的要求。为了减少数据冗余,提高数据的共享性和独立性,人们需要对使用的数据进行统一规划管理,形成一个数据中心,构成一个数据库。数据库中数据能够满足所有用户的不同要求,供不同用户共享。这个阶段称为数据库管理系统阶段。

     

    4、数据模型

    数据模型是数据库的基础,数据是对客观事物的符号表示,模型是现实世界的抽象。数据模型是对数据特征的抽象。

    客观事物抽象为数据模型,是一个逐步转化的过程,经历了现实世界、信息世界和计算机世界这三个不同的世界,经历了两级抽象和转换,如下图所示:

     

                                 

                                                                             图 2-1 数据抽象过程

     

    现实世界是指客观存在的事物及其相互间的联系,人们一般选择事物的基本特征来描述事物。事物可以是抽象的,也可以是具体的,如课程属于抽象的事物,人们通常用课程名称、授课老师、类别、学生对象、课程简介等特征来描述和区分。学生就属于具体的事物,通常用学号、姓名、班级、成绩等特征来描述和区分。

    信息世界是对现实世界的抽象,人们把事物的特征和联系通过符号记录下来,并用规范化的语言描述现实世界的事物,从而构成一个基于现实世界的信息世界,这个信息世界就是概念模型概念模型主要用来描述显示世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及数据库管理系统的具体技术问题,集中精力分析数据以及数据之间的联系。在概念模型中,最常用的设计模型就是实体—联系模型(ER模型),关于课程的ER模型如下图所示:

     

                                            

                                                                                       图 2-2 课程ER模型

     

    信息世界的概念模型还不能被数据库管理系统直接使用,需要将概念模型进一步转换为逻辑数据模型,形成便于计算机处理的数据形式。逻辑数据模型是具体的数据库管理系统所支持的数据模型,主要有关系数据模型、层次数据模型和网状数据模型。关系数据模型是目前最流行的数据库模型,支持关系数据模型的数据库管理系统称为关系数据库管理系统,MySQL就属于关系数据库管理系统。关系数据模型以二维表结构来表示事物与事物之间的联系,也可以称为实体与实体之间的联系。关于课程关系的二维表如下表所示:

                                 

     

                                                                               表格 2-1 课程关系表

     

    逻辑数据模型反映了数据的逻辑结构,当需要把逻辑模型数据存储到物理介质时,就需要用到物理数据模型了,物理数据模型是面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的数据库管理系统有关,而且还与操作系统和硬件相关,每一种逻辑数据模型在实现时都有对应的物理数据模型。本课程重点讨论概念数据模型和逻辑数据模型,物理数据模型不是本课程讨论的重点。

     

    5、 关系数据库

    要设计一个数据库系统,首先要将现实世界抽象到数据的世界,即将现实世界用数据进行描述,得到一个现实世界的数据模型

    关系数据模型是目前描述现实世界主要的抽象化方法它将用户数据的逻辑结构归纳为满足一定条件的二维表的形式。由于关系数据模型概念简单、清晰,用户易懂易用,又有严格的数学基础。因此,20世纪80年代以来推出的数据库管理系统都支持关系数据模型,支持关系数据模型的数据库管理系统也称为关系数据库。

    在描述现实世界的过程中,为了分析的方便,可以将这一抽象过程分为两个阶段首先应用ER模型将现实世界抽象为一个信息世界,这种信息的结构不依赖于具体的计算机实现,然后将信息世界的数据抽象为结构化的二维表形式,形成关系数据模型。

    下面以编程微课项目的学生与课程两个事物(实体)为例,对两个阶段的抽象过程作具体说明。

    在现实世界中描述学生和课程,要结合具体的事物场景来分析。编程微课项目使用图文,语言,视频等方式进行在线教学,学生可以在任何时间、任何地点使用手机或电脑打开课程学习。结合上面的场景来分析学生和课程的特征。学生有名称、账号、登录密码、性别、年龄等基本特征;课程有课程名称、授课老师、类别、学生对象、课程简介等基本特征;学生与课程的主要关系是学生学习课程。

    经过上面对学生和课程的分析,可以画出学生与课程的ER模型,完成第一阶段从现实世界到概念世界的抽象。ER模型如下图所示:

     

                                              

                                                                                 图 2-3 学生与课程ER模型

    第二阶段将设计的ER模型抽象为结构化的二维表形式,形成关系数据模型。将ER模型转换为结构化的二维表形式非常简单,一个事物(实体)对应一个表,事物(实体)的属性为表的字段,事物(实体)之间的关系可以在一个实体的二维表中增加另一个实体的主要字段来实现。ER模型转换后的二维表如下图所示:

     

                                   

                                                                   图 2-4 学生课程二维表结构

     

    ■ 课程小结

    可以把关系数据库理解为超市,超市摆放商品的每一排货架为数据库表,货架中每一列为表的字段,每一行为表的一条记录。假设货架每行同列摆放的商品类别相同,则可以把超市的每一排货架理解为数据库的二维表结构。由此可以看出,关系数据库是由多个二维表组成的,在每个二维表中每行同列存储的数据类别相同。

    设计关系数据库时,需要两个阶段。第一个阶段是需要将现实世界的事物进行概念化,抽象为概念数据模型,此阶段最常用的工具是实体—联系模型(ER图);第二个阶段是将ER模型转换为二维表结构(关系数据模型),此阶段一般需要利用数据库设计工具进行设计,如PowerDesigner、Visio等设计软件。

    展开全文
  • 二维空间对象数据模型,通过几何对象:点、线、面,进行数据的组织。对现实世界地理目标进行数据库构建时,通常将地物分为:点状地物、线状地物、面状地物以及组合形成的复杂地物。

           二维空间对象数据模型,通过几何对象:点、线、面,进行数据的组织。对现实世界地理目标进行数据库构建时,通常将地物分为:点状地物、线状地物、面状地物以及组合形成的复杂地物。每一种几何地物都是由更简单的几何图形进行组织,如一个面状地物,是由边界线和内部闭合区域构成,边界线是由弧段构成的,弧段是由点坐标串组成的,也就是说,点坐标将位置传递给弧段,弧段又组成了面,简单几何地物对象构成复杂地物。地物的语义描述信息通过数据外挂的方式,与地物几何进行关联。地物几何数据组织模型如图1所示:


    图1

        现有的二维空间对象数据,主流的数据标准是OGC(开放地理信息联盟)提出的二维空间几何对象模型。OGC几何对象模型,利用UML建模语言来表示模型中几何类型之间的关系,如图2所示:


    图2 OGC空间几何对象模型组织形式

    其中基础的几何子类包括点(Point)、曲线(Curve)、表面(Surface)和几何集(GeometryCollection),每一个代表地理目标的二维几何图形都会与一个描述该地理目标的空间参照系关联。点(Point)是零维的几何对象,表示空间中一个单一的位置。曲线是一维的几何对象,OGC将折线(LinearString)定义为曲线的子类,吴信才将LineString的子类Line(直线段)和LinearRing(线性环)定义为简单的LineString,通过两个子类可构建复杂的LineSring。表面(Surface)是OGC中定义的面结构,包括两个简单子类:多边形(Ploygon)和组合面(PolyhedralSurface),多边形由一个外环(LinearRing)和0个或者多个内环构成,由于三角形(Triangle)是一种特殊形式的面片,因此可以作为多边形的组成单位;组合面包括多个多边形或者面,面之间存在公共边界。几何集是几何对象的集合,包括多个不同类型几何对象,满足空间参考系的一致性。






    展开全文
  • 关系模型数据结构 关系模型源于数学 它用二维表来组织数据 而这个二维表在关系数据库中称为 关系 关系数据库是表的集合 用关系表示实体以及实体间的联系的模型 称为关系模型 下面我们来看看关系 模型中的基本术语 ...
  • 关系数据模型 2.1 数据模型 2.1.1 概念模型 实体:客观世界中存在的且可互相区分的事物 属性:实体具有的某种特性 联系:一个或多个实体之间的关联关系。 概念 解释 度 参与实体类型的个数 角色名称...
  • 数据仓库多维数据模型概念介绍

    千次阅读 2019-11-15 16:16:44
    操作性数据库与数据仓库区别 操作型数据库主要考虑的是事务型处理,一般采用E-R模型进行建模。 数据仓库主要面向分析,设计数据仓库时...多维数据模型采用多维结构文件进行数据存储,并有索引及相应元数据管理文...
  • 数据建模中的二维表和一维表!

    千次阅读 2012-05-04 22:19:36
    什么是表/一维表/二维表,哪位给个准确的定义 [复制链接] <!-- .pcb {margin-right:0} --> 透视表要求是一维表, 那什么是表、一维表、二维表呢?查了一下午也没有找到准确的定义, 把找到...
  • 维模型表面积和体积计算

    千次阅读 热门讨论 2021-07-31 18:56:46
    这篇文章主要是对三维模型的一些介绍以及使用C++完成一个mesh3封闭模型面积和体积的计算。 三维模型表达方式 三维模型表达方式即组成三维模型的方式。常见的有:基于图元的CAD模型、三点云、Mesh网格模型...
  • 在数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。 文章目录1.概念数据模型(CDM)2.逻辑数据模型(LDM)3.物理数据模型(PDM) 1.概念...
  • 数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示客观事物及其联系的数据及结构称为数据模型。本文详细讲述传统三大数据模型和空间数据模型。 一、数据模型概述 数据模型...
  • 1.概念数据模型E-R图 2.设计E-R图,过程,例子 3.逻辑数据模型,分类
  • 上一篇文章简单介绍了概念数据模型、逻辑数据模型、物理数据模型的基本概念、特性以及三者所对应的数据库...结构来表示实体类型和实体间联系的数据模型。(来自百度百科) 其实层次数据模型就是的图形表示就是一个倒...
  • 关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系。关系数据库就是表或者说是关系的集合。 数据操作 关系数据模型给出了关系操作的能力,包括。 传统的运算关系:并(union)、交...
  • 数据库数据模型思维导图: 数据库的理解 数据库可以理解为存储数据的仓库,每个数据项在数据仓库中都有编号,通过编号就可以找到该数据项。例如,图书馆就是存储图书的仓库,在图书馆存储的每本图书都有一个编号,...
  • 结构来组织数据的数据模型。     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个结点称为根结点     2. 根以外的其它结点有且只有一个双亲结点 其实层次...
  • 数据模型的概念 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。 通俗地讲数据模型就是现实世界的模拟。 数据模型应满足三方面要求: 能比较真实地模拟现实世界 容易为人所理解 便于在...
  • 地理信息系统中数字表面模型,描述的是地球表面地形的数据模型,被称为数字地形模型(DTM,digital terrain model)或者数字高程模型(DEM,digital elevation model)
  • 数据库三种数据模型

    万次阅读 多人点赞 2018-07-20 19:27:33
    层次模型是数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列。层次模型的特征是: 有且只有一个根结点 其他结点有且仅有一个父结点 网状模型 网状...
  • 寻求数据模型的实质是分析问题,从中提取出计算机处理的对象,并找出这些对象之间的关系,然后用数学的语言加以描述。 关键:分析问题中所用到的数据是如何组织的,研究数据之间存在什么样的关系。 由于数据必须在...
  • 《算法和数据结构》学习路线指引

    万次阅读 多人点赞 2021-07-01 11:16:15
    本文已收录于专栏 《画解数据结构》 饭不食,水不饮,题必须刷 C语言免费动漫教程,和我一起打卡! 《光天化日学C语言》 LeetCode 太难?先看简单题! 《C语言入门100例》 数据结构难?不存在的! 《画解数据结构》 ...
  • 数据结构基础概念篇

    万次阅读 多人点赞 2017-11-14 13:44:24
    数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据:所有能被输入到计算机中,且能被计算机处理的...
  • 数据库复习笔记2——关系模型

    千次阅读 2020-08-16 10:37:13
    关系模型的数据结构是:二维表结构,它是关系型数据库的基础。 关系数据模型由关系数据结构、关系操作和关系完整性约束三部分组成。 关系必须是规范化的,满足一定的规范条件。 关系数据库必须满足1NF范式,即...
  • 数据库的三种数据模型分别是什么

    千次阅读 2021-01-19 17:18:33
    层次模型层次模型是数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列。层次模型的特征是:1、有且只有一个根结点;2、其他结点有且仅有一个父结点。...
  • 文章目录一:什么是数据模型二:两类数据模型(1)概念模型(信息模型)A:定义B:相关术语C:概念模型的一种表示方法:实体-联系方法(2)逻辑模型和物理模型三:数据模型的组成要素四:层次模型、网状模型和关系...
  • 2.1 维度模型 2.1.1 星型模型 2.1.2 雪花模型 2.1.3星座模型 2.2 范式模型 2.3 Data Vault模型 2.4 Anchor模型
  • 概念数据模型(Conceptual Data Model)简称概念模型:对客观世界复杂事务的结构描述以及他们之间内在联系刻画。 主要有E-R模型(Entity-Relationship Model)、扩充E-R模型、面向对象模型及谓词模型。 逻...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,853
精华内容 40,741
关键字:

二维表结构的数据模型