Recopec
文章13
标签16
分类4
数据库笔记

数据库笔记

数据库笔记

第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锁,直到结束。

本文作者:Recopec
本文链接:https://blog.irec.moe/2022/04/16/%E5%AD%A6%E4%B9%A0/%E8%AE%B0%E5%BD%95/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AC%94%E8%AE%B0/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×