结构化数据和半结构化数据和非结构化数据
程序员文章站
2022-03-24 17:29:20
...
计算机信息化系统中的数据分为结构化数据和非结构化数据和半结构化数据。
结构化数据
结构化数据,是指由二维表结构来表达逻辑和实现的数据,严格的遵循数据格式与长度规范,主要通过关系型数据库进行管理和存储。
也称作行数据,一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。
例:
id | name | gender | address |
---|---|---|---|
1 | 张三 | female | 北京市 |
2 | 李四 | male | 上海市 |
3 | 王五 | female | 广州省 |
所以,结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。显然,它的扩展性不好
非结构化数据:
非结构化数据,是数据结构不规则或者不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、HTML、各类报表、图像和音视频信息等
半结构化数据:
半结构化数据,是结构化数据的一种形式,虽不符合关系型数据库或其他数据表的形式关联起来的数据型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,也被称为自瞄述的结构。
所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,XML、HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。
常见的半结构数据有XML和JSON,对于对于两个XML文件,第一个可能有,例:
<person>
<name>A</name>
<age>13</age>
<gender>female</gender>
</person>
第二种可能为:
<person>
<name>B</name>
<age>male</age>
</person>
从上面的例子中,属性的顺序是不重要的,不同的半结构化数据的属性的个数是不一定一样的。有些人说半结构化数据是以树或者图的数据结构存储的数据,怎么理解呢?上面的例子中,标签是树的根节点,和标签是子节点。通过这样的数据格式,可以*地表达很多有用的信息,包括自我描述信息(元数据)。所以,半结构化数据的扩展性是很好的。