软件设计师(软考学习)

数据库技术

数据库基础知识

1. 数据库中的简单属性、多值属性、复合属性、派生属性
简单属性:指不能够再分解成更小部分的属性,通常是数据表中的一个列。例如学生表中的“学号”、“姓名”等均为简单属性。

多值属性:指一个属性可以有多个值。例如一个学生可能会有多个电话号码,这种情况下“电话号码”就可以被视为是多值属性。

复合属性:是由两个或多个简单属性组合而成的属性。例如:“家庭住址”记录了邮编、省、市、街道信息,则“家庭住址”这个属性就为复合属性。

派生属性:是指其值可以通过其他属性的值计算得出的属性。例如:一个“年龄”属性可以通过当前日期减去“出生日期”属性的值来计算得出。

2. 并发控制中事务的特性(ACID)
原子性(Atomicity):事务是原子的,要么做,要么都不做。

一致性(Consistency):事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。

隔离性(lsolation):事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其它事物都是不可见的。

持久性(Durability):一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也永久有效。

事务:由一组数据库操作语句组成的逻辑单位,这些操作要么全部执行成功,要么全部执行不成功。

共享锁:多个事务可以同时持有该锁,用于读取共享资源。在共享锁的情况下,其他事务也可以获取共享锁,但是无法获取排他锁。

排他锁:只有一个事务可以持有该锁,用于更新和修改资源。在数据被施加事务T施加排他锁的情况下,其他事务无法对该数据施加排他锁或共享锁,必须等待事务T释放排他锁。

数据库系统具有三层结构:模式外模式内模式。数据库中的视图对应外模式基本表对应模式存储文件对应内模式

分布式数据库的基本概念

共享性:允许用户共享数据资源。

自治性:数据库拥有自主管理的能力。

分布性:数据可以分布在不同的物理节点上。

可用性:即使某些节点或网络发生故障,系统依旧可用。

分片透明是指用户或应用程序无需关注数据的分片(分块或分割)存储细节,可以像访问单一数据源一样访问和操作分布在不同节点上的数据。系统会自动处理这些存储细节。

复制透明是指用户和应用程序无需关注数据的副本,系统会自动将数据的副本在不同节点之间进行同步和管理。

位置透明是指用户或应用程序无需关注数据存储在哪个节点,可以像访问本地数据一样访问和操作数据。系统自动会将数据存储在最近或最适合的节点上,以提供低延迟和高性能。

逻辑透明是指用户或应用程序无需关注局部数据模型的物理布局和结构,可以像访问逻辑数据模型一样访问和操作数据。系统会自动将数据映射到物理存储上,并提供逻辑和物理数据模型之间的转换,以提供更高级别的抽象和灵活性。

Data Extraction(数据提取)工具是指从一个或多个数据源中抽取数据的过程。

OLAP(Online Analytical Processing,在线分析处理)是一种在多维数据集上进行非结构化、多维分析的技术和方法。

OLTP(Online Transaction Processing,在线事务处理)是一种用于处理和管理实时事务的技术

ETL(Extraction & Transformation & Loading,抽取&转换&载入)常用于将数据从多个源系统中抽取、转换和加载到目标系统中。

COM全称为Component Object Model(组件对象模型)。COM是一种基于二进制接口的软件组件技术,用于实现在不同软件之间进行交互和通信。

CGI全称为Common Gateway Interface(通用网关接口)。CGI是一种标准的网络协议,用于在Web服务器和应用程序之间进行通信和数据交换。

DBA(Database Administrator,数据库管理员)

DBMS(Database Management System,数据库管理系统)

数据库设计主要分为用户需求分析、概念结构、逻辑结构和物理结构设计四个阶段。

需求分析阶段:整理出需求说明文档、数据字典和数据流程图。

概念结构阶段:整理出实体-联系模型(ER图)

逻辑结构设计(逻辑模型设计)阶段:概念模型在这一阶段被转换为符合特定数据库管理系统(如MySQL、Oracle、SQL Server等)的逻辑模型,通常为关系模型。

物理结构设计(物理模型设计)阶段:在这一阶段,设计数据库的物理存储结构,即如何将数据有效地存储到物理磁盘中,包括表空间、索引设计、分区方案等。

日志文件:记录系统、应用程序或事件的操作、错误、状态等信息的文件。系统在进行事务处理时,对数据的插入、删除或修改的全部有关内容先写入日志文件

数据文件:用来存储和组织数据的文件。在数据库中,数据文件通常用来存储表、索引、视图和其他数据库对象的实际数据。

索引文件:数据库中用于提高数据检索速度的一种数据结构。

语义冲突指的是在系统中存在两个或多个不一致的事物、规则或约束条件之间的冲突或矛盾。

结构冲突是指在系统中存在不一致的数据结构或数据模型之间的冲突或矛盾。

属性冲突是指在系统中存在不同实体或对象之间的属性定义或使用上的冲突或矛盾。它通常发生在软件开发、系统集成或数据集成等过程中。

E-R模型

选取候选关键字

例:关系模式R(U,F),其中U={A,B,C,D,E},F={A→B,DE→B,CB→E,E→A,B→D},现在假设{CE}是候选关键字,计算CE的闭包,即(CE)+。

解:

第一步:令X={CE},X(0)=CE。

第二步:求X(1)。逐一扫描F集合中各个函数依赖,在F中找出左边是CE子集的函数依赖,其结果是:E→A。这时,F中这两个函数依赖要打上标记(我通常是打上√,表示已经用过,后面不能用了)。于是X(1)=CE∪A=ACE;

第三步:判断X(1)是否等于 X(0)以及 X(1)是否等于 U。

在这里,X(1)≠ X(0),且X(1)≠ U,所以在F中继续找出左边是ACE子集的函数依赖,其结果是:A→B。同样打上标记。于是X(2)=ACE∪B=ABCE。(这里有一个注意点,∪右边的元素只写左边没有的)

继续判断,虽然X(2)≠ X(1),且X(2)≠ U,所以在F中继续找出左边是ABCE子集的函数依赖,其结果是:B→D。同样打上标记。于是X(3)=ABCE∪D=ABCDE。此时,X(3)=U,因此,结束闭包运算。然后,也因为X(3)=U,所以,{CE}是候选关键字。

还有一个解法就是会发现题目中的函数依赖没有可以推出某个属性(例如上题中的C)的依赖,所以候选关键字中必定会含有该属性C。

无损连接

例题:

解:

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

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

相关文章

【网络原理】面试高频考点!!TCP协议“三次握手,四次挥手”,保姆级详解,建议收藏!

💐个人主页:初晴~ 📚相关专栏:计算机网络那些事 通过上篇文章,我们可以得知TCP通过 “确认应答” 和 “超时重传”机制相辅相成,共同构建了 TCP的“可靠传输机制”。而为了保障建立通信和断开通信的可靠性…

PHP中的PEAR是什么

PHP中的PEAR是PHP Extension and Application Repository的缩写,即PHP扩展与应用库。它是一个PHP扩展及应用的代码仓库,提供了许多常用的PHP库和工具,涵盖了页面呈现、数据库访问、文件操作、数据结构、缓存操作、网络协议、WebService等许多…

忘记 MySQL 密码怎么办:破解 root 账户密码

忘记 MySQL 密码怎么办:破解 root 账户密码 目录 忘记 MySQL 密码怎么办:破解 root 账户密码1、修改 MySQL 配置文件2、不使用密码登录 MySQL3、重置 root 用户密码4、修改 MySQL 配置文件并重启 MySQL 服务5、使用新密码登录 MySQL 如果忘记密码导致无法…

解决磁盘负载不均——ElasticSearch 分片分配和路由设置

ES 分片分配(Shard Allocation)时间点: 初始恢复(Initial Recovery)副本分配(Replica Allocation)重平衡(Rebalance)节点添加或移除 小结: 准备移除节点时&a…

使用 Vue3 和 Axios 实现 CRUD 操作

文章目录 1、准备工作2、创建 Vue 3 项目3、项目结构4、实现 CRUD 操作5、运行项目6、小结在当今的前端开发中,Vue.js 作为一款流行的 JavaScript 框架,正在被越来越多的开发者所青睐。尤其是 Vue 3 引入了 Composition API 和更优雅的响应式处理,使得模板编写和状态管理变得…

CAN转WiFi模块在仓库系统中应用

CAN转WiFi模块在仓库系统中应用 我们的LCWLAN设备在实际使用中以裸板的形式放在客户的智能总线控制器中,客户的智能总线刀片灯,柔性灯货架,柔性感应钢网柜以及智能电子料架等设备都是接到总线控制器中,然后总控制器通过CAN总线和…

Qt-QSpacerItem布局相关控件(45)

目录 描述 属性 使用 控件小结 描述 使⽤布局管理器的时候,可能需要在控件之间,添加⼀段空⽩.就可以使⽤ QSpacerItem 来表⽰ 属性 width宽度height⾼度hData⽔平⽅向的 sizePolicy • QSizePolicy::Ignored : 忽略控件的尺⼨,不对布局产⽣影响。 • QSizePol…

免费高可用软件

高可用软件是指那些能够提供高可用性、高可靠性的软件,它们在各种应用场景下都能确保系统的稳定运行。以下是四款免费的高可用软件,它们在不同领域都表现出色,能够满足各种高可用性需求。 一、PanguHA PanguHA是一款专为Windows平台设计的双…

贪心算法c++

贪心算法C概述 一、贪心算法的基本概念 贪心算法(Greedy Algorithm),又名贪婪法,是一种解决优化问题的常用算法。其基本思想是在问题的每个决策阶段,都选择当前看起来最优的选择,即贪心地做出局部最优的决…

网络通信——OSPF协议(基础篇)

这里基础是因为没有讲解OSPF中的具体算法过程,以及其中很多小细节。后续会更新。 目录 一.OSPF的基础信息 二.认识OSPF中的Router ID 三.OSPF中的三张表 四.OSPF中的度量方法(计算开销值) 五. OSPF选举DR和BDR(就是这个区域…

音视频入门基础:FLV专题(9)——Script Tag简介

一、SCRIPTDATA 根据《video_file_format_spec_v10_1.pdf》第75页到76页,如果某个Tag的Tag header中的TagType值为18,表示该Tag为Script Tag(脚本Tag,又称Data Tag、SCRIPTDATA tag)。这时如果Filter的值不为1表示未加…

【Android】Jetpack组件之LifeCycle

引言 Lifecycle组件是Android Jetpack架构组件之一,它提供了一种方法来管理Android组件(如Activity、Fragment和服务)的生命周期。Lifecycle组件帮助你执行与生命周期相关联的操作,确保在适当的时间发生适当的事情,例…

深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)

前言 前几天在看论文,打算复现,论文用到了LSTM,故这一篇文章是小编学LSTM模型的学习笔记;LSTM感觉很复杂,但是结合代码构建神经网络,又感觉还行;本次学习的案例数据来源于GitHub,在…

越差越好?为什么简单反而赢了,这背后究竟有什么秘诀?

你有没有发现,软件界里那些最成功的产品,往往并不是最复杂、最强大的?我们用的很多东西,看起来功能普通,甚至有些粗糙,但就是这样简陋的设计,反而成了市场上的赢家。 也许你玩过Flappy Bird这个游戏:它的设计非常简单,玩家只需要点击屏幕让小鸟飞行,避开管道障碍。游…

【微服务】springboot 实现动态修改接口返回值

目录 一、前言 二、动态修改接口返回结果实现方案总结 2.1 使用反射动态修改返回结果参数 2.1.1 认识反射 2.1.2 反射的作用 2.1.3 反射相关的类 2.1.4 反射实现接口参数动态修改实现思路 2.2 使用@ControllerAdvice 注解动态修改返回结果参数 2.2.1 注解作用 2.2.2 实…

Llama 3.2 智能代理开发教程

构建研究代理可能很复杂,但使用 LangChain 和 Ollama,它会变得更加简单和模块化。 在本教程中,我们将向你展示如何基于Llama 3.2创建一个研究代理,该代理可以路由查询、执行网络搜索并使用工作流和 LLM 的组合生成详细响应。最后…

使用 Python 实现遗传算法进行无人机路径规划

目录 使用 Python 实现遗传算法进行无人机路径规划引言1. 遗传算法概述1.1 定义1.2 基本步骤1.3 遗传算法的特点 2. 使用 Python 实现遗传算法2.1 安装必要的库2.2 定义类2.2.1 无人机模型类2.2.2 遗传算法类 2.3 示例程序 3. 遗传算法的优缺点3.1 优点3.2 缺点 4. 改进方向5. …

出栈入栈次序匹配

学习栈的过程中,我们一定见过下面两题,在当时我们可能费尽心思才找出不可能的一个出栈序列,但是如果进栈元素很多,那么找出出栈序列时4,头发就要掉光了!那么我们是否可以实现一串代码,来帮助我们…

MySQL 篇-深入了解视图、SQL 优化(主键优化、order by 优化、group by 优化、update 优化等)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 SQL 优化 1.1 SQL 优化 - 插入数据 1.2 SQL 优化 - 主键优化 1.2.1 页分裂 1.2.2 页合并 1.2.3 主键设计原则 1.3 SQL 优化 - order by 优化 1.3.1 单字段排序 1.…

重学SpringBoot3-集成Redis(五)之布隆过滤器

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器?基本概念适用场景 2. 使用 Redis 实现布隆过滤器项目依赖Redis 配置…