软件设计师-基础知识科目-数据库技术基础识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,一经查实,立即删除!

相关文章

Python实现植物大战僵尸

"植物大战僵尸" 是一个复杂的游戏,涉及到图形界面、游戏逻辑、音效、动画等多个方面。要用Python实现这样的游戏,你需要用到一些额外的库,比如pygame来处理图形和音效,numpy来处理游戏数据等。 以下是一个简单的示例&a…

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

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

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

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

C 共用体

共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。 定义共用体 为了定义共用体,您必须使用 u…

SpringBoot多数据源配置及使用

1.application.properties数据配置 首先现在配置文件中定义三个数据库相关信息 # 数据库1 targetLibraryMain.datasource.url jdbc:kingbase8://127.0.0.1:54321/DATA_ONE?useUnicodetrue&characterEncodingutf8&serverTimezoneGMT%2B8&allowMultiQueriestrue …

JavaScript核心基础(李立超2022版)

2022年李立超老师最新JavaScript基础主要内容包括: JS基本语法、变量、数据类型(原始值和类型转换等)、运算符、流程控制语句、对象、 函数(箭头函数、作用域、作用域链、高阶函数、闭包、递归等)、 面向对象(类、属性…

山 蓝桥杯 java

题目 这天小明正在学数数。 他突然发现有些正整数的形状像一挫 “山”, 比如 123565321、 145541123565321它 们左右对称 (回文) 且数位上的数字先单调不减, 后单调不增。 小朋数了衣久也没有数完, 他惒让你告诉他在区间 [2022,2022222022] 中有 多少个数的形状像一座 “山”。…

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…

简单了解仿真测试

仿真测试是通过使用模型或者虚拟环境来模拟实际系统的行为和性能。它可以应用于各种领域,包括软件开发、工程设计、人工智能等等。 通常,仿真测试包括以下几个步骤: 确定测试目标: 首先确定要测试的系统或组件,并且明…

moment

文章目录 时间格式化 时间格式化 moment().format(YYYY-MM-DD HH:mm:ss)

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

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

Kafka概述

目录 1、为什么需要消息队列(MQ) 2、使用消息队列的好处 3、消息队列的两种模式 4、Kafka 定义 5、Kafka 简介 6、Kafka 的特性 7、Kafka 系统架构 8、Partation 数据路由规则 9、分区的原因 1、为什么需要消息队列(MQ) …

细胞世界: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序列化*…