一. 概述


相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。

非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图象、声音、影视、超媒体等信息)。

非结构化WEB数据库主要是针对非结构化数据而产生的,与以往流行的关系数据库相比,其最大区别在于它突破了关系数据库结构定义不易改变和数据定长的限制,支持重复字段、子字段以及变长字段并实现了对变长数据和重复字段进行处理和数据项的变长存储管理,在处理连续信息(包括全文信息)和非结构化信息(包括各种多媒体信息)中有着传统关系型数据库所无法比拟的优势。

结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)

非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等

所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。

数据模型

结构化数据:二维表(关系型)
半结构化数据:树、图
非结构化数据:无

其他

结构化数据:先有结构、再有数据
半结构化数据:先有数据,再有结构

随着网络技术的发展,特别是Internet和Intranet技术的飞快发展,使得非结构化数据的数量日趋增大。这时,主要用于管理结构化数据的关系数据库的局限性暴露地越来越明显。因而,数据库技术相应地进入了“后关系数据库时代”,发展进入基于网络应用的非结构化数据库时代。

二. 数据分类


在做一个信息系统设计时肯定会涉及到数据的存储,一般我们都会将系统信息保存在某个指定的关系数据库中。我们会将数据按业务分类,并设计相应的表,然后将对应的信息保存到相应的表中。比如我们做一个业务系统,要保存员工基本信息:工号、姓名、性别、出生日期等等;我们就会建立一个对应的staff表。

但不是系统中所有信息都可以这样简单的用一个表中的字段就能对应的。

结构化数据

就像上面举的例子。这种类别的数据最好处理,只要简单的建立一个对应的表就可以了。

非结构化数据

像图片、声音、视频等等。这类信息我们通常无法直接知道他的内容,数据库也只能将它保存在一个BLOB字段中,对以后检索非常麻烦。一般的做法是,建立一个包含三个字段的表(编号 number、内容描述 varchar(1024)、内容 blob)。引用通过编号,检索通过内容描述。现在还有很多非结构化数据的处理工具,市面上常见的内容管理器就是其中的一种。

半结构化数据

这样的数据和上面两种类别都不一样,它是结构化的数据,但是结构变化很大。因为我们要了解数据的细节所以不能将数据简单的组织成一个文件按照非结构化数据处理,由于结构变化很大也不能够简单的建立一个表和他对应。本文主要讨论针对半结构化数据存储常用的两种方式。

先举一个半结构化的数据的例子,比如存储员工的简历。不像员工基本信息那样一致每个员工的简历大不相同。有的员工的简历很简单,比如只包括教育情况;有的员工的简历却很复杂,比如包括工作情况、婚姻情况、出入境情况、户口迁移情况、党籍情况、技术技能等等。还有可能有一些我们没有预料的信息。通常我们要完整的保存这些信息并不是很容易的,因为我们不会希望系统中的表的结构在系统的运行期间进行变更。

三. 半结构化数据的储存方式


1. 化解为结构化数据

这种方法通常是对现有的简历中的信息进行粗略的统计整理,总结出简历中信息所有的类别同时考虑系统真正关心的信息。对每一类别建立一个子表,比如上例中我们可以建立教育情况子表、工作情况子表、党籍情况子表等等,并在主表中加入一个备注字段,将其它系统不关心的信息和已开始没有考虑到的信息保存在备注中。

优点:查询统计比较方便。

缺点:不能适应数据的扩展,不能对扩展的信息进行检索,对项目设计阶段没有考虑到的同时又是系统关心的信息的存储不能很好的处理。

2. 用XML格式来组织并保存到CLOB字段中

XML可能是最适合存储半结构化的数据了。将不同类别的信息保存在XML的不同的节点中就可以了。

优点:能够灵活的进行扩展,信息进行扩展式只要更改对应的DTD或者XSD就可以了。

缺点:查询效率比较低,要借助XPATH来完成查询统计,随着数据库对XML的支持的提升性能问题有望能够很好的解决。

对于半结构化数据的讲解,这可能是最通俗易懂的一篇文章了相关推荐

  1. 微软熊辰炎:如何利用图神经网络解决半结构化数据问题?

    对于许多信息检索和知识图谱研究者来说,究竟应该使用抽象的结构化信息进行表示学习还是使用海量的文本信息始终是一个富有争议的话题.在本届智源大会上,来自微软研究院的高级研究员熊辰炎博士带来了题为" ...

  2. html属于非结构化数据吗,什么是结构化数据非结构化数据和半结构化数据

    什么是结构化数据非结构化数据和半结构化数据以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 结构化数据也称为行数据,是由二 ...

  3. 结构化数据、半结构化数据、非结构化数据

    1 概念 结构化数据 结构化数据可以使用关系型数据库来表示和存储,如MySQL.Oracle.SQL Server等,表现二维形式的数据.可以通过固有键值获取相应信息. 一般特点是:数据以行为单位,一 ...

  4. 如何理解结构化、非结构化和半结构化数据?

    计算机信息化系统中的数据分为结构化数据.非结构化数据和半结构化数据 1.结构化数据(Structured Data) 定义:结构化数据也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据 ...

  5. html文档半结构化数据,什么是半结构化数据?

    要考虑半结构化数据是什么,让我们从类比开始 – 采访. 假设您正在进行半结构化访谈.顾名思义,这在介于结构化和非结构化的访谈之间. 对于上下文,结构化访谈是指您的人力资源团队预先确定所询问的问题以及询 ...

  6. html文档半结构化数据,什么是半结构化数据(semi-structured data)?

    半结构化数据的定义 我们在设计一个信息系统时必然涉及到数据的存储,而数据存储用得最多的就是关系数据库.通常我们会将数据按业务分类,并设计相应的表,然后将对应的信息保存到相应的表中.比如一个企业信息管理 ...

  7. 【数据库】结构化数据、非结构化数据、半结构化数据的区别

    林中鹿 结构化数据可以通过固有键值获取相应信息,且数据的格式固定,如RDBMS data 半结构化数据可以通过灵活的键值调整获取相应信息,且数据的格式不固定,如json,同一键值下存储的信息可能是数值 ...

  8. 结构化数据,半结构化数据,非结构化数据(区别)

    结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据.一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的.举一个例子: id name age ...

  9. 结构化数据和半结构化数据和非结构化数据

    计算机信息化系统中的数据分为结构化数据和非结构化数据和半结构化数据. 结构化数据 结构化数据,是指由二维表结构来表达逻辑和实现的数据,严格的遵循数据格式与长度规范,主要通过关系型数据库进行管理和存储. ...

最新文章

  1. 第一天学习Android的一些笔记
  2. wxWidgets学习 (2) -- 事件处理
  3. springboot No Java compiler available for configuration options compilerClassName
  4. SQL Server 使用OPENROWSET访问ORACLE遇到的各种坑总结
  5. 不同职业的面试着装技巧。
  6. LeetCode刷题——字符串转换整数
  7. ETH基金会社区经理:以太坊改进流程EIP-1正在更新
  8. java多线程中 锁 的概念的理解,java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)...
  9. jQuery笔记——jQuery选择器实例应用
  10. 《Java程序员,上班那点事儿》征文活动获奖名单
  11. 经验:如何做好两台BXP服务器(转)
  12. linux fedora14 u盘运行,通过U盘安装Fedora-14-i686-Live-Desktop
  13. 【高速PCB电路设计】8.DDR模块设计实战
  14. svn 安装教程 TortoiseSvn
  15. QQ坦白说_6.09后最新
  16. 附合导线坐标计算例题_附合导线坐标计算
  17. vue项目rem 大屏可视化适配
  18. 设计字体打包_设计师都在用的艺术字体素材
  19. 3DMAX建模教程:给模型设计逼真的发型!
  20. It Was a Good Barn

热门文章

  1. C语言程序设计 | 打印一个n行的菱形
  2. 记一次“曲折“的MySQL数据导出
  3. 平均 3000-20000 块不等,有空接外包私活的入群!
  4. 面试题:1 到 1000 之间有多少个 7?
  5. 搞懂这些SQL优化技巧,面试横着走
  6. 大图详解负载神器 LVS、Nginx及HAProxy工作原理
  7. 工具类用得好,下班下的早
  8. 搞定系统设计 00:开篇
  9. Go 超时引发大量 fin-wait2
  10. 报告显示H.264份额进一步提升 1080p最受欢迎