数据模型是对现实世界数据特征的抽象
(现实世界的模拟)
数据模型应满足的三方面要求:
能比较真实的模拟现实世界;
容易为人理解;
便于在计算机上实现
数据模型是数据库系统的核心和基础
1.2数据模型的组成要素
数据结构:描述数据库的组成对象及对象之间的联系
两类对象(实体 联系)
数据结构是对系统静态特性的描述。
数据操作:
是指对数据库中各种对象的实例允许执行的操作集合,包括操作及其有关操作规则
数据操作的类型(查询 更新)
数据模型对操作的定义(符号 规则 含义 语言)
数据操作是对系统动态特性的描述
数据的约束条件:
一组完整性规则的集合,完整性规则是给定数据模型中数据及其所具有的制约和存储规则(比如 规定学生的年龄 职工的年龄)
数据模型对约束条件的定义(比如某人的工资范围…)
概念模型,也称信息模型;
按照用户的观念来对数据库信息建模,用于数据库设计。
1.3概念模型
概念模型的用途
对概念模型的基本要求
较强的语义表达能力,能够方便,直接的表打应用中的各种语义(比如两个对象之间的约束 某球队人数不超过5人…
简单 清晰 易于用户理解 易于向数据模型转化
常用的数据模型——逻辑模型和物理模型(按照计算机系统的观点对数据建模,用于DBMS实现 ) 物理模型是对数据最底层的抽象,在磁盘上的存储方式和存取方法,是面向计算机的
1.层次模型
(满足下面两个条件的基本层次联系的集合位层次模型
(1)有且只有一个结点没有双亲结点,根节点
(2)根以外的其它结点有且只有一个双亲结点
2.网状模型
3.关系模型(用的比较多 数据结构:表)
4.面向对象模型(数据结构:对象)
5.对象关系模型
关系模型
关系模型时目前最重要的一种数据模型
一 关系数据模型的数据结构
关系:一个关系对应通常来说的一张表,如学生信息表
元组:表中的一行即为一个元组
属性:表中的一列即为一个属性,给每一个属性起的名称就叫属性名
码(key):码键,表中的某个属性组,它可以唯一确定一个元组(例如身份证号码这类不重复的)
域(Domain):属性的取值范围,例如年龄1-120岁。
分量:元组中的一个属性值,比如 王小明
关系模式:对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)
例如上表的 学生(学号,姓名,年龄,性别,系名,年级)
在关系模型中,实体与实体之间都的联系都是以关系来表示的。
例如学生与课程之间的多对多联系在关系模型中表示如下:
学生(学号 姓名 年龄 性别 系部年级)
课程(课程号 课程名 学分)
选修(学号 课程号 成绩)
学生和课程之间的联系通过选修来联系
一对一联系
如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与B具有一对一联系。
如 班级和班长(一个班只有一个正班长)
一对多联系
如果对于实体集A中的每一个实体,实体集B中有N个实体(n>=0)与之联系,反之,对于实体集B中的每个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系
如 班级与学生之间的联系;
一个班级中有若干名学生
每个学生只在一个班级中学习。
多对多联系(m:n)
如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系,反之 对于实体集B中的每一个实体,实体集A中也有m个实体(m>=0)与之联系,则称实体集A与实体B具有多对多联系
比如 课程与学生之间的联系
一门课同时有若干个学生选修
一个学生可以选修多门课
多个实体型间的一对多联系
1.5
如图就是三个实体类之间的联系
仓库类通过工作联系和职工类是一对多关系(一个仓库里有多个职工工作)
1.6
逻辑模型