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

结构化数据

结构化数据指的是数据以固定格式存在,简单的说是指可以使用关系数据库表示和存储,即二维形式的数据,一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。

半结构化数据

半结构化数据是介于结构化数据(如关系型数据库)和非结构化数据(如声音、图像文件等)之间的数据。

半结构化数据是结构化数据的一种形式,虽然有结构,但它与关系型数据库的数据模型结构不同,不方便模式化(表示数据时有伸缩性),属于同一类实体可以有不同的属性,即使他们被组合在一起,这些属性的顺序并不重要。最典型的为JSON数据。

非结构化数据

非结构化数据是指数据没有一个预先定义好的组织方式,一般指文字型数据,其中也会包含数字等信息 。

举个栗子:

我们这里有员工的信息需要存放

①结构化数据
      需要事先预定义好属性,假设只有姓名,年龄,性别,工号四个属性信息,那么结构化数据表示为:

姓名 年龄 性别 工号
员工一 张三 29 123456
员工二 李四 30 654321
员工三 王五 28 888888

②半结构化数据

       可能有时候要存放员工的简历,而员工的信息大不相同,有些员工的简历简单,只包括教育经历等等,而有些员工的简历丰富,不仅包括上述的情况,可能还包括工作经历、党籍情况、外语水平等等、掌握技能等等,可能还有一些我们不知道的情况。

       采用传统的关系型数据库不合适,这就需要我们构建半结构化格式。

{
    '姓名':'张三',
    '年龄':29,
    '性别':男,
    '工号':123456,
    '学历':高中
}
{
    '姓名':'李四',
    '年龄':30,
    '性别':女,
    '工号':654321,
    '学历':大学本科,
    '外语水平':CET-4,
    '婚姻状况':已婚
}
{
    '姓名':'王五',
    '年龄':28,
    '性别':男,
    '工号':888888,
    '学历':硕士,
    '毕业院校':家里尊大学,
    '政治面貌':共青团员,
    '掌握技能':PS、OFFICE
    ....
}

③非结构化数据

       考虑这样一种情况,假设现在你是负责将员工信息存储的管理人员,突然领导要你把某人的信息进行存储,当时领导很忙,匆忙的只是口头传达,你只能打开txt文件先暂时记录,当然记录的时候也是匆忙、简短的记录。

张三29sui男123456,硕士学历但是是非全,未婚,现在住在新华路29号
李四男30,654321,高中没上完,cet4,开车

       这即是非结构的数据,只是简单的文本,没有任何结构可言,上述代表员工姓名张三,年龄29岁,性别男,工号123456,学历硕士,婚姻状况,住址。员工姓名李四,年龄30岁,性别男,工号654321,学历高中,外语能力,驾驶技能。

你可能感兴趣的:(database,mongodb)