【系统分析师之路】第十五章 数据库系统上篇思维导图

本文概述了数据库系统的核心概念,包括ER模型、关系代数、规范化理论和并发控制。深入探讨了数据库完整性约束、分布式与NoSQL数据库,并强调了数据库安全与备份的重要性。内容涵盖数据库设计的各个阶段,是系统分析师理解数据库系统的基础。

【系统分析师之路】第十五章 数据库系统上篇思维导图

数据库系统整体索引

在这里插入图片描述
在数据库章节当中,数据库的基本概念,ER模型,关系代数,ArmStrong公理(有自反率,增广率和传递率三种),规范化理论(范式,键,有损无损,函数依赖),反规范化理论(五种实现技术),数据库完整性约束(实体完整,参照完整性,用户定义完整性),数据库并发控制(一级二级三级封锁协议,三个问题两个锁类型),联邦数据库,分布式数据库,数据库架构(主从,集中,分布式),数据库安全(五种方法)与数据库备份(两个维度)。

一. 数据库模式

在这里插入图片描述
数据库分为了外模式,概念模式和内模式三种。外模式对应的视图,概念模式对应关系表,而内模式对应的是索引与文件。有了三层模式当然也有两层映射。分别是外模式到模式的映射(逻辑独立性),还有模式到内模式之间的映射(物理独立性)。数据库就是一个分层架构的一个最好的应用。数据库设计阶段可以分为四个阶段:需求阶段,概念结构设计阶段,逻辑结构设计阶段和物理结构设计阶段。
需求分析阶段主要做的内容就是确定系统的边界,新系统的功能,收集基础数据等;
概念结构设计阶段主要做的是设定局部视图,合并ER图取消冲突,修改重构消除冲突;
逻辑结构设计主要工作内容有转换为数据模型,关系规范化与模式优化,设计用户模式。
最后是数据库的物理结构设计。

二. ER模型

在这里插入图片描述
ER图当中一共有三个元素组成。分别是实体,联系和属性。实体我们用矩形框表示,联系用菱形表示,属性使用圆圈来表示。在软件工程当中,需求分析阶段使用ER图来对数据进行建模,在数据库设计中ER图一般是用在概念结构设计阶段。
ER图的集成方法有两种,一种是逐步集成,另一种是一次集成。
在ER图当中,一共存在四种冲突。分别是属性冲突,命名冲突,解雇冲突和联系冲突四种。
属性冲突男女用0/1来表示还是用M/F来表示,重量呢是以斤还是公斤为单位。
命名冲突有同名异意和异名同意两种;
结构冲突:不同应用不同抽象,比如职工在不同的局部ER图中,一个是作为实体另一个作为属性。解决方法就是实体变属性或者属性变实体。

三. 关系代数

在这里插入图片描述
并:关系表合并掉去掉重复列;
交:两个关系表的公共部分;
差:把S1当中的S1和S2的公共部分去掉
投影是选列的操作,选择是选行的操作;
还有一个笛卡尔积。
连接有等值连接(在Where子句中使用等号)另一个是非等值连接(在Where子句中不使用等号)。而自然连接是特殊的等值连接。它需要去掉重复列。
等值连接和自然连接的区别就是自然需要去掉重复列,自然连接相同属性名属性值必须相同。

四. 规范化理论

在这里插入图片描述
概念定义:从已知函数依赖推导出另一些函数依赖。
它包括了自反律,增广率和传递率。
传递率:X到Y,Y到Z如果成立,那么X到Z也就成立。这就是传递率。
增广率:X到Y在R上成立,那么XZ到YZ在R上也成立。
自反率:属性集Y包含于属性值X,X-Y在R中是成立的。
在这里插入图片描述
规范化当中的概念有第一至第三范式,BC范式。
键的概念包括了超键,候选键,主键,和外键四种。
第一范式是原子的不可再分的内容;
第二范式是消除了非主属性对主属性的部分函数依赖;
第三范式是消除了非主属性对候选键传递函数依赖;
超键能够唯一标识元组,但是有冗余;
候选键消除了超键的冗余;
主键是在多个候选键中女任选其一而产生;
外键是其他关系表的主键。
有损连接与无损连接:范式分解之后是否可通过自然连接恢复过来;能够通过自然连接恢复的就是无损的。
什么是函数依赖?
函数依赖就是指定X就有唯一的Y与之对应;
完全函数依赖就是X属性集合决定唯一的Y,X中任何子集不能决定Y;
部分函数依赖:学号与姓名都可以唯一确定学生,而光是学号就可以唯一确定学生。
传递函数依赖:出版社号决定出版社名,出版社名确定出版社地址。
求候选键:关系模式中函数依赖用有向图表示。找出入度为0的属性尝试遍历有向图,遍历成功则有候选键,遍历失败的时候,并入中间节点。
派生属性:出生年月与年龄属性就是派生的关系;单价和数量属性决定总价属性。
多值属性:一张表中有多个家庭成员。

五. 反规范化

在这里插入图片描述
反规范化有好处也有坏处,它强调的是以空间来换时间的概念,通过减少关系表的数目来提高查询效率,降低了连接操作的需求,也降低了使用外码和索引的树目。
反规划有这么多优点,那么它的缺点有哪些呢?
连接少了速度是快了,但是呢产生一个问题,重复存储产生的空间上的浪费,增加了数据库维护的复杂性,降低了修改的速度。
反规范化的五个实现手段是什么?
增加冗余列,增加派生性冗余列,重新组表,水平分割表和垂直分割表。
重新组表是将两个表连接成一个表的操作;
增加冗余列:多个表具有相同的列,那么在查找时就可以避免连接操作,提高了性能;
增加派生性冗余列:这些列可以通过计算既有的列做成派生冗余列,通过减少计算过程来提高查询性能。
分割表呢可以分为水平分割表和垂直分割表两种。把数据放到多个独立的表中,分割条件可以是某列的值。
而垂直分割表呢是将主键➕部分列放入表A,将主键与另一部分列放入表B,这样在查询的时候就可以减少IO次数。
不进行规范化的数据库表会有哪些问题呢?
数据冗余,插入异常,删除异常,更新异常。
数据冗余就比如仓库的地址被多次计入;
插入异常就是新建仓库但是没有商品;
删除异常:比如商品删完后仓库也没有了(被删了)
更新异常:往往仓库地址要更新的话,所对应的所有商品的列都需要更新;
插入异常:新建仓库的时候没有商品;

六. 数据库完整性约束

在这里插入图片描述
实体完整性:主键不能为空,约束主键。
参照完整性:约定两个关系表之间的关系。约束外键用来。
用户定义完整性是用来限定取值范围,比如年龄大于0小于150岁,这就是用户定义完整性。
解决数据库完整性的方法有:触发器,批处理维护和应用逻辑实现。
触发器就是脚本编程的一种,解决以上完整性约束所解决不了的问题。可以增加数据库中数据的完整性;
批处理维护:用在对实时性不是要求特别高的场合使用,一般是运行批处理作业或者是存储过程。
应用逻辑实现:要求变化的时候不易维护,而且要求在同一个事务内完成的情况下使用。

七. 并发控制

在这里插入图片描述
在数据库并发控制这个知识块当中,数据库事务的概念,事务的四个特征,三级封锁协议,并发控制带来的三个问题(不可重复读,读脏数据,丢失更新),还有防止死锁的机制(X锁,S锁)。总体来说关系数据库的并发控制是比较重要的章节内容。
事务的概念是什么?
事务是一系列的数据库操作的整体,封装了多个数据库操作。事务具备了四个特征分别是原子性,一致性,隔离性,持续性四种。原子性是说操作要么全做要么全都不做;持续性是指事务执行后影响持续;隔离性是指事务之间相互不影响;一致性是说执行事务前后都要保持一致。
并发控制处理的三个问题:
丢失更新:T1读取A更新前T2读入,那么T1更新之后T2读到的数据就丢失了更新。
读脏数据:T1读取A并写回,T2在T1写rollback前读取数据,这个时候读到的就是脏数据了。
不可重复读:T1读取A和B进行累加,T2在此期间更新A并写回;最后再一次验算A和B类加值的时候,就出错了。
一段封锁协议可以防止丢失更新,因为在其修改之前加了X锁;
二级封锁协议呢可以防止读到脏数据,读之前加上S锁读取结束以后释放S锁。
三级封锁协议呢可以防止重复读的发生,读之前加上S锁,而不同的是它在事务结束的时候再释放锁的
最后说说什么是防止死锁的机制?
作用就是解决并发控制带来的问题。读锁S锁:加S锁后就不可以加X锁;
写锁X锁:加X锁以后就不可以再加任何锁了;

八. 联邦数据库与分布式数据库

主从式:DBMS在服务器上,应用程序么放在客户机上;
集中式:DBMS和应用程序一起放在客户机上;
分布式:物理分布逻辑统一,分布透明性分为了分片透明性,位置透明性,局部数据模型透明性三种。
在这里插入图片描述
概念定义:分布在不同的服务器上,不同程度集成成员数据库;数据库集合是彼此独立相互合作。
联邦数据库的特点有分布,异构,自治,透明。
联邦数据库分两个大类:松耦合与紧耦合两种。联邦数据库还有一个特点就是有公共的标准接口。
联邦数据库的四个特点:用户统一访问,通过中间件集成,屏蔽各数据库复杂性,集成数据格式。
在这里插入图片描述
逻辑统一但是物理分布是分布式数据库最大的特点。这个特点刚刚好是和联邦数据库是相反的。联邦数据库是把各个物理上分布的数据库通过中间件统一用户接口,以方便访问之。
分布式数据库的特征有数据独立,位置透明,易于扩展。这些特点有些像总线集成的内容。局部应用的场合,因为位置不同可以提高响应的速度;拥有自治性和可用性,全局数据的一致性以及可恢复性。
分布式数据库的优点有:灵活的体系结构,可靠性高可用性好,易于扩展易于集成,经济性好等等。
分布式数据库的缺点有哪些:系统开销大,故障率高,存储结构复杂,对数据库安全性和保密性要求较高。
保证数据分布一致:数据副本的一致性,故障恢复的一致性,以及分布式事务ACID属性。
在这里插入图片描述

九. NoSQL数据库

在这里插入图片描述

十. 数据库优化

在这里插入图片描述

十一. 数据库安全与备份

数据库安全
在数据库中为了保证安全一般有五种方法。
1.用户标识与鉴别:通过用户账户口令来实现
2.存储控制:就是访问控制,Grant指令实现访问权限的授权
3.密码存储与传输:加密数据,防止数据传输中被截取;
4.视图的保护:保证视图之外的数据安全性;
5.审计:使用专用的文件记录数据库操作;

数据库备份
数据库备份可以分为热备份,冷备份;还有一个维度就是增量备份,差量备份和全备份三种。
热备份和冷备份的优缺点往往是相反的。
热备份最大的缺点就是不能出错,所以维护起来难度就大,优点就是可以一边使用数据库一边对其进行维护,可以实现秒级恢复,可在表空间或者数据文件集备份。
冷备份则刚刚相反,冷备份是在断开的情况下实施的,所以备份时无法使用数据库,不能细化到按表或用户来备份。当然热备和冷备份是可以同时使用的,以达到最好的备份效果。
除此之外,数据库备份还有全备差备增备三种。全备份就是在某个时间点上对数据库全体进行备份,增量备份是对上一次备份的备份,而差量备份是对上一次全备的备份。
为了更好的实现备份,我们要给数据库建立日志,可进行故障恢复,利用恢复事务过程。而数据转储又可以分为海量转储和增量转储两种,静态转储和动态转储。

数据库故障
数据库故障一共有四种。分别是介质故障,事务故障(可预期,不可预期),系统故障三种。
可预期的事务故障包括了设置RollBack语句,本身逻辑造成的问题往往通过回滚来解决问题;不可预期的事务故障发生时,可以重做日志,撤销事务来控制。
介质故障是通过日志重做来恢复;
系统故障一般是系统停止运转,设置检查点来解决。

在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值