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

news2025/1/18 10:46:03

目录

一、数据库概念

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.coloradmin.cn/o/443309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SCA技术进阶系列(二):代码同源检测技术在供应链安全治理中的应用

一、直击痛点:为什么需要同源检测 随着“数字中国”建设的不断提速,企业在数字化转型的创新实践中不断加大对开源技术的应用,引入开源组件完成应用需求开发已经成为了大多数研发工程师开发软件代码的主要手段。随之而来的一个痛点问题是&…

开启数字化之旅:VR全景视频带你进入真实而神奇的世界

引言:随着科技的不断发展,虚拟现实技术正在成为越来越多人所追捧和体验的技术。而VR全景视频作为虚拟现实技术的一种重要应用,也得到了越来越多人的关注。那么,VR全景视频到底是什么?它的优势和特点是什么?…

OpenGL入门教程之 变化颜色的三角形

一、 知识点 (1)着色器 着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通…

153. 寻找旋转排序数组中的最小值

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次&#xff0…

【刷题】搜索——BFS:字串变换【双向广搜模板】

双向广搜是BFS的一种优化方式,就是起点和终点同时往中间搜索。 假设每搜一步,都会有6种新的状态进入队列,搜索10步才能得到答案,总状态数是 1 6 6 2 6 3 . . . 6 9 166^26^3...6^9 166263...69。 但是假如已知终点的状态&am…

Crash分析gpu非法访问地址问题

Crash分析gpu非法访问地址问题 1. 问题描述 在我司产品monkey老化过程中,极低概率出现gpu驱动访问非法地址导致kernel panic问题,在kernel panic后,主动触发ramdump机制,抓到相关的ramdump文件,利用crash工具进行离线…

ggrcs包2.9版本发布----增加了绘制单独rcs曲线(限制立方样条)的singlercs函数

目前本人写的ggrcs包新的2.8版本已经在CRAN上线,目前支持逻辑回归(logistic回归)、cox回归和多元线性回归。增加了绘制单独rcs曲线(限制立方样条)的singlercs函数。 需要的可以使用代码安装 install.packages("…

UE4/5多人游戏详解(五、创建多人游戏插件)

目录 创建插件: 功能制作: 基础构造: 代码: 准备: 代码: 之前4个内容,我简单的讲解了一个项目中如何加入多人会话。 现在我们做一个插件,这样就不需要每一次创建项目的时候就…

CT前瞻(二):Vant4实战之Card卡片与Cell单元格

文章目录 📋前言🎯关于 Card卡片 和 Cell单元格 组件🧩Cell单元格🧩Card卡片 🎯实战代码📝最后 📋前言 最近在项目开发和学习的过程中,涉及到了Vant UI(简称Vant&#x…

气传导耳机和骨传导耳机的区别是啥?气传导耳机有哪些优缺点?

本文主要讲解一下气传导耳机和骨传导耳机的区别、气传导耳机的优缺点,并推荐一些目前主流的气传导耳机款式,大家可以根据自身需求,选择自己感兴趣的部分观看。 气传导耳机和骨传导耳机不同点: 气传导耳机和骨传导耳机最大且最根…

HTML+CSS+JS 学习笔记(二)———CSS

🌱博客主页:大寄一场. 🌱系列专栏:前端 🌱往期回顾:HTMLCSSJS 学习笔记(一)———HTML(上) HTMLCSSJS 学习笔记(一)———HTML(中) HTMLCSSJS 学习笔记&#…

数字信号预处理——平滑和去噪

数字信号预处理 对信号进行去噪、平滑和去趋势处理,为进一步分析做好准备。从数据中去除噪声、离群值和乱真内容。增强信号以对其可视化并发现模式。更改信号的采样率,或者使不规则采样信号或带缺失数据信号的采样率趋于恒定。为仿真和算法测试生成脉冲…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题59螺旋矩阵II) 2023.4.20

目录 前言算法题(LeetCode刷题59螺旋矩阵II)—(保姆级别讲解)分析题目:算法思想(重要)螺旋矩阵II代码: 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删…

英码科技深元ai工作站在化工园区应用,保障安全生产

当今,随着工业化进程的不断推进,化工产业作为重要的基础产业之一,为社会经济发展做出了巨大贡献。然而,随着化工园区规模的不断扩大,化工园区内的安全问题和环境问题也日益突出。因此,如何通过科技手段提升…

网络安全文章汇总导航(持续更新)

网络安全文章汇总导航(持续更新) 1. 介绍1.1. 初衷1.2. 更新时段1.3.最近更新时间及内容 2. 文章列表2.1. 基础篇2.2. 工具篇2.3. 靶场安装篇2.4. 权限提升篇2.5. 漏洞复现篇2.6. 加固与排查篇2.7. APP渗透篇2.8. 其它基础篇 1. 介绍 本章主要将博客中的…

ROS学习第十二节——话题通信控制小乌龟

1.基操一下 首先打开小乌龟程序和键盘控制程序 rosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key 查看话题列表 rostopic list 打开计算图查看具体是那个话题在起作用 rqt_graph 从上图可以看到两个节点之间的话题是 /turtle1/cmd_vel 使用以下命令获…

从零学习SDK(7)如何打包SDK

打包SDK的目的是为了方便将SDK提供给其他开发者或用户使用,以及保证SDK的兼容性和安全性。打包SDK可以有以下几个好处: 减少依赖:打包SDK可以将SDK所需的库、资源、文档等打包成一个文件或者一个目录,这样就不需要用户再去安装或…

直播app源码,流媒体自建好还是用第三方好

随着移动互联网的发展,直播应用已经成为人们日常生活中的一部分。但是,很多人在开发自己的直播app时,面临一个问题:自建直播流媒体服务器还是使用第三方直播平台?在本文中,我们将分析这两种选择的优缺点&am…

TLS简单介绍

第一篇是我同事讲的,第二篇在网上参考的。 两篇一起看,基本能搞懂TLS。 1、 概述 TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SS…

C# switch case语句入门and业务必知点

具体的语法形式如下。 switch(表达式) { case 值 1: 语句块 1; break; case 值 2: 语句块 2; break; ... default: 语句块 n; break; } 在这里,switch 语句中表达式的结果必须是整型、字符串…