软件架构师高级——3、数据库系统

• 数据库概述(★★★)

集中式数据库系统

•数据管理是集中的
•数据库系统的素有功能 (从形式的用户接口到DBMS核心)

者口集中在DBMS所在的计算机。

B/S结构

•客户端负责数据表示服务

•服务器主要负责数据库服务
•数据 和后端 库系统分为前
•ODBC、JDBC

并行数据库•共享内存式
•无共享式
分布式数据库• 物理上分布、逻辑上集中
• 物理上分布、逻辑上分布
•特点
- 透明性

• 数据库的结构与模式(★★★★)

数据库系统的三级模式

外模式
 

外模式(子模式、用户模式
描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作

语句或应用程序去操作数据库中的数据。
外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征

数据的安全性和完整性约束条件
 

概念模式
 

概念模式(模式、逻辑模式

整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,

定义记录、数据项、 数据的完整性约束条件及记录之间的联系,是数据项值的框架。
数据库系统概念模式通常还包含有访问控制、保密定义、完整性检查等方面的内容,以
及概念/物理之间的映射
概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个概念模式

内模式
 

内模式是整个数据库的最低层表示,不同于物理层,它假设外存是一个
无限的线性地址空间。
内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理
顺序,指引元、索引和存储路径等数据的存储组织。

内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

一个数据库只有一个内模式。

内模式、模式和外模式之间的关系如下:
(1)模式是数据库的中心与关键;
(2)内模式依赖于模式,独立于外模式和存储设备;
(3)外模式面向具体的应用,独立于内模式和存储设备;
(4)应用程序依赖于外模式,独立于模式和内模式。
 


• 数据库设计阶段(★★)

集成的方法:

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

集成产生的冲突及解决办法:

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

• ER模型 (★)

概念数据模型是按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型
主要用实体—联系方法(Entity-Relationship Approach)表示,所以也称 E-R 模型。

常用的基本数据模型有层次模型、网状模型、关系模型和面向对象模型

• 关系代数(★★★★)


 

计算两个关系在集合理论上的并集,即给出关系

R 和 S(两者有相同元/列
数), R∪ S 的元组包括 R 和 S 所有元组的集合


计算两个关系集合理论上的交集,即给出关系

R 和 S(两者有相同元/列数),
R∩ S 的元组包括 R 和 S 相同元组的集合,

计算两个关系的区别的集合,即给出关系 R 和 S(

两者有相同元/列数), R-S
的元组包括 R 中有而 S 中没有的元组的集合

 笛卡尔积


计算两个关系的笛卡尔乘积,令 R 为有 m 元的关系,

S 为有 n 元的关系,则 R× S 是 m+n 元的元组的集合,

其前 m 个元素来自 R 的一个元组,而后 n 个
元素来自 S 的一个元组

选择从一个关系中抽取指明的属性(列)。令 R 为一个包含属性 A 的关系
投影
连接θ连接从两个关系的笛卡儿积中选取属性之间满足一定条件的元组
除法设有关系 R(X, Y)与关系 S(Z), Y 和 Z 具有相同的属性个数,且对应属性出
自相同域。关系 R(X, Y)÷S(Z)所得的商关系是关系 R 在属性 X 上投影的一个子集,该子
集和 S(Z)的笛卡尔积必须包含在 R(X, Y)中,记为 R÷S


• 规范化理论(★★★★★)

第一范式

1NF 是最低的规范化要求。如果关系 R 中所有属性的值域都是简单域,其元素(即属
性)不可再分,是属性项而不是属性组,那么关系模型 R 是第一范式的,记作 RÎ1NF。

第二范式

如果一个关系 R 属于 1NF,且所有的非主属性都完全依赖于主属性,则称之为第二范
式,记作 RÎ2NF

有一个获得专业技术证书的人员情况登记表结构为:

省份、姓名、证书名称、证书编号、核准项目、发证部门、发证日期、有效期。

这个结构符合 1NF,其中“证书名称”和“证书编号”是主码,但是因为“发证部门”
只完全依赖于“证书名称”,即只依赖于主关键字的一部分(即部分依赖),所以它不符合 2NF,

分解成两个表就完全符合 2NF 了

省份、姓名、证书名称、证书编号、核准项目、发证日期、有效期

证书名称、发证部门

第三范式

如果一个关系 R 属于 2NF,且每个非主属性不传递依赖于主属性,这种关系是 3NF,
记作 RÎ3NF。

有一个表(职工姓名,工资级别,工资额),
其中职工姓名是关键字,此关系符合 2NF,但是因为工资级别决定工资额,也就是说非主
属性“工资额”传递依赖于主属性“职工姓名”,它不符合 3NF,同样可以使用投影分解的

办法分解成两个表:(职工姓名,工资级别),(工资级别,工资额)。

BC 范式

如果关系模型 R∈ 1NF,且 R 中每一个函数依赖关系中的决定因素都
包含码,则 R 是满足 BC 范式的关系,记作 RÎBCNF。

综合 1NF、 2NF 和 3NF、 BCNF 的内涵可概括如下:
(1)非主属性完全函数依赖于码(2NF 的要求);
(2)非主属性不传递依赖于任何一个候选码(3NF 的要求);
(3)主属性对不含它的码完全函数依赖(BCNF 的要求);
(4)没有属性完全函数依赖于一组非主属性(BCNF 的要求)。
 

• 并发控制(★)

数据库的并发操作带来的问题有:丢失更新问题、不一致分析问题(读过时的数据)、依赖
于未提交更新的问题(读了“脏”数据)。这三个问题需要 DBMS 的并发控制子系统来解决。

处理并发控制的主要方法是采用封锁技术。它有两种类型:排他型封锁(X 封锁)和共
享型封锁(S 封锁)

(1)排他型封锁(简称 X 封锁)。如果事务 T 对数据 A(可以是数据项、记录、数
据集,乃至整个数据库)实现了 X 封锁,那么只允许事务 T 读取和修改数据 A,其他事
务要等事务 T 解除 X 封锁以后,才能对数据 A 实现任何类型的封锁。可见 X 封锁只允
许一个事务独锁某个数据,具有排他性。

(2)共享型封锁(简称 S 封锁)。 X 封锁只允许一个事务独锁和使用数据,要求太严。
需要适当放宽,例如可以允许并发读,但不允许修改,这就产生了 S 封锁概念。 S 封锁的
含义是:如果事务 T 对数据 A 实现了 S 封锁,那么允许事务 T 读取数据 A,但不能修
改数据 A,在所有 S 封锁解除之前绝不允许任何事务对数据 A 实现 X 封锁。
 

• 分布式数据库(★★)

分布式数据库=是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个结点也能通过网络通信子系统执行全局应用。


 图 3-8 的模式结构从整体上可以分为两大部分:下半部分是集中式数据库的模式结构,
代表了各局部场地上局部数据库系统的基本结构;上半部分是分布式数据库系统增加的模式
级别。

• 数据仓库(★★★)

著名的数据仓库专家 W.H.Inmon 在《Building the Data Warehouse》一书中将数据仓库
定义为:数据仓库( Data Warehouse)是一个面向主题的、集成的、相对稳定的、且随时间
变化的数据集合,用于支持管理决策。

• 数据挖掘(★★★★)

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际
应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。

数据挖掘的功能

  • 1.自动预测趋势和行为数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。
  • 2.关联分析数据关联是数据库中存在的一类重要的可被发现的知识。
  • 3.聚类数据库中的记录可被划分为一系列有意义的子集,即聚类。
  • 4.概念描述概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。
  • 5.偏差检测数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。
     

常用的数据挖掘技术包括关联分析、序列分析、分类、预测、聚类分析时间序列分析

 

• 大数据(★★★)

业界通常用 4 个 V(即 Volume、 Variety、 Value、 Velocity)来概括大数据的特征

Volume:指的是数据体量巨大,从 TB 级别跃升到 PB 级别(1PB=1024TB)、 EB 级别
1EB=1024PB),甚至于达到 ZB 级别(1ZB=1024EB)。截至目前,人类生产的所有印刷材
料的数据量是 200PB,而历史上全人类说过的所有话的数据量大约是 5EB。当前,典型个
人计算机硬盘的容量为 TB 量级,而一些大企业的数据量已经接近 EB 量级。

Variety:指的是数据类型繁多。这种类型的多样性也让数据被分为结构化数据和非结构
化数据。相对于以往便于存储的以文本为主的结构化数据,非结构化数据越来越多,包括网
络日志、音频、视频、图片、地理位置信息等,这些多类型的数据对数据的处理能力提出了
更高要求。

Value:指的是价值密度低。价值密度的高低与数据总量的大小成反比。以视频为例,
一部 1 小时的视频,在连续不间断的监控中,有用数据可能仅有 1-2 秒。如何通过强大的
机器算法更迅速地完成数据的价值“提纯”成为目前大数据背景下亟待解决的难题。当然把
数据集成在一起,并完成“提纯”是能达到 1+1 大于 2 的效果的,这也正是大数据技术的
核心价值之一。

Velocity:指的是处理速度快。这是大数据区分于传统数据挖掘的最显著特征。根据 IDC
的“数字宇宙”的报告, 预计到 2020 年,全球数据使用量将达到 35.2ZB。在如此海量的
数据面前,处理数据的效率就是企业的生命。
 

 大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数
分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全
等)

• 数据库完整性约束(★)


• 数据库备份与安全 (★)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/62336.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安全杂记 - 复现nodejs沙箱绕过

目录 一. 配置环境1.下载nodejs2.nodejs配置3.报错解决方法 二. nodej沙箱绕过1. vm模块2.使用this或引用类型来进行沙箱绕过 一. 配置环境 1.下载nodejs 官网:https://nodejs.org/en2.nodejs配置 安装nodejs的msi文件,默认配置一直下一步即可&#x…

任务15、MidJourney视频(Video)参数动态上线,制作惊艳动画短片

15.1 任务概述 本次任务将帮助你掌握Midjourney中的Video参数,并利用这些参数创作出令人惊艳的绘画作品。通过学习Video参数的基本概念和功能,以及案例的实际应用,你将学会如何正确设置和调整这些参数,从而达到你所期望的绘画效果。最终,你将运用所学知识,生成香奈儿模特…

【web逆向】全报文加密及其登录流程的分析案例

aHR0cHM6Ly9oZWFsdGguZWxkZXIuY2NiLmNvbS9zaWduX2luLw 涉及加密库jsencrypt 定位加密点 先看加密的请求和响应: 全局搜索加密字段jsondata,这种非特定参数的一般一搜一个准,搜到就是断点。起初下的断点没停住,转而从调用栈单步…

arm交叉编译lmbench

一、下载lmbench www.bitmover.com/lmbench 官网下载,http://www.bitmover.com/lmbench/lmbench3.tar.gz 我没有下载下来,找的别人的百度云下载 链接: https://pan.baidu.com/s/1tGo1clCqY-jQPN8G1eWSsg 提取码: f6jd 二、修改makefile 修改三个文件…

maven install命令:将包安装在本地仓库,供本地的其它工程或者模块依赖

说明 有时候,自己本地的maven工程依赖于本地的其它工程,或者manven工程中的一个模块依赖于另外的模块,可以执行maven的install命令,将被依赖的包安装在maven本地仓库。 示例 一个工程包含几个模块,模块之间存在依赖…

【网络基础实战之路】设计网络划分的实战详解

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 PS:本要求基于…

8.6 day07 休息+剑指offer

文章目录 06从尾到头打印链表03数组中重复的数字04二维数组中的查找05 替换空格06重建二叉树背英语单词,看了二十页 06从尾到头打印链表 从尾到头遍历链表 方法一就是用栈来辅助,栈的结构是先进后出的,将链表中的元素加入到栈中去&#xff0…

ACL访问控制列表

ACL介绍 acl: 访问控制列表 步骤: 创建一个访问控制规则调用这个规则 ACL的分类和标识 ACL的匹配顺序以及匹配结果 拓扑图 配置 # 首先通过三层交换的实验做一次 ....## 检测ip地址 display ip interface brief## 在交换机2上做配置 [S2]acl name test ?IN…

【Pycharm2022.2.1】python编辑器最新版安装教程(包含2017-2022的所有版本win/mac/linux)

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 永久安装 Pycharm(2017-2022的win/mac/linux所有版本)/ IntelliJ IDEA也可以, 按照本文教程所写的,具体步骤跟着下面的图文教程一步一步来就行,一分钟即可搞定,过…

【ShaderToy中图形效果转译到UnityShaderlab案例分享,实现2D层层叠叠半透明泡泡_Bubbles】

Shader"ShaderToy/Bubbles" {Properties{}SubShader{Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct ap

Pycharm连接服务器

前提:必须为pycharm专业版才能连接到服务器 以下为pycharm2023专业版 一、连接 系统环境 虚拟环境(前提:已安装anaconda) (1) anaconda环境 (2) 自己创建的虚拟环境 这里为envs下的spotr 二、查看连接情况 选择自动上传

Codejock Skin Framework Visual C++ MFC Crack

Codejock Skin Framework Visual C MFC Crack Codejock Visual CMFC皮肤框架为Windows开发人员提供了一种高度复杂的应用程序皮肤框架技术,该技术是在考虑Windows主题(视觉样式)的情况下开发的。只需几行代码就可以实现一个完全主题化的应用程序。 功能概述 Codejoc…

【css】css实现字母大小写转换

text-transform 属性用于指定文本中的大写和小写字母。 uppercase&#xff1a;将字母转为大写lowercase&#xff1a;将字母转为小写capitalize&#xff1a;将每个单词首字母转为大写 代码&#xff1a; <style> p.uppercase {text-transform: uppercase; }p.lowercase …

Android学习之路(1) App工程的项目结构

一、App工程的项目结构 1.项目下面有两个分类 一个是app(代表app模块)&#xff0c;另一个是Gradle Scripts。其中app下面又有3个子目录&#xff0c;其功能说明如下&#xff1a; manifests 子目录下面只有一个XML文件&#xff0c;即AndroidManifest.xmljava子目录&#xff0c;…

Verilator仿真环境搭建

Verilator简介与使用_Hwang_shuo的博客-CSDN博客 Verilator是一种开源的Verilog/SystemVerilog仿真器&#xff0c;可用于编译代码以及代码在线检查&#xff0c;Verilator能够读取Verilog或者SystemVerilog文件&#xff0c;并进行lint checks(基于lint工具的语法检测)&#xff…

uniapp使用阿里图标

效果图&#xff1a; 前言 随着uniApp的深入人心&#xff0c;我司也陆续做了几个使用uniapp做的移动端跨平台软件&#xff0c;在学习使用的过程中深切的感受到了其功能强大和便捷&#xff0c;今日就如何在uniapp项目中使用阿里字体图标的问题为大家献上我的一点心得&#xff0…

HCIP IPV6

一、IPV6升级特点联系和区别 IPV4--->IPV6 1、全球单播地址 ---- IPV4地址下的公有地址 V6下没nat 2、可聚合性&#xff08;IANA组织对全球的地址进行合理分配&#xff09; 3、多宿主---一个物理接口可以同时拥有多个不同网段的IPV6地址&#xff1b;但不同接口不能在…

神码ai伪原创工具【php源码】

大家好&#xff0c;小编为大家解答python炫酷烟花表白源代码的问题。很多人还不知道html代码烟花特效python&#xff0c;现在让我们一起来看看吧&#xff01; 火车头采集ai伪原创插件截图&#xff1a; 目录 前言 环境准备 代码编写 效果展示 前言 Python实现浪漫的烟花特效 现在…

一 关于idea如何在svn进行项目下载并运行成功

安装svn客户端 如图 安装时请选择该选项&#xff08;Will be installed on local hard drive&#xff09;并选择自己想要安装的目录路径 如图 svn安装成功 如图 注意 安装完成后&#xff0c;使用svn进行一次checkout的项目导出完成以上五步时&…

PHP8条件控制语句-PHP8知识详解

我们昨天说了流程控制的结构有顺序结构、选择结构和循环结构。选择结构就是条件结构。 条件控制语句就是对语句中不同条件的值进行判断&#xff0c;进而根据不同的条件执行不同的语句。 在本文中&#xff0c;学习的是if语句、if…else语句、if…elseif语句和switch语句。 1、…