常用的三种数据模型
常用的三种数据模型
1.什么是数据模型?
数据模型是一种模型,他是对现实世界数据特征的抽象,也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。
现有的数据库都基于某种数据模型,数据模型是数据库系统的核心和基础。
2.两类数据模型
数据模型又分为概念模型、逻辑模型和物理模型。
2.1概念模型
概念模型,也就是信息模型,按照用户的观点来对数据进行建模,主要用于数据库设计。
2.2逻辑模型(重点)
逻辑模型主要分为层次模型、网状模型、关系模型等等。它主要用于数据库管理系统的实现。
2.3物理模型
他负责对底层磁盘的读取和存储的方式。
3.概念模型
3.1信息世界中的概念
1).实体 客观存在并且互相区别的事物为实体。
2).属性 实体的某一特征为属性。
3).码 唯一标识实体的属性为码(主键)。
4).实体型 用多个实体属性来描述的集合为实体型。
5).实体集 同一类型的实体的集合。
6).联系 实体直接的关系为联系。
联系有:一对一、一对多、多对多。
4.数据模型的组成成分
数据模型通常由:数据结构、数据操作、完整性约束构成。
4.1数据结构
描述数据库对象的组成和对象的联系。
4.2数据操作
对数据库的操作比如增加,查找,修改。
4.3约束条件
数据库的完整的一个操作规则。
5.几个基本模型
5.1层次模型
应用层次模型的数据库:IBM的IMS
5.1.1层次模型的定义:
只有一个节点没有双亲节点,这个节点就是根节点。
除了根节点以外的所有的节点都有且只有一个双亲节点。
这个定义就使得层次模型只能处理一对多的实体联系。
5.1.2层次模型的优缺点:
优点:结构简单,查询的效率高。
缺点:不能处理多对多的数据模型。
5.2网状模型
应用网状模型的数据库:IDMS和DMS1100和IMAGE。
5.2.1网状模型的定义:
允许一个以上的节点无双亲。
一个节点可以有多于一个的双亲。
5.2.2网状模型的的优缺点:
优点:解决了层次结构的不能处理多对多的数据处理同时效率高。
缺点:复杂。
5.3关系模型
应用关系模型的数据库oracle MySQL sqlserver等等。
5.3.1关系数据库的数据结构
关系:一个关系对应一张表。
元组:表中的一行就是一个元组。
属性:表中的一列即为一个属性。
码:在关系模型中中码也称为码键。
域:具有相同数据类型的值的集合。属性的值来自某个域。
分量:元组中的一个属性值。
5.3.2注意事项
关系的每一个分量必须是不可分的,也就是说表中不能嵌套表,这和c++中函数定义不能在定义一个函数。
5.3.3关系模式优缺点
优点:概念单一,便于理解
关系模型与格式化模型不同,他是建立在数学概念之上的。
缺点:查询速度不如前面两者。