【期末考试】数据库综合复习宝典
目录
第一章 数据库系统概述
第二章 关系代数
第四章 关系数据库理论
第五章 数据库设计
第六章 数据库管理系统
第八章 事务管理
第一章 数据库系统概述
1.1三级模式
①外模式:它为特定的应用程序或用户群体提供了一个数据视图,这个视图是独立于数据库其他用户的。
②概念模式:由数据库管理员使用SQL语句(DDL)来定义的表,供数据库管理员使用。
③内模式:数据在数据库内部的物理结构和存储方式,说明了数据如何在存储介质上存储。
1.2 两级映射
①外模式-概念模式的映射:当概念模式(表)发生变化时,通过修改映射关系(视图-表),可以使得外模式保持不变,从而应用程序也不需要改变,体现了逻辑独立性。
②概念模式-内模式的映射:保证了物理独立性,即数据库的存储结构发生变化时,不会影响到应用程序。数据库管理员可以在表结构不变的情况下,修改内模式。
第二章 关系代数
第四章 关系数据库理论
4.1 如何求属性集闭包?
依据:根据公理系统的自反律(X决定自身的子集)、传递律(A--->B、B---->C可以得出A--->C)可以求解属性集的闭包。
4.2如何求最小函数依赖集?
原则:右(右边分解为单一属性)、中(去本求包)、左(左边最小化)
4.3 如何求候选码?
①给定关系模式R (U, F)。将R的所有属性分为L, R, LR和N四类。其中
L表示属性只在函数依赖左边出现:
R表示属性只在函数依赖右边出现;
LR表示属性既在左边出现,又在右边出现;
N表示函数依赖左右都未出现。
②令X=L U N, Y=LR求X的闭包,若X的闭包包含了R表的所有属性,则X为R的唯一候选码,转(5) 。
tip: 因为X已经是R表的候选码了,所以X再与Y中的每个属性组合的闭包肯定也等于属性全集U此时所求的候选码就是超码。属于多余的,因此没必要在求(XA)。
③Y中选取任意一个属性A,求(XA)的闭包,若它包含了R的全部属性,则是候选码。调换属性,反复进行这个过程,直到试完Y中的所有属性。
④如果已找出所有的候选码,转(5) ,否则在Y中后面依次选取2个属性,3个属性,.... 求他们的闭包,若其闭包包含R的全部属性, 则是候选码。
⑤结束算法,输出候选码。
4.4 如何将关系模式分解成3NF范式?
步骤:
1、求F的最小函数依赖集,合并左边相同的函数依赖(依据合并性)。
2、将最小函数依赖集中每个函数依赖组成一个表。
3、如果构成的各表中没有一个表中包含R的某个候选键,就选取R表中的一个后选键作为一张表放入模式集中(求最小依赖集F的候选码)。
4.5 如何判断表满足第几范式?
1NF范式: 表中每个单元格都是不能在分割的最小单元(横平竖直)
2NF范式:表中不存在非主属性(普通列)对候选码的部分函数依赖,而是对候选码的完全函数依赖。
3NF范式:表中不存在非主属性列对候选码的传递函数依赖(没有中间属性)。
BCNF范式:表中所有函数依赖都写出来,如果函数依赖集各元素左边都包含候选码则此表满足BCNF范式。
第五章 数据库设计
5.1 E-R图
5.2 E-R图转换为关系模式
总结:
①一个实体对应一张表,表的属性就是与实体相连的属性。
②所有联系都可以独立作为一张表,其属性由“两端实体主码+自身属性”,主码因联系类型不同而异。
③1:1、1:n的联系都能合并,合并后的表属性由“加入到表的属性+另端主码+联系自身属性”。其合并后表的主码为:加入到的实体表中的主码。
- 1:1
联系独立作为一张表: 两端相连实体主码+联系自身属性。
主码:从两端实体的主码中任选一个作为关系表的主码。
联系与其他表合并:另端实体主码+联系自身属性,放到要加入到的表中。
主码:加入表的主码
- 1:N
联系独立:两端相连实体的主码+联系自身属性。
主码:N端主码作为独立表的主码
联系合并到N端表中:另端实体主码+联系自身属性。
主码:加入表的主码。即N端的主码作为表的主码
- N:M
联系只能独立单独作为一张表,其表的属性由“联系两端相连实体的主码+联系自身属性”。其表的主码为:两端实体的主码组合在一起共同作为联系表的主码。
第六章 数据库管理系统
6.1 查询优化
基本原则:尽量减少查询过程中的中间结果,从而以较少的时间和空间开销取得所需的查询结果。
优化策略:
①尽可能先做选择运算,允许的情况下在优先执行投影。
②将先笛卡尔积后选择的查询转化为连接运算。
③把投影运算和选择运算同时进行。
④让投影运算与其前后的其它运算同时进行。
⑤在执行连接前先对关系做适当的预处理,如:在连接属性上建立索引。
第八章 事务管理
8.1 什么是事务
为了满足特定的需求而由一系列数据库操作的SQL语句组成的集合。这些SQL操作语句要么全部执行成功,要么全部执行失败(微信转账)。
8.2 封锁
所谓封锁就是事务T在对数据对象操作之前如:表、记录先对其进行加锁。加锁后事务T就会对数据对象有一定的控制,而在事务T释放掉数据对象的锁前不允许其它事务对数据对象进行操作了(类似Java中的文件锁)。
①排它锁:事务T在对数据对象加X锁后,只有事务T可以对数据对象进行读、写。其它事务无法对数据对象在进行加锁,也不能读、写此数据对象。
②共享锁:事务T在对数据对象加S锁后,不管是其本身还是其它事务都只能对数据对象只读而无法写入,其它事务可以在对数据对象加S锁但不能加X锁。
相关文章:

【期末考试】数据库综合复习宝典
目录 第一章 数据库系统概述 第二章 关系代数 第四章 关系数据库理论 第五章 数据库设计 第六章 数据库管理系统 第八章 事务管理 第一章 数据库系统概述 1.1三级模式 ①外模式:它为特定的应用程序或用户群体提供了一个数据视图,这个视图是独立于…...

OpenHarmony南向之LCD显示屏
OpenHarmony南向之LCD显示屏 概述 LCD(Liquid Crystal Display)驱动,通过对显示器上下电、初始化显示器驱动IC(Integrated Circuit)内部寄存器等操作,使其可以正常工作。 HDF Display驱动模型 LCD器件驱…...
核心笔记-短篇
接口管理平台:yapi 对象拷贝:Spring Bean 提供的 BeanUtils;hutool-core 提供的 BeanUtil 获得用户设备的信息:导入 UserAgentUtils 依赖;创建 UserAgent 对象使用 加密工具:DigestUtils,Spring Core 提供,静态方法:md5DigestAsHex(byte[]) 客户端编程工具包:HttpCli…...
系统学习Python——警告信息的控制模块warnings:为新版本的依赖关系更新代码
分类目录:《系统学习Python》总目录 在默认情况下,主要针对Python开发者(而不是Python应用程序的最终用户)的警告类别,会被忽略。 值得注意的是,这个“默认忽略”的列表包含DeprecationWarning(…...
爬虫的基本原理
基本原理 可以把网页与网页之间的链接关系比作节点中的连线,爬虫可以根据网页中的关系获取后续的网页,当整个网站涉及的页面全部被爬虫访问到后,网站的数据就被访问下来了。 1.爬虫概述 简单点讲,爬虫就是获取网页并提取和保存信…...

MySQL核心SQL
一.结构化查询语言 SQL是结构化查询语言(Structure Query Language),它是关系型数据库的通用语言。 SQL 主要可以划分为以下 3 个类别: DDL(Data Definition Languages)语句 数据定义语言,这…...

关于 setData 同步异步的问题
小程序官方文档中的回答解释: 所以大概意思就是: 1.setData在逻辑层的操作是同步,因此this.data中的相关数据会立即更新,比如下面的例子: const a 1 this.setData({b: a ? a : , }) console.log(that.data.b) // 1 2. setData在视图层的操作是异步,…...
Centos创建一个Python虚拟环境
在 CentOS 上创建一个 Python 虚拟环境,可以使用 virtualenv 工具。以下是创建和激活虚拟环境的基本步骤: 1.安装virtualenv 如果还没有安装 virtualenv,可以使用以下命令安装: sudo yum install python3-virtualenv请注意&…...

怎么使用好爬虫IP代理?爬虫代理IP有哪些使用技巧?
在互联网时代,爬虫技术被广泛应用于数据采集和处理。然而,在使用爬虫技术的过程中,经常会遇到IP被封禁的问题,这给数据采集工作带来了很大的困扰。因此,使用爬虫IP代理成为了解决这个问题的有效方法。本文将介绍如何使…...

C#,字符串匹配算法(模式搜索)Z算法的源代码与数据可视化
Z算法也是模式搜索(Pattern Search Algorithm)的常用算法。 本文代码的运算效果: 一、Z 算法 线性时间模式搜索算法的Z算法,在线性时间内查找文本中模式的所有出现。 假设文本长度为 n,模式长度为 m,那么…...

强化学习actor-critic
...

使用推测解码 (Speculative Decoding) 使 Whisper 实现 2 倍的推理加速
Open AI 推出的 Whisper 是一个通用语音转录模型,在各种基准和音频条件下都取得了非常棒的结果。最新的 large-v3 模型登顶了 OpenASR 排行榜,被评为最佳的开源英语语音转录模型。该模型在 Common Voice 15 数据集的 58 种语言中也展现出了强大的多语言性…...
pi gpio 内存映射
树霉pi gpio内存映射 #include <stdio.h> #include <fcntl.h> #include <sys/mman.h> #include <unistd.h> #include <stdlib.h>#define BCM2835_PERI_BASE 0x20000000 #define GPIO_BASE (BCM2835_PERI_BASE 0x200000) #define PAGE_SIZE…...

[NAND Flash 6.2] NAND 初始化常用命令:复位 (Reset) 和 Read ID 和 Read UID 操作和代码实现
依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 把下文中的字母和数字用`包起来, 中文不变。 全文 4400 字,主要内容 复位的目的和作用? NAND Reset 种类:FFh, FCh, FAh, FDh 区别 Reset 操作步骤 和…...

Multimodal Prototypical Networks for Few-shot Learning
tcGAN is provided with an embedding ϕ T \phi_T ϕT() of the textual description 辅助信息 作者未提供代码...

软件测试|Python requests库的安装和使用指南
简介 requests库是Python中一款流行的HTTP请求库,用于简化HTTP请求的发送和处理,也是我们在使用Python做接口自动化测试时,最常用的第三方库。本文将介绍如何安装和使用requests库,以及一些常见的用例示例。 安装requests库 首…...

HarmonyOS应用开发学习笔记 应用上下文Context 获取文件夹路径
1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器:定义组件重用样式 Extend装饰器:定义扩展组件样式 5、HarmonyOS 应用开发…...
http状态码对照表
状态码含义100客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。…...
金三银四-JVM核心知识高频面试题
又要快到一年一度的金三银四,开始复习啦~! 每天一点点。。 目录 一、JVM中的垃圾收集器有哪些,它们的工作原理是什么? 二、JVM中的类加载器有哪些,它们各自的作用是什么? 三、JVM中垃圾回收的…...

【GitHub项目推荐--谷歌大神又一开源代码调试神器】【转载】
如果调试是 Debug 的必经之路,那么编程应该将它考虑在内。今天我就和大家分享一个代码调试神器 - Cyberbrain。 Cyberbrain是一个免费开源的 Python 代码调试解决方案,它可视化程序执行以及每个变量的变化方式,让程序员免受调试之苦。主要具有…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...