数据库笔记
数据库笔记
第1章 绪论
1.1 数据库系统概论
1.2 数据模型
数据模型是对现实世界数据特征的抽象
数据模型是数据库系统的核心和基础
两类数据模型
概念模型(信息模型):按用户的观点来对数据和信息建模,用于数据库设计
逻辑模型(网状模型、层次模型、关系模型、面向对象数据模型….):按计算机系统的观点对数据建模、数据库管理系统的实现
物理模型: 描述数据在系统内(磁盘上)的表示方法和存取方法
现实世界 –> 概念模型:数据库设计人员完成
概念模型 –> 逻辑模型:数据库设计人员完成、数据库设计工具协助完成
概念模型
实体-联系(Entity-Relationship):用E-R图来描述现实世界的概念模型
实体:具体的人、事或抽象的概念(例如学生
属性:就是属性
码:唯一标识
实体型:实体名+属性名来抽象刻画同类实体
实体集:同一类型实体的集合
联系:就是联系
实体内部的联系:各属性之间的关系
实体之间的联系:不同实体集之间的联系(1 : 1、1 : M、M : N)
数据模型:是严格定义的一组概念的集合
数据结构:组成对象和对象之间的联系
数据操作:对数据库允许执行的操作的集合。就是对操作的规则
数据的完整性约束:要让数据库符合这种规则不让数据库乱七八糟(主键必须存在,如果有引用的外键,要怎么怎么样做之类
关系数据模型是目前最重要的一种数据模型,它的三个要素分别是( )
A. 实体完整性、参照完整性、用户自定义完整性
B. 数据结构、关系操作、完整性约束
C. 数据增加、数据修改、数据查询
D. 外模式、模式、内模式
这题和哪种数据模型没关系,数据模型通常都由那三种组成的。
常用的数据模型
格式化模型中的数据结构的单位:基本层次联系
层次模型
表示方法:实体型、属性、联系
定义:1、只有一个节点没有双亲节点,这个节点叫根节点
2、根以外的其他节点只有一个双亲节点
特点:1、节点双亲唯一
2、只能直接处理一对多
3、不能脱离双亲独立存在
4、任何记录只能一层一层找下去
优点:1、数据结构清晰
2、查询效率高,性能优于关系模型
3、良好的完整性支持
缺点:1、多对多联系不太好
2、插入和删除限制多
3、查询子女节点必须经过双亲节点
网状模型
表示方法同层次模型
定义:1、允许一个以上的节点无双亲
2、一个节点可以有多个双亲
3、两个节点有多种联系
多对多在网状模型中的表示:多对多分解成一对多
完整性约束条件不严格:
1、允许插入未确定双亲结点值的子女节点值
2、允许只删除双亲节点值
实际的网状数据库系统:
1、支持码
2、保证一个联系中双亲记录和子女记录之间是一对多联系
3、可以定义双亲记录和子女记录之间某些约束条件
例:要求双亲记录存在才能插入子女记录,双亲记录删除时也同时删除。
学生选课记录值中学号必须是学生记录中存在的某一学生学号,
课程号必须是课程记录中存在的某一门课程号。
优点:1、更加直接的描述现实世界,一个节点多个双亲
2、性能高
缺点:1、结构复杂
2、DDL、DML 语言太难
关系模型
关系(Relation):一张表
元组(Tuple):一行即为一个元组
属性(Attribute):一列即为一个属性
主码(Key):唯一确定一个元组
域(Domain):一组具有相同数据类型的值的集合,属性的取值范围来自域**
分量:元组中的一个属性值
关系模式:对关系的描述
学生(学号,姓名,年级,年龄)
关系必须是规范化的,关系的每一个分量必须是一个不可再分的数据项(这个好理解周老师讲过了,列中有列)
数据操作都是集合操作:操作对象和操作结果都是关系
优点:1、建立在严格的数学概念的基础上
2、概念单一:实体和各类联系都用关系来表示,对数据的检索结果也是关系
3、关系模型的存储路径对用户透明
缺点:由于存储路径透明,查询效率不如格式化数据模型。为了提高效率必须对用户的查询请求进行优化(例如缩小查询范围,多表关联的时候先筛一部分)
1.3 数据库系统的结构
开发人员角度:三级模式结构。数据库系统内部的系统结构
用户角度:单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器 / 数据库服务器
模式的概念
模式:对数据库逻辑结构和特征的描述(学生表)
实例:模式的具体值(升本成功的所有学生的记录、没有升本成功的所有学生的记录)
模式是固定的、示例是变化的
三级模式
多个 外模式(子模式、用户模式):数据库用户使用的局部数据的逻辑结构和特征的描述
与模式的关系:通常是模式的子集、一个模式有多个外模式
与应用的关系:一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式
用途:简化用户视图。保证数据库安全性
一个 模式(逻辑模式):数据库中全体数据的逻辑结构和特征的描述
定义:1、用 DDL 定义数据的逻辑结构
2、定义数据之间的联系
3、定义数据有关的安全性、完整性要求
一个 内模式(存储模式):物理结构和存储方式的描述
二级映像
外模式 -> 模式
定义外模式和模式之间的对应关系
映像定义 通常包含在各外模式的描述中
每一个外模式都有一个 外模式 -> 模式 映像
保证数据的逻辑独立性:当模式改变时,DBA 对 外模式 / 模式 映像做相应改变,使外模式保持不变。应用程序是依据数据的外模式编写的,应用程序不用改,保证了数据与程序的逻辑独立性,简称RT
模式 -> 内模式
定义数据全局逻辑结构与存储结构之间的对应关系
这个映像是唯一的,保证数据的物理独立性
优势:保证了应用程序的稳定性
以程序为中心 -> 以数据为中心
数据的存取由数据库管理系统管理
1.4 数据库系统的组成
1、硬件平台及数据库:大内存、大磁盘、大通道
2、软件:数据库管理系统、操作系统、与数据库接口的高级语言及其编译系统、应用开发工具、数据库应用系统
3、人员:用户、应用程序员、系统分析员和数据库设计人员、数据库管理员
1、数据库管理员:略
2、系统分析员:负责应用系统的需求分析和规范说明
与用户及数据库管理员结合,确定系统的硬软件配置
参与数据库系统的概要设计
数据库设计人员:参加用户需求调查和系统分析确定数据库中的数据
设计数据库各级模式
3、应用程序员:设计和编写应用系统的程序模块进行调试和安装
4、用户:通过应用系统的用户接口使用数据库
1.5 小结
重点:概念模型的基本概念、数据模型的3个组成要素、三模两映、数据库系统的逻辑独立性和物理独立性
第10章 数据库恢复技术
事务的四大特性:ACID
Atom 原子性
Consistent 一致性
Isolate 隔离性
Duration 持久性
第11章 并发控制
并发带来的问题
丢失修改
读脏数据
不可重复读
解决办法
排他锁:写锁 X锁
共享锁:读锁 S锁
封锁协议
一级封锁协议:修改时,必须加X锁,直到结束。
二级封锁协议:读的时候,加S锁,用完就放。
三级封锁协议:读的时候,加S锁,直到结束。