当前位置: 首页 > news >正文

软考系统架构师知识点集锦九:数据库系统

一、考情分析

 二、考点精讲

2.1数据库概述

2.1.1数据库模式

  • (1)三级模式:外模式对应视图,模式(也称为概念模式)对应数据库表,内模式对应物理文件。
  • (2)两层映像:外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的逻辑独立性和物理独立性。
  • (3)物理独立性:即数据库的内模式发生改变时,应用程序不需要改变。
  • (4)逻辑独立性:即逻辑结构发生改变时,用户程序不需要改变。(逻辑独立性 比物理独立性更难
  • 实现)
  • (5)聚簇索引会影响内模式
     

2.1.2分布式数据库

(1)体系结构

(2)分布式数据库特点:

  • 1.数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
  • 2.集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
  • 3.适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他场地来说,数据仍然是可用的,从而保证数据的完备性。
  • 4.全局的一致性、可串行性和可恢复性

(3)分布式透明性

  • 分片透明性:分不分片,用户感受不到(不关心如何分片存储)。(水平分片:按记录分;垂直分片:按字段分;混合分片)
  • 位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)。
  • 局部数据模型透明性(逻辑透明) :用户或应用程序无需知道局部场地使用的是哪种数据模型。

两阶段提交协议2PC:
2PC事务提交的两个阶段:

  • 表决阶段,目的是形成一个共同的决定。
  • 执行阶段,目的是实现这个协调者的决定。

两条全局提交规则:

  • 只要有一个参与者撤销事务,协调者就必须做出全局撤销决定。
  • 只有所有参与者都同意提交事务,协调者才能做出全局提交决定。

(4)分库分区分表

分区的优点:

  • 1、相对于单个文件系统或是硬盘,分区可以存储更多的数据。
  • 2、数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可。
  • 3、精准定位分区查询数据,不需要全表扫描查询,大大提高数据检索效率。
  • 4、可跨多个分区磁盘查询,来提高查询的吞吐量。
  • 5、在涉及聚合函数查询时,可以很容易进行数据的合并。

(5)分布式数据库管理系统-组成: LDBMS、GDBMS、 全局数据字典、通信管理(CM)

(6)分布式数据库管理系统结构

  • 全局控制集中的DDBMS
  • 全局控制分散的DDBMS
  • 全局控制部分分散的DDBMS

2.1.3索引和视图

(1)关系的3种类型

基本关系(通常又称为基本表或基表) :实际存在的表,实际存储数据的逻辑表示。
查询表:查询结果对应的表。
视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,常称为虚表。
它是一个虚拟表(逻辑上的表), 其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。

(2)视图(View) 并不在数据库中实际存在,而是一种虚拟表。

(3)视图的优点:

  • 1、视图能简化用户的操作
  • 2、视图机制可以使用户以不同的方式查询同- -数据
  • 3、视图对数据库重构提供了-定程度的逻辑独立性
  • 4、视图可以对机密的数据提供安全保护

(4)物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。

2.2数据库设计过程

2.2.1概念结构设计过程

(1) E-R 图集成的方法:

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

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

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

2.2.2逻辑结构设计

(1) 任务
1、E-R 图向关系模式的转换;

  • 实体向关系模式的转换
  • 联系向关系模式的转换

2、关系模式的规范化;
3、确定完整性约束(保证数据的正确性) ;

  • 实体完整性约束
  • 参照完整性约束
  • 用户自定义完整性约束
  • 触发器

4、用户视图的确定(提高数据的安全性和独立性)。

  • 根据数据流图确定处理过程使用的视图
  • 根据用户类别确定不同用户使用的视图

5、应用程序设计

(2)相关概念

  • 目或度:关系模式中属性的个数。
  • 候选码(候选键)
  • 主码(主键)
  • 主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。
  • 外码(外键)
  • 全码(ALL-Key) :关系模式的所有属性组是这个关系的候选码。
  • 简单属性与复合属性、派生属性、多值属性

2.2.3数据库性能优化

2.3关系代数

2.3.1并(结果为二者元组之和去除重复行)

2.3.2交(结果为二者重复行)

2.3.3差(前者去除二者重复行)

类似于集合运算,计算如下图所示:

 2.3.4笛卡尔积

结果的属性列数为二者属性列数之和,结果的元组行数为二者元素数乘积。

2.3.5投影

        对属性列的选择列出。

2.3.6选择

        对元组行的选择列出。
        属性名可以依次标序号,直接以数字形式出现在表达式中。计算如下图所示:

 2.3.7自然连接

        结果列数为二者属性列数之和减去重复列,行数为二者同名属性列其值相同的结果元组。笛卡尔积、选择、投影的组合表示可以与自然连接等价。

        普通连接的条件会写出,没有写出则表示为自然连接。计算如图所示:

2.4规范化理论

2.4.1非规范化存在的问题

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

2.4.2相关概念

        函数依赖:

2.4.3 Amstrong公理

2.4.4候选键

        主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。

        将关系模式的函数依赖关系用“有向图”的方式表示。

        找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。

        若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。

2.4.5范式

范式的关系

第一范式(1NF) :在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。

第二范式(2NF)--消除非主属性对码的部分函数依赖:当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式。

第三范式(3NF)--消除非主属性对码的传递函数依赖:当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。

BC范式(BCNF) --根据定义判断:设R是一个关系模式,F是它的依赖集, R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
(可以理解为在3NF基础上,消除主属性之间的传递函数依赖和部分函数依赖)

2.4.6规范化过程-模式分解

2.4.7反规范化

(1)反规范化手段

(2)反规范化的优缺点
优点:连接操作少,检索快,统计快,需要查的表减少,检索容易。
缺点:

相关文章:

软考系统架构师知识点集锦九:数据库系统

一、考情分析 二、考点精讲 2.1数据库概述 2.1.1数据库模式 (1)三级模式:外模式对应视图,模式(也称为概念模式)对应数据库表,内模式对应物理文件。(2)两层映像:外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的…...

IOC课程整理-6 Spring IoC 依赖注入

1 依赖注入的模式和类型 模式 类型 2 自动绑定(Autowiring) 官方定义 “自动装配是Spring框架中一种机制,用于自动解析和满足bean之间的依赖关系。通过自动装配,Spring容器可以根据类型、名称或其他属性来自动连接协作的bean&…...

FANUC机器人PRIO-621和PRIO-622设备和控制器没有运行故障处理

FANUC机器人PRIO-621和PRIO-622设备和控制器没有运行故障处理 如下图所示,新的机器人开机后提示报警: PRIO-621 设备没有运行 PRIO-622 控制器没有运行 我们首先查看下手册上的报警代码说明,如下图所示, 如下图所示&#xff0c…...

《动手深度学习》线性回归简洁实现实例

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…...

国家数据局正式揭牌,数据专业融合型人才迎来发展良机

📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于恒川的日常汇报系列,大家有兴趣的可以看一看 📘相关专栏C语言初阶、C…...

基于springboot实现休闲娱乐代理售票平台系统项目【项目源码+论文说明】

基于springboot实现休闲娱乐代理售票系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把休闲娱乐代理售票管理与现在网络相结合,利用java技术建设休闲娱乐代理售票系统,实现休闲娱乐代理售票的信息化。则对于进一步提高休闲娱乐代理售票管理发…...

3.AUTOSAR OS分析(一)

1. AUTOSAR OS诞生背景 在最初接触汽车ECU开发时,提到最多的还是OSEK,比如OSEK NM、OSEK OS等等;而OSEK/VDK操作系统也是最先引入汽车行业;OSEK OS是基于事件触发的操作系统,有以下特性: 固定优先级调度中断处理函数StartOS和StartupHook作为启动阶段的通用接口函数Shutd…...

AB试验(七)利用Python模拟A/B试验

AB试验(七)利用Python模拟A/B试验 到现在,我相信大家理论已经掌握了,轮子也造好了。但有的人是不是总感觉还差点什么?没错,还缺了实战经验。对于AB实验平台完善的公司 ,这个经验不难获得&#…...

Go语言入门-流程控制语句

流程控制 Go语言中有以下几种常见的流程控制语句: 条件语句(Conditional Statements): if语句:用于根据条件执行代码块。else语句:在if条件不满足时执行的语句块。else if语句:用于在多个条件之…...

深入探究ASEMI肖特基二极管MBR60100PT的材质

编辑-Z 在电子零件领域中,肖特基二极管MBR60100PT因其出色的性能和广泛的应用而显得尤为关键。理解其材质不仅有助于我们深入理解其运作原理,也有助于我们做出更合适的电子设计。那么,肖特基二极管MBR60100PT是什么材质呢? 首先&#xff0c…...

python类模拟“对战游戏”

Game类含玩家昵称、生命值、攻击力(整数),暴击率、闪避率(小数),在魔术方法init定义;attack方法中实现两个Game实例对战模拟。 (本笔记适合初通Python类class的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.py…...

Maven第二章:Maven基本概念与生命周期

Maven第二章:Maven基本概念与生命周期 前言 本章主要内容,介绍Maven基本概念,包括maven坐标含义,命名规则,继承与聚合、了解与理解生命周期,如何通过Maven进行依赖和版本管理。 什么是Maven的坐标&#xf…...

<蓝桥杯软件赛>零基础备赛20周--第3周--填空题

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…...

【Linux】VM及WindowsServer安装

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《微信小程序开发实战》。🎯&#x1f3a…...

【实用教程】MySQL内置函数

1 背景 在MySQL查询等操作过程中,我们需要根据实际情况,使用其提供的内置函数。今天我们就来一起来学习下这些函数,在之后的使用过程中更加得心应手。 2 MySQL函数 2.1 字符串函数 常用的函数如下: concat(s1,s2,…sn)字符串…...

第十二节——ref

一、概念 ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例。 注意:只要想要在Vue中直接操作DOM元素&#xff…...

少儿编程 2023年9月中国电子学会图形化编程等级考试Scratch编程四级真题解析(判断题)

2023年9月scratch编程等级考试四级真题 判断题(共10题,每题2分,共20分) 11、运行程序后,变量"result"的值是6 答案:对 考点分析:考查积木综合使用,重点考查自定义积木的使用 图中自定义积木实现的功能是获取两个数中最大的那个数并存放在result变量中,左…...

【设计模式三原则】

设计模式三原则 单一职责原则开放封闭原则依赖倒转原则里氏代换原则 我们在进行程序设计的时候,要尽可能地保证程序的可扩展性、可维护性和可读性,所以需要使用一些设计模式,这些设计模式都遵循了以下三个原则,下面来依次为大家介…...

600MW发电机组继电保护自动装置的整定计算及仿真

摘要 随着科技的发展,电力已成为最重要的资源之一,如何保证电力的供应对于国民经济发展和人民生活水平的提高都有非常重要的意义。在电能输送过程中,发电机组是整个过程中最重要的一个基本元素,在电力系统中的输送和分配中被广泛应…...

【蓝桥每日一题]-字符串(保姆级教程 篇1)#atcoder324C~E题

今天来讲字符串题型 目录 题目:atcoder324C题 思路: 题目:atcoder324D题 思路: 题目:atcoder324E题 思路: 题目:atcoder324C题 给一个T字符串,然后给出n个S串,对…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

DBLP数据库是什么?

DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...