1.数据模型的概念
- 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息
- 说人话讲数据模型就是现实世界的模拟
数据模型应满足三方面要求
- 能比较真实的模拟现实世界
- 容易为人理解
- 便于在计算机上实现
2.两大数据模型
数据模型分为两类
- 概念模型也称为信息模型,他是按用户的观点来对数据和信息建模,用于数据库设计。
- 逻辑模型和物理模型
逻辑模型 | 网状模型、层次模型、关系模型、面向对象模型,按计算机的观点对数据建模,用于DBMS实现 |
---|---|
物理模型 | 对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存取方式和存取方法 |
客官对象的抽象过程分为两步—把现实世界中的客观对象抽象为概念模型,把概念模型转化为某一DBMS支持的数据模型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fXZ4mskR-1637565703233)(%3Cfont%20color=#900%3E%E7%94%A8%E4%BA%8E%E5%A4%8D%E5%88%B6%3C/font%3E#pic_center)]
标题3. 数据模型的组成要素
(1)数据结构
数据结构是所研究的对象类型的集合。这些对象是数据库的组成部分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述,包括两个方面
- 数据本身:类型、内容、性质。例如关系莫i行中的域、属性、关系等
- 数据之间的联系:数据之间是如何相互关联的,例如关系模型中的主码、外码联系等
(2)数据操作
对数据库中各种对象的实例运行执行的操作以及有关的操作规则,增删查改
(3)数据的完整性约束条件
数据的完整性约束条件是一组完整性规则的集合,规定数据库状态及装填变化所应满足的要求,以保证数据的正确性、有效性和相容性
4.概念模型
(1)用途与基本要求
- 概念模型用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 是数据库设计的有力工具
- 数据库设计人员与用户之间进行交流的语言
要求:
- 有较强的语义表达能力
- 能够方便、直接的表达应用中的各种语义知识
- 简单、清晰、易于用户理解
(2)信息世界中的概念模型
名称 | 描述 |
---|---|
实体(Entity) | 客观存在并可相互区别的事物称为实体,可以是具体的人、事、物、或抽象的概念 |
属性(Attribute) | 实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画 |
🐎(Key) | 唯一标识实体的属性集称为码 |
域(Domain) | 属性的取值范围称为该属性的域 |
实体型(Entity Type) | 用实体名及其属性名集合来抽象和刻画同类实体称为实体型 |
实体集(Entity Set) | 同一类型实体的集合称为实体集 |
联系(Relationship) | 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成各属性之间的联系,实体之间的联系是指不同实体集之间的联系 |
(3)两个实体型之间的联系
5.非关系模型
(1)层次模型
- 是数据库系统最早出现的数据模型
- 典型代表是IBM的IMS数据库管理系统
- 层次模型用树形结构来表示各类实体以及实体间的联系
(2)网状模型
6.关系模型
(1)数据结构
在用户观点下关系模型中数据的逻辑结构是一张二维表,它由行与列组成
名词 | 解释 |
---|---|
关系(Relation) | 一个关系对应通常说的一张表 |
元组(Tuple) | 表中的一行即为一个元组 |
属性(Attribute) | 表中的一列即为一个属性,给每一个属性起一个名称即为属性名 |
主🐎(Key) | 表中的某个属性组,它可以唯一确定一个元组 |
域(Domain) | 属性的取值范围 |
分量 | 元组中的一个属性值 |
关系模式 | 对关系的描述 |
关系名(学号、姓名、年龄、系、年级)
- 例子
学生、系、系与学生之间的一对多联系:
学生(学号、姓名、年龄、性别、系号,年级)
系(系号,系名,办公地点)
(2)关系数据模型的操作与完整性约束
-
数据操作是集合操作,操作对象和操作结构都是关系
查询、插入、删除、更新 -
数据操作是集合操作,操作对象和操作结构都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出干什么,不必指出怎么干
-
关系的完整性约束条件
实体完整性
参照完整性
用户定义的完整性
(3)存储结构
- 实体及实体间的联系都用表来表示
- 表以文件形式存储
- 有的DBMS一个表对应一个操作系统文件
- 有的DBMS自己设计文件结构
(4)优缺点
优点 | 缺点 |
---|---|
建立在严格的数学概念的基础上 | 存取路径对用户透明导致查询效率往往不如非关系数据模型 |
概念单一,实体和各类联系都用关系来表示,对数据的检索结构也是关系 | 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度 |
关系模型的存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作 |