半结构化数据模型

关系数据库中的数据是模式固定的结构化数据。模式固定可以使数据组织成一定的数据结构,这样能有效地支持查询响应,但难以实现对数据结构的动态修改。半结构化数据是介于结构化数据和完全无结构数据(如声音文件、图像文件等)之间的数据。它具有一定的结构,但是结构不完整、不规则,或者结构是隐含的,例如,HTML文档就是半结构化数据。半结构化数据主要来源于网络,因为网络对于数据的存储是无严格模式限制的,如常见的HTML、XML等文件,就存在着大量结构和内容都不固定的数据。

半结构化数据模型允许那些相同类型的数据项有不同的属性集的数据说明。这和结构化的数据模型形成了对比,因为在结构化数据模型中所有某种特定类型的数据项必须有相同的属性集。

半结构化数据的产生背景和自身特点决定了要求其查询必须能处理如下情形。

1. 数据缺失

与关系数据库和面向对象数据库中的数据不同,半结构化数据的模式不固定,同类实体的结构也可能不同,这样查询时就会出现缺失数据。例如,在公司人事档案库中,已婚雇员会有配偶项信息,而未婚的雇员则无该项信息。某些雇员有E-mail 地址和家庭电话,而有些却没有,查询这些项时就会有很多空值。因此,应保证查询在缺失数据时仍有意义。

2. 单值和集合值属性兼容

在传统查询语言如SQL、OQL、XSQL中, 单值和集合值属性是不兼容的,即集合不能按单值处理,单值也不能按集合处理。半结构化数据结构多样可变,单值和集合结果的出现无法预料,用户不能预先对数据结构和模式进行细致了解。同一查询对不同半结构化数据的结果可能是单值,也可能是多值。因此,要保证用兼容方式处理查询的单值和集合值属性。

3. 查询对象类型各异

在WWW 和异构信息源集成时,会有不少内容相同而类型各异的问题。如一信息源上的电话信息是用字符串表示,而另一信息源上则可能用整数表示。有些电话信息上可能带区号,而有些则不带。又如WWW上的主页,相同实体的类型差异也很大。如主页里的朋友项,有的是用字符串给出名字,有的则带有简单描述信息或是指向其朋友的网络地址。这就要求查询处理时有宽松的类型限制或没有类型检查。

4. 异构的查询返回结果

半结构化数据的同类实体查询会出现不同的结果对象,选择语句的返回结果可能因数据源的不同而异。同一个查询的结果可能是一个串、多个字段组成的复杂对象或二者兼有。 在数据模型和查询语言中,包括查询结果在内的所有对象,都应按照异构集方式建模,要允许在异构集上进行查询和返回异构集结果。

5. 查询的对象结构未知

在目前流行的客户机/服务器应用集成实现中常将部分或全部元数据(表结构或类信息) 调入客户端和管理器中,这在半结构化数据情形下是不现实的,因为这样的元信息会太多、太繁杂。所以在数据模型和查询中应允许用户通过某些机制了解源中的对象结构及相关联的对象内容。同时最好能进行模式发现,允许查询的路径表达式带通配符处理。这在数据库中部分结构已知、但内容和模式经常改变时尤为重要。

时间: 2024-12-15 01:24:42

半结构化数据模型的相关文章

结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)

概念 结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据. 半结构化数据:介于完全结构化数据(如关系型数据库.面向对象数据库中的数据)和完全无结构的数据(如声音.图像文件等)之间的数据,HTML文档就属于半结构化数据.它一般是自描述的,数据的结构和内容混在一起,没有明显的区分. 非结构化数据:不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档.文本.图片.XML.HTML.各类报表.图像和音频/视频信息等等. 数据模型 结构化数据:二维表(关系

结构化、半结构化和非结构化数据

在实际应用中,我们会遇到各式各样的数据库如nosql非关系数据库(memcached,redis.mangodb).RDBMS关系数据库(oracle,mysql等),另一些其他的数据库如hbase,在这些数据库中.又会出现结构化数据.非结构化数据.半结构化数据,以下列出各种数据类型: 结构化数据: 可以用数据或统一的结构加以表示,我们称之为结构化数据,如数字.符号.传统的关系数据模型.行数据,存储于数据库,可用二维表结构表示. 半结构化数据: 所谓半结构化数据.就是介于全然结构化数据(如关系型

[转]结构化、半结构化和非结构化数据

在实际应用中,我们会遇到各式各样的数据库如nosql非关系数据库(memcached,redis,mangodb),RDBMS关系数据库(oracle,mysql等),还有一些其它的数据库如hbase,在这些数据库中,又会出现结构化数据,非结构化数据,半结构化数据,下面列出各种数据类型: 结构化数据: 能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字.符号.传统的关系数据模型.行数据,存储于数据库,可用二维表结构表示.   半结构化数据: 所谓半结构化数据,就是介于完全结构化数据(如

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

结构化数据.非结构化数据以及半结构化数据是对存储形式的一种数据类型分析 结构化数据.非结构化数据以及半结构化数据对比 类别 结构化数据 半结构化数据 非结构化数据 数据特征 数据结构字段含义确定,清晰 具有一定结构,但语义不够确定:自描述,数据结构和内容混杂在一起 杂乱无章的数据,很难按照一个概念去进行抽取,无规律性 典型例子 数据库中的表结构 邮件.HTML.报表.资源库 视频.音频.图片.图像.文档.文本等 数据模型 二维表 树.图 无 存储方案 高速存储应用需求.数据备份需求.数据共享需求

什么是结构化数据?什么是半结构化数据?

概述 相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档.文本.图片.XML.HTML.各类报表.图像和音频/视频信息等等. 非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字.符号等信息)而且更适合处理非结构化数据(全文文本.图象.声音.影视.超媒体等信息). 非结构化WEB数据库主要是针对非结构化

[转]概念:结构化数据、半结构化数据、非结构数据

原:http://blog.csdn.net/liangyihuai/article/details/54864952 结构化数据.半结构化数据和非结构化数据 结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据.一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的.举一个例子: id name age gender 1 lyh 12 male 2 liangyh 13 female 3 liang 18 male 所以,结构化的数据的存储

结构化,半结构化,非结构化数据总结

前言: Hive可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能.在学习Hive之前 我们先了解下结构化数据,半结构化数据以及非结构化数据的区别. 1.结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据.一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的.举一个例子: id name age gender 1 lyh 12 male 2 liangyh 13 female 3 liang 18 male 所以,结构化的数

构化数据、半结构化数据和非结构化数据

结 结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据.一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的.举一个例子: id name age gender 1 lyh 12 male 2 liangyh 13 female 3 liang 18 male 1 2 3 4 所以,结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助.但是,显然,它的扩展性不好(比如,我希望增加一个字段,怎么办?). 半结构化数据 半结构化

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

结构化数据 特点:高度组织和格式化:可以用二维表结构来逻辑表达和实现的数据 存储形式:关系型数据库 非结构化数据 特点:数据结构不规则或不完整.数据模型不固定 存储形式:非关系型数据库 绝大部分数据是非结构化的 半结构化数据 非关系模型的.有基本固定结构模式的数据,例如日志文件.XML文档.JSON文档.Email等 如日志文件.XML文档.JSON文档.Email等 <person> <name>A</name> <age>13</age> &