最简单的数据库入门教程—02—数据模型
数据模型
目录
概述
形成原因
- 可以用来抽象、表示、处理数据和信息
- 是对现实世界的模拟
形成要求
- 比较真实地模拟世界
- 容易理解
- 便于使用计算机实现
形成步骤
- 将现实世界的客观对象抽象为概念模型
- 把概念模型转化为某一DBMS支持的数据模型
概念模型
定义
也称信息模型,它是按用户规定来对数据和信息建模,用于数据库设计
用途
- 该你那模型用于信息世界的建模
- 是现实世界到及其世界的一个中间层次
- 是数据库设计的有利工具
- 数据库设计人员和用户之间进行交流的语言
创建要求
- 较强的语义表达能力
- 能够方便、直接地表达应用中的各种语义知识
- 简单、清晰、易于用户理解
基本概念
实体
- 客观存在并可以相互区别的事物
- 可以是具体的人、事、物或抽象的概念
属性
- 实体所具有的某一特性
- 一个实体可以由若干属性来刻画
码
- 唯一表示实体的属性集
域
- 属性的取值范围称为该属性的域
实体型
- 用实体名及其属性名集合来抽象和刻画同类实体
实体集
- 同一类型实体的集合
联系
- 现实世界中事物内部以及事物间的联系在信息世界中反映为实体内部的联系和实体之间的联系
- 实体内部的联系:通常是组成实体的各属性之间的联系
- 实体之间的联系:通常是指不同实体集之间的联系
E-R图
简介
- 真名:实体 - 联系图
- 用处:描述现实世界的概念模型
- 形成方法的别称:E-R方法、E-R模型
构成
实体型
graph LR a[实体名]属性
用无向边与其对应的实体连接起来
graph TB a[实体名] a --- b((属性1)) a --- c((属性2)) a --- d((属性3))联系
联系本身也是一个实体型,也可以有属性。无向边连接有关实体,同时在无向边上标明联系类型(1:1、1:n、m:n)
graph LR a[课程] --- |m| b{选修} c[学生] --- |n| b b --- d((成绩))
联系分类
两个实体型之间
一对一联系(1:1)
graph LR a[班级] --- |1| b{班级-班长} c[班长] --- |1| b一对多联系(1:n)
graph LR a[班级] --- |1| b{班级-学生} c[学生] --- |n| b多对多联系(m:n)
graph LR a[学生] --- |m| b{选修} c[课程] --- |n| b多实体间的联系
(1:n)
graph LR a[课程] --- |1| b{讲授} b --- |m| c[教师] b --- |n| d[参考书](m:n)
graph LR a[供应商] --- |p| b{供应} b --- |m| c[项目] b --- |n| d[零件]单实体型内的关系
(1:n)
graph LR a[职员] --- |1| b{领导} b --- |n| a(m:n)
graph LR a[学生] --- |m| b{同班同学} b --- |n| a
逻辑模型(数据模型)
概述
按计算机系统的观点对数据建模,用于DBMS实现
组成要素
数据结构
- 定义:描述数据库的组成对象, 以及对象之间的联系的结构,是对系统静态特性的描述
- 内容:
- 与数据类型、 内容、 性质有关的对象
- 与数据之间联系有关的对象
数据操作
- 定义:对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,是对系统动态特性的描述。
- 类型:查询、更新(包括插入、 删除、 修改)
- 形成方式:需要有操作的确切含义、操作符号、操作规则(如优先级)、实现操作的语言
完整性约束条件
- 定义:
- 一组完整性规则的集合
- 给定的数据模型中, 数据及其联系所具有的制约和储存规则
- 作用:
- 用以限定符合数据模型的数据库状态以及状态的变化, 以保证数据的正确、 有效、 相容
- 在数据模型中的完整性约束条件:
- 反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。 例如在关系模型中, 任何关系必须满足实体完整性和参照完整性两个条件。
- 提供定义完整性约束条件的机制, 以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
分类
- 层次模型
- 有且只有一个没有双亲的结点,称为根结点
- 根以外的其它结点有且只有一个双亲结点
- 网状模型
- 允许一个以上的结点无双亲
- 一个结点可以有多于一个的双亲
- 关系模型
- 面向对象模型
- 对象关系模型
- 半结构化数据模型
物理模型
概述
对数据最底层的抽象,描述数据在系统内部的表示方式和存取方式,在磁盘或磁带上的存储方式和存取方法
A geek and poetry lover.