软件设计师-基础知识科目-数据库技术基础识9

九、数据库技术基础识:

数据库设计阶段:

  • 需求分析阶段 -> 确定系统边界。
  • 逻辑设计阶段 -> 关系规范化分。

数据库三级模式和两层映射:

三级模式:

  • 外模式、概念模式(也称模式)、内模式(也称存储模式)。
  • 视图对应外模式、基本表对应模式、存储文件对应内模式。
  • 一个数据库可以有多个外模式,只能有一个内模式。

两级映像:

  • 模式/内模式映像:该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。
  • 外模式/模式映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。
  • 两级映像功能保证了数据的独立性。数据独立性包括数据的物理独立性(模式/内模式映像)和数据的逻辑独立性(外模式/模式映像)。

五种基本的关系代数运算:

  • 并集:∪ 交集:∩ 广义笛卡尔积:x 投影:π 选择:σ
  • 投影:展示一个属性列或多个属性列数据。
  • 选择:展示一行或多行数据。 选择条件是中文时,有单引号。σ name='张三'
  • 链接:S1与S2合并,相同属性列合并。
  • 笛卡尔积与连接的区别:不会去掉重复的列。
  • 逻辑运算符要知道。
  • Tips:除不考。

链接:

  • 自然连接:是一种特殊的等值连接,它要求两个关系中,进行比较的分量必须是相同的属性组,并且在结果集中将重复的属性列去掉。
    • {(2,1,4,8) , (3,4,4,4)}
  • 左外连接:是取出左侧关系中,所有与右侧关系中任一元组都不匹配的元组,用空值 NULL 充填所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。
    • {(1,2,3,null) , (2,1,4,8) , (3,4,4,4) , (4,6,7,null)}
  • 右外连接:是取出右侧关系中,所有与左侧关系中任一元组都不匹配的元组,用空值 NULL 充填所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
    • {(1,9,1,null) , (2,1,4,8) , (3,4,4,4) , (4,8,3,null)}
  • 全外连接:完成左外连接和右外连接。即填充左侧关系中与右侧关系中任一元组都不匹配的元组,并填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中。
    • {(1,2,3,null) , (1,9,1,null) , (2,1,4,8) , (3,4,4,4) , (4,6,7,null) , (4,8,3,null)}

码:

  • 候选码:属性或属性组合,值可以唯一标识一个元组。有多个候选码时,选择一个即可。
  • 全码(All-key):关系模式的所有属性组合构成主键。

属性闭包计算:

例1:

  • 如何挑选关键字,判断候选码:
    • step1:找出F函数中,箭头右边的所有元素,它们都是被决定(下图中:B、D、H、E);
    • step2:与U属性集的元素做差集,剩余的元素一定是候选码的一部分(A、C);
    • step3:对差集部分元素,做属性闭包计算,看是否可以推导出全部元素;
    • step4:不能完全推导,增加元素后,继续做闭包计算

例2 例3:

范式:

判断非主属性对码的部分函数依赖技巧:

  • 考题中,一般都已经满足第一范式,是原子的和不可再分。
  • 首先找出候选码。
  • 考题中,如果存在如下关系,是存在部分函数依赖,即不满足第二范式。
    • EM:为候选码。E->N、M->L

判断非主属性对码的传递函数依赖技巧:

  • 合并规则、伪传递率、分解规则
  • 先找候选码,如果符合3条推理规则,证明非主属性对码存在传递函数依赖。

E-R图:

  • 属性冲突:是指属性值的类型,取值范围或取值集合不同。比如:“零件号”有的定义为字符型,有的为数值型。
  • 命名冲突:就是不同的意义对象名称相同。或者,相同的意义不同的名称。
  • 结构冲突:是指同一对象在不同应用中具有不同的抽象。比如,“课程”在某一局部应用中被当做实体,而在另一局部应用中被当做属性。

数据库小点:

  • 数据库视图,在数据字典中存储的是视图的定义。
  • Armstroog 公理:

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

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

相关文章

新员工入职培训时长缩短36%!智能陪练产品再升级

诸多预测认为,2024 年将成为国内大模型产业应用爆发的元年。中关村科金作为领先的对话式 AI 技术解决方案提供商,自主研发的智能陪练产品,以学、练、考、培一体化的方式,为企业提供全方位的综合培训服务。 借助大模型技术方面的突…

视频号小店新商机逐渐爆发,高门槛仍挡不住商家前进的脚步!

大家好,我是电商花花。 不知道大家有没有发现一件很有意思的事情,就是现在有越来越多的商家涌入抖音小店,部分商家还是想在视频号小店里博一丝机会。 我们都知道视频号小店是除了抖音小店之外,最火热的项目了,部分商…

19(20)-1(3)-CSS3 平面 2D 变换+CSS3 过渡

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍一、CSS3 平面 2D 变换💎1 坐标轴💎2 transform 语法…

KubeSphere 社区双周报|2024.03.29-04.11

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2024.03.29-04.11…

C/C++ 入门(5)内存管理

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 欢迎指教! 目录 一、内存分布 二、C中动态内存管理 new delete 三、C语言的动态内存管理 四、operator new 和operator delete函数 operator new operator delete 五、new和delete的…

细胞世界:4.细胞分化(划区域)与细胞衰老(设施磨损)

(1)细胞凋亡 1. 概念:细胞凋亡可以比作城市的规划者主动拆除某些建筑来更新城市或防止危险建筑对市民的潜在伤害。这是一个有序的过程,由城市(细胞内部)的特定规划(基因)所决定。 2. 特征:细…

简述Kafka的高可靠性

什么叫可靠性? 大家都知道,系统架构有三高:「高性能、高并发和高可用」,三者的重要性不言而喻。 对于任意系统,想要同时满足三高都是一件非常困难的事情,大型业务系统或者传统中间件都会搭建复杂的架构来…

2024 年 AI代码助手AI Coding Assistant智能工具

AI代码助手(AI Coding Assistant)是一种利用人工智能帮助开发人员更快、更准确地编写代码的软件工具。 它可以通过根据提示生成代码或在你实时编写代码时建议自动完成代码来实现此目的。 以下是AI代码助手可以做的一些事情: 与你使用的流行代…

PointNet++函数square_distance(src, dst):计算两组点之间的欧式距离(代码详解)

文章目录 一、计算两组点之间的欧式距离二、举例三、中间结果输出 一、计算两组点之间的欧式距离 def square_distance(src, dst):"""Calculate Euclid distance between each two points.src^T * dst xn * xm yn * ym zn * zm;sum(src^2, dim-1…

STM32的位操作(相当于51单片机的sbit)

经过一段时间的学习,今天发现STM32的单个端口都有一个32位的地址,这样就可以把这个地址给找出来,进行单个位的操作了,这也没有什么好说的,直接复制粘贴就好了,用到的时候过来复制直接使用就行了。虽然看着挺…

macU盘在电脑上读不出来 u盘mac读不出来怎么办 macu盘不能写入 Tuxera NTFS for Mac免费下载

对于Mac用户来说,使用U盘是很常见的操作,但有时候可能会遇到Mac电脑无法读取U盘的情况,这时候就需要使用一些特定的工具软件来帮助我们解决问题。本文就来告诉大家macU盘在电脑上读不出来是怎么回事,u盘mac读不出来怎么办。 一、m…

解决redis乱码问题

目录 1.问题 2.查看redis序列化机制 3.设置redis的序列化器 1.问题 在使用redis最为缓存时,发现key乱码问题 这是由于redis的序列化机制导致的 2.查看redis序列化机制 3.设置redis的序列化器 Configuration Data public class RedisConfig {/*** redis序列化*…

蓝桥杯 2019 省A 糖果 动态规划/二进制

#include <bits/stdc.h> // 包含标准库中的所有头文件 using namespace std;int main() {int n,m,k; // 定义变量n&#xff08;糖果包数&#xff09;、m&#xff08;口味数&#xff09;、k&#xff08;每包糖果的个数&#xff09;cin>>n>>m>>k; // 输入…

探索工业AI智能摄像机的卓越性能!

​ 在当今快速发展的工业智能化领域&#xff0c;上海晶珩的工业AI智能摄像机系列以其卓越的性能和多功能性在国内外备受关注&#xff08;文末有国外工程师的评测链接&#xff09;。搭载Raspberry Pi CM4支持的ED-AIC2000和ED-AIC2100系列旨在广泛应用&#xff0c;涵盖从简单的条…

React之基础项目搭建

前言 React的生态系统非常庞大&#xff0c;拥有大量的第三方库和工具&#xff0c;如React Native&#xff08;用于构建原生移动应用&#xff09;、Next.js&#xff08;用于构建服务器渲染应用&#xff09;、Create React App&#xff08;用于快速搭建React应用的脚手架&#x…

工业数据采集平台:从起源到崛起的辉煌历程

关键词&#xff1a;工业数据采集平台, 工业数据采集, 工业数据采集分析,智能化 在当今数字化的时代&#xff0c;工业领域也在经历着深刻的变革。而工业数据采集平台的发展历程&#xff0c;正是这场变革中的重要篇章。 回首过去&#xff0c;工业数据采集曾是一个繁琐而复杂的过…

整数划分(计数类dp)-java

整数划分我们主要通过两种思路来对这道题就行解决。 文章目录 前言 一、整数划分 二、模拟完全背包 三.代码如下 1.代码如下 2.测试样例 3.代码运行结果 四、计数类dp 4.1算法思路 4.2代码如下 总结 前言 整数划分我们主要通过两种思路来对这道题就行解决。 提示&#xff1a;以…

15. 【Android教程】按钮 Button/ImageButton

在前面两章我们讲了 TextView&#xff0c;它是一个纯输出的控件&#xff1b;而 EditText 在 TextView 基础之上加入了简单的输入功能&#xff1b;今天要讲的 Button 是一个和用户互动感很强的控件&#xff0c;从今往后不再是单纯的文本展示&#xff0c;我们可以通过 TextView、…

智能汽车领域检测实验室数智化转型

随着汽车制造行业自主研发能力的提高&#xff0c;当前的汽车企业实验室不仅需要进行种类繁多的试验项目&#xff0c;同时还需要将试验过程中的试验结果、试验过程、报告文档等一系列重要数据进行统一管理。为了提升实验数据的安全性及应用性&#xff0c;青软青之通过软硬件结合…

Unity类银河恶魔城学习记录12-7-2 p129 Craft UI - part 2源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_CraftWindow.cs using UnityEngine.UI; using TMPro; using UnityEngin…