• 数据库原理及应用-数据模型之层次与网状模型


    2018-01-22 20:55:42

    一、层次模型

    最先出现的数据模型,因为现实世界中的很多数据本身就存在层次关系,层次模型将客观世界描述成树状结构

    由IBM于1968年推出的IMS(Information Management System)数据库管理系统是第一个层次模型数据库管理系统,也是最典型的一个。

    1、记录(record)和字段(field)

    记录是用来描述某个事物或者事物间关系的可命名的数据单位。它包含若干字段,每个字段也是可命名的,字段只能是简单的数据类型,比如整形,字符串类型等。

    左图是一个名为系的记录,它里面有4个字段,这是记录型的定义,也就是记录的数据模式;右图是记录的一个实例。

    2、双亲子女关系(Parent-Child relationship,PCR)

    这是层次模型中最基本的数据数据关系。它代表了两个记录型之间的一对多的关系。

    3、层次数据模式(Hierarchical Data Schema)

    层次数据模式包含了多个PCR关系。

    左图是一个层次数据模式的例子,其中每个方框代表一个记录型,每个弧线代表一个PCR型。层次数据模式应该是一个树,所以每个记录型只有一个双亲,但可以有多个子女。

    右图是层次数据模式的一个实例,层次数据模式可以有多个实例,这些实例构成一个森林。

     

    4、虚拟记录(Virtual Record)

    在现实世界中,很多时候并不只是存在一对多的关系,也就是可能存在多对多,多对一,三元关系等等,因此层次数据模型必须推广到模拟非层次的数据上才具有普遍意义。

    为了避免冗余,虚拟记录的概念被引入进来用来解决提到的问题,所谓虚记录,其本质就是一个指针,也就是在本该存记录的地方用一个指针代替。

    二、网状数据模型

    网状数据模型和层次数据模型类似也以记录(record)为数据的存储单位,记录包含若干的数据项(data items),这里的数据项要比字段的功能强,字段只能是简单的数据类型,数据项可以是复杂的数据类型(数组,其他记录等)。在网状数据类型中,每个记录项可以是多个记录的主记录,也可以是多个主记录的属记录。另外,网状数据模型还引入了联系记录(LINK record)来解决自连接,多元等的联系。

    1、系(set)

    网状数据模型中使用系来表示记录型之间一对多的联系,少的一方称为主记录,多的称为属记录。网状数据模型在计算机中是以链表的形式存储的。

    我们看到,不论是层次数据模型还是网状数据模型,在查询的时候都需要自己手动编写程序,比如层次数据模型需要会遍历树,网状数据模型需要会遍历链表。

  • 相关阅读:
    ps photoshop cc 2015 Extract Assets(生成器)切图大法
    获取免费代理推荐
    nodejs http代理请求
    nodejs 发起http请求
    AHK GUI开发示例
    为【桌面右键菜单
    NPM 模块收集
    nodejs Commander 命令行神器简单示例
    如何用nodejs 开发一个命令行交互工具
    利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/8331769.html
Copyright © 2020-2023  润新知