数学模型
前言
三级模式
- 内模式
- 内模式是数据库的物理存储层。它描述了数据在物理存储设备上的实际存储方式,包括数据的存储结构、存取方式、文件组织等
- 它的主要关注点是如何高效存储和检索数据,通常涉及磁盘空间的使用、索引、分区等技术细节
- 概念模式
- 概念模式是数据库的逻辑层,它描述了数据库的整体逻辑结构和所有数据的逻辑关系,独立于具体的数据库管理系统DBMS,,用来表示数据模型的结构,如表结构、数据类型、关系等
- 这一层面向数据库管理员和开发者,是数据库设计的核心部分
- 外部模式
- 外部模式是数据库的视图层,它定义了用户或应用程序对数据库的特定视图
- 外部模式可以保护数据隐私,隐藏不必要的复杂性
两种映射
- 外部模式到概念模式的映射
- 概念模式到内部模式的映射
一、基本概念
数据模型描述数据结构,定义在该数据结果上可以执行的数据操作以及数据之间必须满足的数据约束条件
1.概念模型
概念模型描述客观对象的数据特征和相互关系
关键要素:
- 实体:业务中重要食物或对象。例如:客户、产品、订单
- 属性:实体的具体特征。例如:用户的姓名、地址、电话
- 关系:实体之间的联系。例如客户和订单之间的“下单”关系
常见概念模型:
- E-R模型,EE-R模型
- 面向对象模型
- 谓词模型
2.逻辑模型
逻辑模型侧重于数据模型在数据库系统的一级实现,根据选定的DBMS来定义客观事物及其相互关系的实现结构
关键要素:
- 表:实体通常映射为表格。例如客户实体可以映射为客户表
- 列:表中的字段代表实体的属性。例如客户表中的“姓名”
- 主键:唯一标识表中每行数据的字段或字段组合
- 外键:用于建立表与表之间的关系
常见逻辑模型:
- 层次模型、网状模型
- 关系模型、面向对象模型、谓词模型
- 对象关系模型
3.物理模型
关键要素:
- 表空间:定义数据的存储位置
- 索引:为特定列创建索引以提高查询效率
- 分区:将表划分为多个部分,以便优化性能和管理
- 数据类型:为每个字段指定精确的数据类型(例如整数、字符串、日期等),以便于数据库优化存储空间和执行性能
二、四个世界
使用数据模型将现实世界中用户的复杂要求反映到计算机数据库中的实现的过程有四个世界,分别为现实世界、概念世界、信息世界、计算机世界
- 现实世界:根据用户的需求目标确定数据库的应用功能和应用范围
- 概念世界(概念模型):通过概念模型的数据和方法来实现上一阶段的目标,与具体的DBMS和计算机无关
- 信息世界(逻辑模型):以概念世界为基础,选用特定的DBMS构造而成的逻辑数据模型
- 计算机世界(物理模型):基于逻辑数据模型在计算机中的物理实现而形成的物理数据模型。侧重于数据库的物理存储结果的描述
三、概念世界和概念模型
1.E-R模型(实体-关系模型)
- 实体:业务中重要食物或对象。例如:客户、产品、订单
- 属性:实体的具体特征。例如:用户的姓名、地址、电话
- 关系:实体之间的联系。例如客户和订单之间的“下单”关系。
关系的类型包括:一对一(1:1)、一对多(1:N)、多对多(M:N)
下面给出一个例子:
- 实体集:student(学生)、course(课程)
- 属性:S#(学号)、Sn(学生姓名)、Sa(学生年龄)、G(学生的课程成绩)、C#(课程编号)、Cn(课程名)、P#(教授)
- 联系:SC(修读)
2.EE-R模型
EE-R模型是对E-R模型的扩展
- 继承:特定实体可以是一般实体的子类,具有继承自父类实体的属性,同时可以有自己的特定属性,例如“员工”可以是“经理”。
EE-R图中使用空心三角形来表示继承,连接父类和子类。 - 聚合:将某个关系和实体视为一个更大的实体。例如讲“项目”和“员工”的“参与”关系聚合为一个整体
EE-R图中,聚合通常通过一个大矩形包裹多个实体和关系 - 多值继承和多态:EE-R模型允许实体同时继承多个父类的属性
3.面向对象模型(OO模型)
- 对象:具有状态(属性)、行为(方法)和身份(唯一标识)的实体
- 类:对象的类型,从类实例化出来的对象都共享相同的属性和行为
- 封装:通过公开的接口与外部进行交互
- 继承:允许一个类继承另一个类的属性和方法
- 多态:根据对象的类型,同一个方法可以表现为不同的行为
- 抽象:忽略对象的某些细节,只关注必要的特征和行为
- 消息传递:对象之间通过消息传递进行交互
类框:类的名字(顶部)、属性(中间)、方法(底部)
(每个键属性的后面用PK表明,表示“主键”)
关联:在类之间的二元联系称为关联,关联的对象的数量约束用m…n表明
关联类:关联的属性作为关联类的属性
4.谓词模型
谓词:一种由一个谓词标志符号P和若干个变元x1,x2,…,xn组成的符号P(x1,x2,…,xn)
- 实体集:实体集R有n个属性A1,A2,…,An,那么实体集R中的元组使P(x1,x2,…,xn)为真
- 属性:谓词中的变元xi(i=1,2,…,n)来表示实体中的属性
- 联系:谓词中的变元由参与该联系的实体以及联系本身所具有的属性组成,如SC(学生,课程,选修)
- 操作:OP(x1,x2,…,xn,X),x1,x2,…,xn是操作对象,X是操作结果
四、信息世界和逻辑模型
关系模型
基本数据结构是二维表,数据操纵包括对一张表及多张表间的查询、删除、插入及修改等操作
二维表:由表框架与元组组成,表框架有若干个属性组成
- 关系模式:由一个关系的关系名及其属性名的集合组成
- 关系数据库模式:数据库所有关系的关系模式的集合组成
- 元组:关系中的每一行
- 关键字(键key):关系中的一个属性集的值能唯一标识关系中一个元组
- 主关键字
- 外关键字:设关系R中的属性集F,其取值来自于关系S中的主关键字K,则称属性集F是关系R的外关键字
关系模型的数据操作:
对象 | 操作结果 | 操作 |
---|---|---|
关系 | 关系 | 属性指定、元组选择、关系合并、元组插入、元组删除 |
五、计算机世界和物理模型
物理模型是面向计算机的模型,作为数据库系统的物理实现。主要设计操作系统级文件组织与硬件级数据组织
文件系统的构成:
项 | 文件系统中的最小基本单位 |
---|---|
记录 | 若干项组成,记录内的各项间有内在语义联系 |
文件 | 记录的集合 |
文件集 | 文件的集合 |
提高文件读写操作效率的方法:
- 索引:将文件中的记录预期物理地址间建立一张对应关系表以便于快速查找
- Hash法:通过一个hash函数将要查找的记录转化成该记录所在的物理地址
- 集簇:在记录查找中往往需要按照某项的项值查找,将具有相同或相邻相值的记录聚集在相同磁盘块内或圆柱体内以减少读盘次数,提高查找速度