【系统分析师之路】系统分析师必知必会(数据库中篇)

本文深入探讨了系统分析师在数据库领域的核心知识,包括关系代数的各种运算,如笛卡尔积、自然连接和投影等,以及数据库的三级模式和两级映射。此外,还详细阐述了数据库设计的各个阶段,如需求分析、概念结构设计、逻辑结构设计和物理设计,强调了数据备份的重要性和不同类型,以及数据库安全技术和优化策略。

【系统分析师之路】系统分析师必知必会(数据库中篇)

九. 关系代数

1. 笛卡尔积

R(A,B,C,D)✖️S(C,D,E)得到的是7元关系,即逐个用R中的每一条数据,与S中的每一条数据直接拼接起来。如果R中有r条记录,S中有s条记录,那么R✖️S中就有r*s条数据。

2. 自然连接

它是一种特殊的等值连接,它要求在两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉重复的属性列。
在连接的基础上,S1和S2都有的字段做等值操作。

3. 等值连接

它是关系运算-连接运算的一种常用的连接方式。
在SQL角度来看,等值连接是在where子句中使用等号进行连接运算。

4. 非等值连接

在SQL角度来看,非等值连接是在where子句中使用等号以外的运算符进行连接运算。

5. 自连接

自己和自己做笛卡尔积

6. 投影

投影是对R关系的列的映射;它是一种选列的操作

7. 选择

是对行的映射,选择满足关系条件的行。它选择的是记录,选择的是行。

8. 等值连接和自然连接的区别

等值连接不要求相等的属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两个关系只有在同名属性才能进行自然连接。
等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。

9. 关系代数基础

并:两个关系表合并掉,并且去掉重复列。
交:两个关系表的公共部分
差:把S1当中的S1和S2的公共部分给去掉。
连接:S1和S2都有的字段只保留一个。

十. 三级模式两级映射

三级模式:外模式,模式,内模式
二级映射:外模式与模式的映射,模式与内模式的映射。

1)外模式

外模式也叫做用户模式,是数据库用户能看见和使用的局部数据的逻辑结构,与某一应用有关的数据逻辑表示,外模式通常是模式的子集,一个数据库有多个外模式,外模式是概念结构设计阶段的产物,它的输出就是ER图。

2)模式

也称为逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,模式实际上是数据库数据在逻辑集上的视图。
一个数据库只有一个模式,逻辑结构设计阶段的产物是表结构。

3)内模式

也叫做存储模式,一个数据库只有一个内模式,它是对数据的物理结构和存储方式的描述,它是数据在数据库内部的表示方式,它是物理设计阶段产物。
索引的写入修改了数据库的物理结构,而不是简单的逻辑设计。内模式规定了数据在存储介质上的物理组织方式、记录寻址方式。
如果对数据库中的表创建聚簇索引,那么改变的是数据库的内模式。

4)物理独立性

当内模式发生改变时,数据的逻辑结构保持不变,只需要修改模式与内模式之间的映射。

5)逻辑独立性

数据的逻辑结构发生变化,应用程序不用修改,只需要修改外模式与模式之间的映射。

十一. 数据库设计

1)需求分析

得到数据要求和处理要求。使用数据流图描述业务流程。
对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在了解现行系统的概况,确定新系统功能的过程中,确定系统边界、收集支持系统目标的基础数据及其处理方法。

2)概念结构设计
1. 概念定义

它也称为概念结构设计,其任务是在需求分析阶段产生的需求说明是的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS的数据模型,即概念模型。
概念结构设计阶段是在需求分析的基础上,对用户信息加以分类、聚集和概括,建立信息模型

2. 特点

与DBMS无关,它对应的是“外模式”。
概念模型的表示形式就是ER模型和数据字典。

3. 工作步骤

抽象数据→设计局部视图→合并取消冲突→修改重构消除冗余

3)逻辑结构设计
1. 概念定义

将概念结构模型转换成一般的关系。其主要任务是将概念模型转换为某个特定的DBMS上的逻辑模型。
也就是将ER图转换成表结构,网状,层次模型,然后再向特定的DBMSe支持下的数据模型转换,最后对数据模型进行优化(模式的分解,合并,增加部分必要的冗余)逻辑结构设计与具体的DBMS是有关的,
关系规范化是在数据库设计的逻辑阶段进行。

2. 特点

对应三级模式中的“模式”。
选定的DBMS,转换成为数据的逻辑模式,对关系模式进一步地规范化处理。

3. 工作步骤

转换为数据模型一关系规范化一模式优化一设计用户模式

4)物理设计

其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构。
基于具体数据库设计实现,包括了文件结构,索引等。它对应的是三级模式中的内模式,也就是存储模式。
所谓数据库的物理结构,主要是数据库在物理设备上的存储结构和存取方法。

十二. 数据库备份

数据库备份分为了冷备份,热备份和数据导出。

1)数据导出

根据数据导出的范围又分为:完全导出,增量导出,累计导出。
增量导出:只导出上一次导出的基础上把变化的数据导出。
累计导出:在上一次完全导出的基础上,把变化的所有数据都导出来。

2)导出备份

导出备份是一种逻辑备份,而冷备份和热备份是物理备份。

3)冷备份

冷备份是在数据库关闭的情况下,对数据库中的关键文件(数据文件日志文件)进行复制。

No冷备份优点冷备份缺点
01快速简单,维护方便冷备份时数据库关闭,不能同时做其他的工作
02可以恢复到备份的时间点上单独使用时,只能恢复到备份时的时间点上
03如果和热备份结合,可以实现秒级恢复不能按数据库中某个表或者是某个用户来进行备份
04低度维护,高度安全拷贝到磁盘等其他外部存储设备上,速度会很慢
4)热备份

数据库在运行当中对数据库关键数据进行备份,要求数据库管理系统提供支持。

No热备份优点热备份缺点
01备份时数据库仍然可用如果热备份出错,所得结果不能用于时间点恢复
02可以实现秒级恢复不能出错,否则会引起数据库无法恢复
03可在表空间或数据文件集备份,备份时间短维护比较困难
5)系统容灾

在灾难发生时,保证系统业务持续不间断运行的能力。它包括了数据容灾和应用容灾两个方面。

1. 数据容灾

数据容灾包括了数据备份技术,数据复制技术,数据管理技术;

2. 应用容灾

应用容灾包括了灾难检测技术,系统迁移技术,系统恢复技术。

6)常用备份技术

数据转储和建立日志文件两种。

1. 数据转储的定义

定期把整个数据库复制到另一个介质保存的过程。转储十分耗资源,不能频繁进行。

2. 数据转储分类

可以分为静态转储和动态转储两种。
换个维度也可以分为海量转储和增量转储两种。

No存储类型说明
01静态海量转储在无事物运行时进行,每次转储的是全部数据库
02动态海量转储允许事务运行,每次转储全部的数据库;加上日志才能进行恢复
03静态增量转储无运行事务时进行,每次转储的是更新部分的数据
04动态增量转储允许事务运行,每次转储更新部分的数据
3. 日志文件

建立过程
事务在运行时,系统把每个操作严格按执行时间次序作为记录存放到日志文件。
作用
进行事务故障恢复和系统故障恢复,协助后备副本进行介质恢复。
利用恢复事务过程
扫描日志文件,哪些日志在故障发生时已经结束,哪些未结束,对尚未结束的事务,进行撤销处理(Undo),对已经结束的事务进行重做(Redo),以保证数据的一致性。

十三. 关系表属性类型

简单类型:原子的不可再分
单值属性:对于特定的实体都只有单独的一个值
多值属性:如果某个属性可能有多重取值,则这样的属性称为多重属性,比如联系方式和兴趣爱好。
多重属性一般抽取为独立的实体(属性值,实体,ID)。
复合属性:可以细分更小的部分,可以划分为多个属性。例如,通信地址可以划分为邮编,省市地址,街道等。
派生属性:可以从一个相关属性和属性集的值派生得到的属性。这个属性在实体中不是必须的,比如年龄可以从生日中派生得到。

十四. 数据库安全技术

一共有五种:用户标识与鉴定,存取控制,密码存储和传输,视图的保护,审计。

1)用户标识与鉴定

最外层的安全保护措施,可以使用用户账户,口令和随机数检验的方式。

2)存取控制

它就是访问控制。对用户进行授权,包括操作类型(如查找,插入,删除,修改等动作)和数据对象(主要是数据单位)的权限。
通过权限机制,限定用户对数据的操作权限,把数据的操作限定在具有指定权限的用户范围内,以保证数据的安全
在标准SQL中定义了授权语句GRANT来实现权限管理。

3)密码存储和传输

对远程终端信息用密码传输
对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密

4)视图的保护

通过建立用户视图,用户或应用程序只能通过视图来操作数据,保证了视图之外的数据的安全性。

5)审计

使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来

6)内部安全与外部安全
数据库安全,从技术层面上分析应重点考虑哪些因素外部安全和内部安全两个方面

  1. 外部安全
    外部安全包括了SQL注入攻击,黑客软件攻击,病毒,木马攻击;
  2. 内部安全
    内部安全包括了数据库运行过程中,由于自身的问题,错误而引起故障造成的问题,主要是由故障引起,事务故障,系统故障(数据库系统,操作系统,硬件崩溃),介质故障。

十五. 数据库优化

1)集中式数据库的优化

集中式数据库优化考虑CPU和IO代价,分布式考虑通信的代价,而集中式数据库优化不同考虑通信。

1. 硬件系统优化

CPU,内存,IO设备,网络

2. 系统软件

参数,进程优先级,CPU使用权,内存使用

3. 数据库设计优化

表与视图的优化:包括建立物化视图,表的规划;

4. 索引

经常查询需要建立索引,经常修改插入数据的场合则要避免索引。

5. SQL优化

经常Commit事务,以释放锁资源
尽可能减少多表查询或建立物化视图
只检索需要的列,避免select *;
以不相干子查询替代相关子查询
用带IN的条件子句等价替换OR子句

6. 应用软件

建立数据库连接池

7. 针对只读查询的优化

数据量小的数据,可以考虑不存储在数据库中,而是通过程序常量的方式来解决
需要存储在数据库中的数据,可以考虑采用物化视图
数据存储时可以考虑适当的数据冗余,以减少数据库表之间的连接操作,提高查询效率
针对数据的特点,采取特定的索引类型,例如位图索引等

2)分布式数据库的优化

全局查询树的优化
片段代替查询树全局关系,尽可能将选择和投影等一元关系推向叶端,合并公共表达式等
副本选择和多副本更新策略
提高访问局部性,减少远距离访问,减少通信开销,减少大数据传输,考虑节点负载均衡。
查询树分解
半连接与直接连接

十六.数据库其他知识

【关系的三种类型】

基本关系,基本表:实际存在的表,实际存储数据的逻辑表示。
查询表:查询结果对应的表
视图表:有基本表和其他视图导出的表。虚表,不对应实际存储的数据。有物化视图)

【基本关系的六条性质】

列是同质的,每一列中的分量是同一类型数据,来自同一个域。
不同列可出自同一个域,每一列为一个属性,不同属性要给予不同属性名。
列的顺序无所谓
行的顺序无所谓
任意两行不能完全相同
分量必须取原子值

【数据库的完整性】

所谓数据的完整性,是指数据的有效性、正确性和一致性。
在数据库设计时如果没有一定的措施确保数据库中数据的完整性,就无法从数据库中获得可信的数据。
数据的完整性设计,应该贯穿在数据库设计的全过程中。
例如,在数据需求分析阶段,收集数据信息时,应该向有关用户调查该数据的有效值范围。

【表空间】

是组织数据和分配空间的逻辑结构。
一个表空间只能属于一个数据库,表空间可以理解为是数据库对象的容器。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以叫做表空间。

【元数据】

它是用来描述数据的数据,主要是描述数据属性的信息,这些信息包括数据的标示类属性,如命名,标识符,同义名,语境等。
技术类属性,如数据类型,数据格式,阀值,计量单位等等。管理类属性,如版本,注册机构,提交机构,状态等等。

【Armstrong公理】

从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”。

1. 自反律

若属性集Y 包含于属性集X,属性集X 包含于U,则X→Y 在R 上成立。(此处X→Y是平凡函数依赖)

2. 增广律

若X→Y 在R 上成立,且属性集Z 包含于属性集U,则XZ→YZ 在R 上成立。

3. 传递律

若X→Y 和 Y→Z在R 上成立,则X →Z 在R 上成立。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的横打

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

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

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

打赏作者

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

抵扣说明:

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

余额充值