数据模型类型有哪些?
一、什么是数据模型
数据模型是现实世界数据特征的抽象,用于描述一组数据的概念和定义。数据模型是数据库中数据的存储方式,是数据库系统的基础。在数据库中,数据的物理结构又称数据的存储结构,就是数据元素在计算机存储器中的表示及其配置;数据的逻辑结构则是指数据元素之间的逻辑关系,它是数据在用户或程序员面前的表现形式,数据的存储结构不一定与逻辑结构一致。
二、数据模型类型有哪些
1、层次模型
层次模型的数据结构就是一棵树形结构,目前还在使用的层次模型的一个实际案例就是windows使用的注册表(Registry)。在层次模型中,每个节点表示一个记录类型,记录类型之间的联系用节点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库只能处理一对多的实体联系。
2、网状模型
网状模型就是一个网络图的结构。网状数据库系统采用网状模型作为数据的组织方式,可以描述多对多的父子联系。网状模型图例中,E代表实体,R代表实体之间的关系。E1,E2没有双亲节点,E3,E5都由两个父节点。例如在现实中很多多对多关系,学生选择课程,老师授课等。
3、关系模型
关系模型是建立在集合代数基础上的。关系模型是一组关系组成的。每个关系的数据结构都是一张规范化的二维表,如胶片中的学生信息表为例。一个关系通常对应一张表。
元组:表中的一行为一个元组
属性:表中的一列为一个属性
码:也称为键
域:一组相同数据类型的值的集合
关系模式: 关系名(属性1,属性2,属性3,…..,属性n)
比如例子中的关系就是 学生(学号,姓名,年龄,性别)
三、数据模型在应用层次的差异
数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。
1、概念模型(Conceptual Data Model),是一种面向用户、面向客观世界的模型,主要用来描述世界的概念化结构,它是数据库的设计人员在设计的初始阶段。
2、逻辑模型(Logical Data Model),是一种面向数据库系统的模型,是具体的DBMS所支持的数据模型。
3、物理模型(Physical Data Model),是一种面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。

猜你喜欢LIKE
相关推荐HOT
更多>>
在 iPad 上运行 Windows 是什么体验?
一、在 iPad 上运行 Windows 是什么体验目前市面上有一些能够在 iPad 上运行 Windows 的应用程序,例如 Parallels Access、Splash较好、VMware ...详情>>
2023-10-14 19:14:27
vector, list, map等容器使用场合是什么?
一、vector, list, map等容器使用场合vector适用于对象简单,变化较小,并且频繁随机访问的场景。list适用经常进行插入和删除并且不经常随机访...详情>>
2023-10-14 14:59:11
分库分表的数据库和分布式数据库有什么区别?
一、分库分表的数据库和分布式数据库有什么区别分库分表的数据库:没有这种数据库,所谓分库分表,这是开发应用的程序员通过自己的代码、或者底...详情>>
2023-10-14 13:59:18
APP定制开发的难点有哪些?
一、APP定制开发的难点1、多平台适配不同的移动平台(如iOS和Android)具有不同的操作系统、开发语言和开发工具。在进行APP定制开发时,需要适...详情>>
2023-10-14 12:57:35热门推荐
什么是聊天机器人?
沸什么是ai算法?
热app的启动流程都包括哪些步骤?
热MySQL数据库全局隔离级别和默认隔离级别有什么区别?
新在 iPad 上运行 Windows 是什么体验?
Python代码中的yield到底是什么?
wait()、sleep()、join()和yield()区别是什么?
手机app开发需要哪些技术?
一个事务提交时,redo log和undo log以及bin log的生成流程是怎么样的?
Go语言new和make的使用区别和优异实践?
软件开发需要注意哪些问题?
为什么要读JVM规范?
一次简单的redis网络请求会有哪些CPU开销?
WHERE中有很多IN判断怎么提速?
技术干货






