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

软考:中级软件设计师:关系代数:中级软件设计师:关系代数,规范化理论函数依赖,它的价值和用途,键,范式,模式分解

软考:中级软件设计师:关系代数

提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性

关于互联网大厂的笔试面试,都是需要细心准备的
(1)自己的科研经历,科研内容,学习的相关领域知识,要熟悉熟透了
(2)自己的实习经历,做了什么内容,学习的领域知识,要熟悉熟透了
(3)除了科研,实习之外,平时自己关注的前沿知识,也不要落下,仔细了解,面试官很在乎你是否喜欢追进新科技,跟进创新概念和技术
(4)准备数据结构与算法,有笔试的大厂,第一关就是手撕代码做算法题
面试中,实际上,你准备数据结构与算法时以备不时之需,有足够的信心面对面试官可能问的算法题,很多情况下你的科研经历和实习经历足够跟面试官聊了,就不需要考你算法了。但很多大厂就会面试问你算法题,因此不论为了笔试面试,数据结构与算法必须熟悉熟透了
秋招提前批好多大厂不考笔试,直接面试,能否免笔试去面试,那就看你简历实力有多强了。
(5)考网警的大佬,务必把软考:中级软件设计师的内容学好学透,学广,学多


文章目录

  • 软考:中级软件设计师:关系代数
    • @[TOC](文章目录)
  • 软考:中级软件设计师:关系代数
  • 规范化理论——函数依赖
  • 规范化理论它的价值和用途
  • 规范化理论的键
  • 如何求候选键——考点哦
  • 规范化里面的范式——年年必考
    • 第一范式1NF:属性不可分的院子值
    • 第二范式2NF:消除非主属性,对候选键的部分依赖
    • 第三范式3NF:消除非主属性,对候选键的传递依赖
    • 第BC范式BCNF:消除主属性,对候选键的传递依赖
  • 范式例题
  • 规范化理论中的模式分解
  • 总结

软考:中级软件设计师:关系代数

在这里插入图片描述
在这里插入图片描述
并;重复的去掉,其余的东西都要捞过来

交:只要重复的
在这里插入图片描述
差呢就是干掉公共部分

这些都不是重点
重点还是后面的
在这里插入图片描述
笛卡尔积,没用的,啥玩意都要组装一遍
在这里插入图片描述
实际操作中,要避免出现笛卡尔积
因为这种爆炸,也没有意义

浪费空间

n*m
爆炸的

投影是选列【column】
选择是选行【row】
在这里插入图片描述
连接
等值连接
内连接,连接
这些都是数据库中的骚操作,我讲过很多,你看我数据库那些文章
在这里插入图片描述

等值连接,是保证同一个字段相等时,可以连接勾出来,把其他的字段挂在屁股,同一个字段保留一条。
在这里插入图片描述

自然连接
你可以仨字段,134列,或者sno,sname,age啥的三同时满足条件
好说
在这里插入图片描述

规范化理论——函数依赖

在这里插入图片描述
不用读上面这段
给定x,一定映射为一个唯一的y
这波就是x能确定y
f就是函数依赖
y依赖于函数f,有x确定y

y不能确定x,因为多个x可以都得到y

学号,函数f,直接确定一个姓名
这是一对一的映射。
只要确定了学号,它一定对应唯一的名字,这是一个函数依赖。懂?

反过来不行,姓名同名的话,不见得就是同一个学号。
在这里插入图片描述
学号A,课程号B,姓名C
知道了学号,和课程号,一定可以确定姓名
或者只需要学号,就知道姓名
这种就是部分依赖

组件中的一部分,就可以唯一确定姓名

传递函数依赖
在这里插入图片描述
A确定B
B确定C
则A确定了C
但是B不能回退

规范化理论它的价值和用途

考试中的重点知识点哦
在这里插入图片描述
计算机系,其实没必要存这么多,我们可以重新搞一个表
把系号,拿来做map表的话,我们少存很多信息,节约空间
这就是规范化理论的价值

逆规范化?加数据冗余

规范化理论的键

在这里插入图片描述
唯一标识元组,单属性,多属性组合?超建??????????
啥玩意

不懂

超建可能存在冗余

候选键不冗余

比如,学号,姓名,性别
学号确定性别
学号+性别组合键确定性别

则学号+性别可以是超建
但是它不是候选键
因为它不是唯一确定
姓名,或者学号是候选键

主键,只有一个,它就是一个最终的核心代表
数据库中主键就是唯一的代表,虽然身份证号,学号都能唯一确定人,但是只能设定一个
外键,是别的关系的主键,外表,需要关联,我们需要找到同一个人,挂接的相关的属性
比如部门号
员工很多都可以属于外键中的同一个部门。
在这里插入图片描述
你先学数据库,再学这个玩意,其实轻松一点哦。

如何求候选键——考点哦

在这里插入图片描述
很难哦
你怎么识别它是唯一标识一个人的字段

图示法!最方便

看题

在这里插入图片描述
有了依赖有向图
入度A1没有一个箭头指向它,尝试遍历这个图
必须每个点遍历一遍

BFS可以遍历整个图,则,A1就是候选键。

在这里插入图片描述
不是联通图??????????????
这怎么玩!!!!!!

有办法,当无法联通时,或者单独一个点没法遍历整个图时
需要找集合,就是那些入度我0的所有点,有了这些点,才能遍历完所有的点
这些点的集合,就是候选键
在这里插入图片描述

在这里插入图片描述
这种呢?????
B入度为0????找中间节点,既有入度,也有出度
A同时决定BC组合键
可以
B也可以
所以A或者B都行
这么骚吗
这就是软考的题目哦

规范化里面的范式——年年必考

必考知识点
在这里插入图片描述
3NF爆炸了已经很好了

123依次变高。【之前考试我都不会】

第一范式1NF:属性不可分的院子值

属性已经不能再拆分了

高职还能再拆在这里插入图片描述

第二范式2NF:消除非主属性,对候选键的部分依赖

消除非主属性,对候选键的部分依赖。
【注意区分哦】这是消除非主属性,对候选键的部分依赖
在这里插入图片描述
学号,课程号,联合才能决定成绩
但是课程号,能决定学分,一门课就是一个学分
非主属性学分,没有完全依赖主键
懂了吧,不符合2NF

我们要把课程和学分固定再搞一个表
这样才能符合2范式

问题:
带来数据冗余,学分对应课程,压根不需要放这么多空间。
更新异常,更新学分时,需要全部更新
插入异常,新课程号来了,学分6分,现在你想录入学分
如果没人选课,则你6分的新课程,你没法插入啊
尴尬
删除异常
你删除学生,但是学分也被删除了,尴尬

解决方案,把学分单独列出一个表来。

第三范式3NF:消除非主属性,对候选键的传递依赖

消除非主属性,对候选键的传递依赖
【注意区分哦】这还是消除非主属性,对候选键的传递依赖
在这里插入图片描述
一个字段做主键,一定满足2范式,它不会有部分依赖。

问题:
数据冗余,计算机系,爆炸,楼号爆炸
更细姓名,爆炸
新加入学生也没法录入

解决方案
把dno后面仨字段重新独立出来,部门重新单独列一个表。

第BC范式BCNF:消除主属性,对候选键的传递依赖

消除主属性,对候选键的传递依赖
【注意区分哦】这还是消除主属性,对候选键的传递依赖
在这里插入图片描述
这个其实别管了
我们了解一波
满足3NF即可

主属性——属于候选键
非主属性——不是候选键。

它出发能遍历所有点
在这里插入图片描述
SJ,ST都是候选键
相当于S,T,J都是主属性

它满足3NF
所有函数依赖
左边时候选键——这样才是BCNF
但是现在SJ–>T,ST–>J,T–>J
T不是候选键,所以它不是BCNF

这个就了解了,不管

范式例题

在这里插入图片描述
现在表4中有部门
表3需要加部门

表4有月销售额
所以,需要把职工它销售了什么商品号,日期是啥,销量多少,就能算销售额了
A

规范化理论中的模式分解

在这里插入图片描述
A–>B
B–C
拆分
AB
BC
保持了上面的依赖
这种就是保持函数的依赖分解
OK
相当于拆表格
R3:AC
A–>C,A不能直接确定C,这种是不行的
在这里插入图片描述
压缩时也会用到

数据压缩,然后还原
在这里插入图片描述
数据库学完了你才能玩这个东西
很多连接操作,我都会的
只要能连接2个表,算是无损

在这里插入图片描述
很好拆分
主键自己带自己的属性
连接外键搞定好了就好办了
美滋滋。
在这里插入图片描述

分解出来的东西做交集
然后分别做差集

结果与交集是有依赖的,那就是无损

大致明白

表的某个键,一定与2个表都有挂接的


总结

提示:重要经验:

1)
2)
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

相关文章:

软考:中级软件设计师:关系代数:中级软件设计师:关系代数,规范化理论函数依赖,它的价值和用途,键,范式,模式分解

软考:中级软件设计师:关系代数 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &…...

openCV实战-系列教程2:阈值与平滑处理(图像阈值/图像平滑处理/高斯/中值滤波)、源码解读

1、图像阈值 t图像阈值函数,就是需要判断一下像素值大于一个数应该怎么处理,小于一个数应该怎么处理 ret, dst cv2.threshold(src, thresh, maxval, type) 参数解析: src: 原始输入图,只能输入单通道图像&#…...

C语言第五章-循环结构练习

1、设计一个小型模拟彩票中奖机,已知彩票中奖号码是一个固定的3位数(原始号码)。对任意一个3位数,取出它的每位数字和原始号码的每位数字比较,有1位数相同中三等奖,有2位数相同中二等奖,有3位数…...

Echarts面积图2.0(范围绘制)

代码: // 以下代码可以直接粘贴在echarts官网的示例上 // 范围值 let normalValue {type: 内部绘制,minValue: 200,maxValue: 750 } // 原本的绘图数据 let seriesData [820, 932, 901, 934, 1290, 1330, 1320] let minData Array.from({length: seriesData.len…...

flink checkpoint时exact-one模式和atleastone模式的区别

背景: flink在开启checkpoint的时候有两种模式可以选择,exact-one和atleastone模式,那么这两种模式有什么区别呢? exact-one和atleastone模式的区别 先说结论:exact-one可以完全做到状态的一致性,而atle…...

QEMU 仿真RISC-V freeRTOS 程序

1. 安裝RISC-V 仿真環境 --QEMU 安裝包下載地址: https://www.qemu.org/ 安裝命令及安裝成功效果如下所示, target-list 設定爲riscv32-softmmu, $ cat ~/project/qemu-8.0.4/install.sh sudo apt-get install libglib2.0-dev sudo apt-get install libpixman-1-dev ./co…...

用大白话来讲讲多线程的知识架构

感觉多线程的知识又多又杂,自从接触java,就在一遍一遍捋脉络和深入学习。现在将这次的学习成果展示如下。 什么是多线程? 操作系统运行一个程序,就是一个线程。同时运行多个程序,就是多线程。即在同一时间&#xff0…...

【uniapp】微信小程序 , 海报轮播图弹窗,点击海报保存到本地,长按海报图片分享,收藏或保存

uivew 2.0 uniapp 海报画板 DCloud 插件市场 第一步&#xff0c;下载插件并导入HbuilderX 第二步&#xff0c;文件内 引入 海报组件 <template><painter ref"haibaorefs"></painter> <template> <script>import painter from /comp…...

SpringBoot与前端交互遇到的一些问题

一、XXX.jar中没有主清单属性 场景&#xff1a; SpringBoot打的jar包在Linux运行报错 解决方案&#xff1a; 百度找了很多都是一样的答案&#xff0c;但是解决不了我的问题&#xff0c;于是我新建了一个springboot项目发现打的jar包可以在Linux上运行。检查了下只要把下面这2个…...

Maven介绍与配置+IDEA集成Maven+使用Maven命令

目录 一、Maven简介 二、配置环境变量 三、IDEA集成Maven 1.配置本地仓库地址 2.集成Maven 3. pom.xml文件介绍 四、Maven命令 jar包太多、jar包相互依赖、不方便管理、项目编译还需要jar包&#xff0c;Maven工具来帮你&#xff01; 一、Maven简介 Maven 是 Apache 软…...

毕业设计题目源码-毕业论文参考

目录 java语言ssm框架springboot框架微信小程序jspservletmysqljspservletsqlserverssh框架springmvc框架oracle无数据库 C#/asp/net语言B/S结构 浏览器模式C/S结构 窗体模式 安卓/androidapp 客户端appweb 客户端服务端 php语言php java语言 ssm框架 题目ssm828基于java的珠…...

SSH报错-Terminal shell path: C:\WINDOWS\System32\cmd.exe 此时不应有

最近接盘了实验室的工作&#xff0c;需要重新配置连接自己的VScode的SSH远程连接服务器&#xff0c;结果配置了一个下午都没搞好&#xff0c;决定记录一下&#xff0c;希望大家避免踩坑。在vscode上遇到的是这个报错&#xff1a; 错误日志 [11:40:12.097] Checking ssh with …...

Docker 轻量级可视化工具Portainer

1. 是什么 Portainer 是一款轻量级的应用&#xff0c;它提供了图形化界面&#xff0c;用于方便地管理Docker环境&#xff0c;包括单机环境和集群环境。 2. 安装 2.1 官网 https://www.protainer.io/ https://docs.portainer.io/ce-2.9/start/install/server/docker/linux 2.2 …...

站点平台技术架构

系统架构部署思维导图 平台模块分配&#xff1a; 1.账号模块 2.权限模块 3.站点模块 4.配置模块 5.系统升级 6.日志模块 一、前期工作 1.系统保持一致性方案&#xff1a; GIT版本控制&#xff1a;通过总控端向租户端发送一个更新同步请求&#xff0c;租户端收到请求后执行GI…...

一个以太坊合约的漏洞分析-重入攻击

请找出下列合约漏洞&#xff0c;并说明如何盗取ContractB 中的数字资产&#xff0c;并修复合约。中说明&#xff1a;ContractB 的contract_a接口为ContractA 地址 pragma solidity ^0.8.21; interface ContractA {function get_price() external view returns (uint256); }int…...

测试先行:探索测试驱动开发的深层价值

引言 在软件开发的世界中,如何确保代码的质量和可维护性始终是一个核心议题。测试驱动开发(TDD)为此提供了一个答案。与传统的开发方法相比,TDD鼓励开发者从用户的角度出发,先定义期望的结果,再进行实际的开发。这种方法不仅可以确保代码满足预期的需求,还可以在整个开…...

如何用Dockerfile部署LAMP架构

目录 构建LAMP镜像&#xff08;Dockerfile&#xff09; 第一步 创建工作目录 第二步 编写dockerfile文件 Dockerfile文件配置内容 第三步 编写网页执行文件 第四步 编写启动脚本 第五步 赋权并且构建镜像 第六步 检查镜像 第七步 创建容器 第八步 浏览器测试 构建LA…...

基于量子粒子群算法(QPSO)优化LSTM的风电、负荷等时间序列预测算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

SQL Server软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 SQL Server是一种关系型数据库管理系统&#xff0c;由美国微软公司开发。它被设计用于存储、管理和查询数据&#xff0c;被广泛应用于企业级应用、数据仓库和电子商务等场景。 以下是SQL Server软件的主要特点和功能&#xff1…...

基于Django的博客管理系统

1、克隆仓库https://gitee.com/lylinux/DjangoBlog.git 若失效&#xff1a;https://gitee.com/usutdzxy/DjangoBlog.git 2、环境安装 pip install -Ur requirements.txt3、修改djangoblog/setting.py 修改数据库配置&#xff0c;其他的步骤就按照官方文档。 DATABASES {def…...

windows系统依赖环境一键安装

window系统程序依赖库&#xff0c;可以联系我获取15958139685 脚本代码如下&#xff0c;写到1. bat文件中&#xff0c;双击直接运行&#xff0c;等待安装完成即可 Scku.exe -AVC.exe /SILENT /COMPONENTS"icons,ext\reg\shellhere,assoc,assoc_sh" /dir%1\VC...

centos7安装nacos

解决 Nacos 国内下载速度缓慢的问题 方案 1. 选择相应的版本源码下载 1.1 依次点击 1、2、3 选中我们的最新稳定版本 1.4.0 1.2 点击下载 ZIP、或者 clone 也行&#xff0c;这里都可以 2. 本地编译 2.1 预备环境准备 2.2 解压编译 3. 启动验证 3.1 解压 3.2 启动服务器 3…...

【python】python智能停车场数据分析(代码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…...

如何使用Redis来防止穿透、击穿和雪崩问题

推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 「java、python面试题」…...

以getPositionList为例,查找接口函数定义及接口数据格式定义

job-app-master/pages/index/index.vue中299行 async getPositionList(type refresh, pulldown false) {this.status 请求中;if (type refresh) {this.query.page 1;} else {this.query.page;}let res await this.$apis.getPositionList(this.query);if (res) {if (type …...

一生一芯8——在github上添加ssh key

为在github上下载代码框架&#xff0c;这里在github上使用ssh key进行远程连接&#xff0c;方便代码拉取 参照博客https://blog.csdn.net/losthief/article/details/131502734 本机 系统ubuntu22.04 git 版本2.34.1 本人是第一次配置&#xff0c;没有遇到奇奇怪怪的错误&…...

2023年6月电子学会Python等级考试试卷(一级)答案解析

青少年软件编程(Python)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 可以对Python代码进行多行注释的是?( ) A. #...

ppt如何转pdf文档?用这个方法可将ppt转pdf

在现代社会中&#xff0c;PPT(幻灯片)已成为一种常见的演示工具&#xff0c;被广泛应用于学术、商务、培训等领域。然而&#xff0c;PPT文件的使用和分享存在一些问题&#xff0c;例如文件格式不兼容、内容修改易被篡改等。为了解决这些问题&#xff0c;将PPT转换为PDF格式已成…...

Hope.money:新兴DeFi项目如何重新定义稳定币生态的未来?

联储加息导致金融市场紧缩&#xff0c;Terra、3AC、FTX等知名中心化机构未能妥善应对而暴雷&#xff0c;并重创了整个加密货币市场&#xff0c;导致参与者损失惨重。这些事件揭示了中心化机构的局限&#xff0c;投资者对其资产掌控权的担忧愈发强烈。 自2018年首个DeFi协议Com…...

使用 S3 生命周期精确管理对象生命周期

在亚马逊工作这些年,我发现 S3 的生命周期配置是管理对象生命周期的重要但复杂的工具。在这篇文章中,我将利用实战经验,深入剖析生命周期,从核心概念到实际应用。 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活…...

北京住房建设部网站/网建

我在多线程应用程序中使用本地时间我必须用一个线程安全的版本来替换它&#xff0c;我知道这个版本叫做Localtime但是&#xff0c;在执行此操作时&#xff0c;由于链接失败&#xff0c;我无法完成生成我甚至不知道从哪里开始寻找解决方案我的系统组件是:我假设(虽然我不确定)这…...

amazon wordpress/沈阳专业网站seo推广

当两个人的感情破裂之后&#xff0c;可能会走向离婚的地步&#xff0c;这时是需要处理财产问题的&#xff0c;比如说房产怎么分配&#xff0c;谁获得产权&#xff0c;如何补偿对方等等&#xff0c;那么民法典离婚怎么判决无产权证房产呢?小编已经整理了如下的内容供大家做法律…...

网站空间商是什么意思/运营推广

源地址 https://blog.csdn.net/sunshinewave/article/details/39155755动态库与静态库优缺点比较(2012-10-18 15:31)我们在编写一个C语言程序的时候&#xff0c;经常会遇到好多重复或常用的部分&#xff0c;如果每次都 重新编写固然是可以的&#xff0c;不过那样会大大降低工作…...

商城网站怎么做内链/百度竞价广告点击器

CSS 概述CSS 指层叠样式表 (Cascading Style Sheets)&#xff0c;用于定义如何显示 HTML 标签&#xff0c;进行美化页面&#xff0c;css通常存储在样式表中。css有三种存在方式标签内联、页面嵌入和外部引入&#xff0c;比较三种方式的优缺点。在标签中使用 stylexx:xxx; 在…...

mac 阿里云 wordpress/大数据培训包就业靠谱吗

linux命令大全一文搞定Linux必备命令 工作了几年&#xff0c;总结了Linux必备命令及相应命令的使用方法&#xff0c;点击下方【Linux命令】&#xff0c;可知使用方法&#xff1a; www.Linux命令.com...

wordpress 房产模板/cms

七.CephFS 使用 ceph FS 即ceph filesystem,可以实现文件系统共享功能,客户端通过ceph 协议挂载并使用ceph 集群作为数据存储服务器。 Ceph FS 需要运行Meta Data Services(MDS)服务,其守护进程为ceph-mds,ceph-mds 进程管理与cephFS 上存储的文件相关的元数据,并协调对c…...