系统分析师之数据库系统(七)

news/2025/2/12 7:42:26/

目录

一、数据库概念

1.1 数据库管理系统DBMS

1.2 数据库系统DBS

二、数据库设计

2.1 数据库设计过程

2.2 E-R模型

2.3 关系代数

2.4 规范化理论

2.4.1 价值与用途

2.4.2 函数依赖

2.4.3 键

2.4.4 范式

2.4.5 无损分解

三、并发控制

3.1 基本概念

3.2 问题示例

3.3 封锁协议

四、完整性约束

五、数据备份

5.1 数据备份方式

六、数据库故障与恢复

七、数据库技术

7.1 分布式数据库体系结构

7.2 联邦数据库

7.3 NoSQL

7.4 反规范化

7.5 内存数据库

7.6 数据库性能优化

7.7 大数据


一、数据库概念

1.1 数据库管理系统DBMS

        数据库管理系统是一种负责数据库定义,建立,操作,管理和维护的软件系统。其目的是保证数据库安全可靠,提高数据库应用的简明性和方便性,并有效的实现数据库三级之间的转化。

        主要职责:数据库的定义和建立,数据库的操作,数据库的控制,数据库的维护。

1.2 数据库系统DBS

        数据库系统是实现有组织地,动态地存储大量关联数据,方便多用户访问计算机软件,硬件和数据资源组成的系统。它包括数据库,硬件软件和数据库管理员四个部分。

  • 设计目标:允许用户逻辑地处理数据,而不涉及这些数据在计算机中是怎么存储的。在数据组织和用户应用之间提供某种程度的独立性。
  • 三个级别:用户级(对应外模式),概念级和物理级(对应内模式)
  • 三个模式:外模式,概念模式,内模式。
  • 两级独立性:是指物理独立性和逻辑独立性。逻辑独立性比物理独立性更加难以实现。

二、数据库设计

2.1 数据库设计过程

2.2 E-R模型

E-R模型:实体-关系图

(1)集成的方法:

  • 多个局部E-R图一次集成
  • 逐步集成,用累加的方式一次集成两个局部E-R。

(2)集成产生的冲突级解决方法

  • 属性冲突:包括属性域冲突和属性取值冲突
  • 命名冲突:包括同名异义和异名同义
  • 结构冲突:包括同一个对象再不同应用中具有的不同抽象,以及统一实体再不同局部E-R图中包含的属性个数和属性排列次序不完全相同

2.3 关系代数

一组具有相同数据类型的值的集合。

笛卡尔积

第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。元素个数变成原先每个集合中元素个数的乘积 

关系R和S有着相同的关系模式。将2个集合(或数据库查询的结果集)中的元素相加,并去掉重复元素(只留下1个) 

关系R和S有着相同的关系模式。差就是过滤出属于R但是不属于S的关系组合。

取得将2个集合(或数据库查询的结果集)中共有的元素 

投影

取得查询结果集中的部分字段,并去掉重复元素(数据库专有) (投影是选列操作,也就是选属性的操作)

选择

选择操作在关系R中选择满足给定条件的所有元祖。它是系中找出满足给定条件的元组的操作。SQL语句中的【Where+条件】就是选择。(选择是属性值满足特定的条件的操作)

联接

将两个关系并成一个更宽的关系模式.从笛卡尔积中选择出满足条件的元祖,对应的SQL语句是JION ON(连接操作:将S1和S2都有的字段只保留一个)

除法

同时从关系的水平和垂直方向进行运算,R(X,Y)和S(Y,Z),XYZ是属性组。R/S应当满足元祖在X上的分量值x的象集,包含关系S在属性组Y上投影的集合。

2.4 规范化理论

2.4.1 价值与用途

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常。

2.4.2 函数依赖

2.4.3 键

求候选键

2.4.4 范式

  • 第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
  • 第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个主属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式。
  • 第三范式(3NF):当且仅当实体E是第二范式(2NF),E中没有非主属性传递依赖于码时,则称实体E是第三范式。
  • BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。

1NF

第一范式

属性值都是不可分的原子值

2NF

第二范式

消除非主属性对候选键的部分依赖

3NF

第三范式

消除非主属性对候选键的传递依赖

BCNF

BC范式

消除主属性对候选键的传递依赖

2.4.5 无损分解

三、并发控制

3.1 基本概念

3.2 问题示例

 

3.3 封锁协议

  • 一级封锁协议。事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。可防止丢失修改;
  • 二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读“脏”数据;
  • 三级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改、防止读“脏”数据与防止数据重复读;
  • 两段锁协议。可串行化的。可能发生死锁;

四、完整性约束

五、数据备份

5.1 数据备份方式

六、数据库故障与恢复

七、数据库技术

7.1 分布式数据库体系结构

7.2 联邦数据库

7.3 NoSQL

7.4 反规范化

7.5 内存数据库

7.6 数据库性能优化

7.7 大数据


http://www.ppmy.cn/news/50198.html

相关文章

nginx Rewrite重写功能

一、rewrite的概述 1.1、概述 rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标记位实现URL重写以及重定向。 比如:更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗…

Word中截取部分内容并保存为jpg图片的方法

private void button1_Click(object sender, EventArgs e) { var appWord new Microsoft.Office.Interop.Word.Application(); var doc new Microsoft.Office.Interop.Word.Document(); object oMissing System.Reflection.Missing.Value;//这个是什么东西,我始终…

Codeforces Round 863 (Div. 3) G2. Vlad and the Nice Paths (hard version)

题意: 给定一个长度为 n n n的序列和整数 k k k,每个序列颜色为 a [ i ] a[i] a[i],找出一个子序列的长度为 k k k的倍数,假设为 l e n len len,则将这个子序列分为 l e n / k len/k len/k份,每份的颜色都…

MySQL数据库——MySQL使用DISTINCT过滤重复数据

在 MySQL 中使用 SELECT 语句执行简单的数据查询时,返回的是所有匹配的记录。如果表中的某些字段没有唯一性约束,那么这些字段就可能存在重复值。 为了实现查询不重复的数据,MySQL 提供了 DISTINCT 关键字。 DISTINCT 关键字的主要作用就是…

最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试

参考链接:最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试 一、安装Python3 PyQt5所支持的python版本是从3.5开始的,因此安装的Python3版本必须大于3.5。 我安装的位置是C:\Python\Python38。 参见真小白入门Pyhton的安装 二、安…

【音视频第17天】RTSP、RTMP协议初识

被叫去搞直播了,悲喜交加。先学习一下基本的技术栈,RTSP RTMP HTTP 先简单随便看看吧。 目录 什么是流媒体协议RTMPRTMP 工作原理 RTSPRTSP 工作原理 RTMP 与 RTSP 区别详细看看RTSP简介RTSP交互流程OPTIONSDESCRIBESETUPPLAYPAUSESET_PARAMETERGET_PAR…

3. 排序

3. 排序 3.1 总纲 3.2 Comparable与Comparator接口介绍 由于我们这里要讲排序,所以肯定会在元素之间进行比较。规则的。在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像简单的整型数据那么简单&a…

Android主流网络请求开源库的对比

目录 一、为什么要用网络请求开源库? 网络请求开源库是一个将网络请求的相关功能封装好的类库 没有网络请求框架之前 App想与服务器进行网络请求交互是一件很痛苦的事:因为Android的主线程不能进行网络请求,需另开1个线程请求、考虑到线程池…