【数据库】复习
数据库期中复习——概念填空_在修改数据结构时,为了保证数据库的数据独立性-CSDN博客
选择题
关系数据理论-数据库习题_数据库关系理论考题-CSDN博客
关系、关系模式、关系模型区别和联系
关系:元组的集合,一张表
关系模式:关系的描述 R(U,D,DOM,F)
关系模型:数据结构、数据操纵与完整性约束
关系和关系模式的区别
1.关系模式是型,关系是值,关系模式是对关系的描述
2.关系是关系模式在某一个时刻的状态或者内容,关系模式是静态的,稳定的,而关系是动态的,随时间不断变化的,因为关系操作在不断地更新着数据库中的数据
3.类似于面向对象程序设计中”类“与”对象“的区别。”关系“是”关系模式“的一个实例,可以把”关系”理解为一张带数据的表,而“关系模式”是这张数据表的表结构。关系模型和关系的区别
关系模型包含关系,关系是关系模型的数据结构,在关系模型中,现实世界的实体以及实体间的各级联系均用单一的结构类型,即关系来表示
数据模型由数据结构、数据操作和数据的完整性约束条件三部分组成
第七章
1.事务的概念及事务的4个特性
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做
ACID特性
事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)四大特性
2.数据库中为什么要进行并发控制?并发控制技术能够保证哪些特性?
数据库是共享资源,可以供多个用户使用,所以通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取或修改同一数据的情况。
若对并发操作不加以控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
并发控制技术能够保证事务的隔离性和一致性。3.并发操作可能会产生哪几种数据不一致问题?用什么方法能够避免各种不一致的情况?
(1)丢失修改
两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失
(2)不可重复读
事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果
(3)读脏数据
事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据
避免不一致的方法和技术就是并发控制。最常用的并发控制技术是封锁技术,还有在分布式数据库系统中采用时间戳方法来进行并发控制
第八章
1.数据库中为什么要进行数据库恢复?数据库恢复能够保证事务的哪些特性?
数据备份就是要保存数据的完整性,防止非法关键,断点,病毒感染等情况,使数据丢失
数据还原就是数据库出现错误或者是崩溃了不可以用,就把原来的数据恢复回来。提高系统的可用性和灾难可恢复性,在数据库系统崩溃的时候,可以恢复数据
使用数据库备份还原数据库是数据库崩溃时提供数据恢复最小代价的最优方案。没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段。
数据库恢复能够保证事务的原子性和持久性
一、简答题
1、2、10、11
二、关系代数
三、关系规范化理论
四、数据库设计
画E-R图,然后把E-R图转换成数据模型
五、SQL语言
一、简答题
1.什么事数据库管理系统?它有哪些功能?P5
DBMS
建立、运用和维护数据库时进行集中控制的软件系统
- 数据定义
- 数据组织、存储和管理
- 数据操纵
- 数据库的事务管理和运行管理
- 其他,通信、数据转换、互访和互操作
2.简述数据库系统的三级模式和两级映像结构,其如何保证数据的逻辑独立性和物理独立性 P28
模式、外模式、内模式
外模式/模式映像、模式/内模式映像
当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是根据数据的外模式编写的,从而应用程序不用修改,保证了数据与程序的逻辑独立性
当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据程序之间的物理独立性
3.简述关系模型的三类完整性规则及其内容 P45
实体完整性:主码中的属性不能取空
参照完整性:不引用不存在的实体,参照关系中的外码或者取空或者等于被参照关系中某个元组的主码值
用户定义的完整性规则反映某一具体应用涉及的数据必须满足的语义要求
4.简述数据库设计的六个阶段及每个阶段的主要工作 P209
- 需求分析:分析用户的需求,包括数据、功能和性能需求;
- 概念结构设计:主要采用E-R模型进行设计,包括画E-R图;
- 逻辑结构设计:将E-R图转换成表,实现从E-R模型到关系模型的转换;
- 数据库物理设计:主要是为所涉及的数据库选择合适的存储结构和存取路径;
- 数据库实施:包括编程、测试和试运行;
- 数据库运行与维护:系统的运行与数据库的日常维护
在数据库设计过程中,需求分析和概念结构设计可以独立于任何数据库管理系统进行,逻辑结构设计和物理结构设计与选用的数据库管理系统密切相关
5.简述事务的概念和四个特性。P293 并发控制能保证事务的哪些特性?P310
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位
ACID
- 原子性Atomicity
- 一致性Consistency
- 隔离性Isolation
- 持续次Durability
并发控制技术保证了事务的隔离性和一致性
二、关系代数语言
设有学生-课程-教学数据库,包含三个关系,分别为:S(S#,SNAME,SEX,AGE),C(C#,CNAME,TEACHER),SC(S#,C#,GRADE),试用关系代数表达式表达以下问题:
1.查询年龄AGE大于22的男同学的学号和姓名。
2.查询选修任课教师TEACHER是“李小明”课程的学生学号。
3.查询选修了课程C#为“C1”和“C2”课程的学生学号。
4.查询全部学生都选修的课程号与课程名。
三、关系规范化理论
关系模式R(员工编号,日期,零件数,部门名称,部门经理),表示某个工厂里每个员工的日生产零件数以及员工所在的部门和经理信息。假设每个员工每天只有一个日生产零件数,每个员工只在一个部门工作,每个部门只有一个经理。完成:
1.写出关系模式R的基本函数依赖和所有候选码
2.R是否为2NF,如果不是,把R分解为2NF
不是
(员工编号,日期)是码,存在非主属性(部门名称)对码的部分依赖 [员工编号--->部门名称]
分解:
R1(员工编号,日期,零件数)
R2(员工编号,部门名称,部门经理)
3.进一步将R分级为3NF
R1(员工编号,日期,零件数)
R2(员工编号,部门名称)
R3(部门名称,部门经理)
四、数据库设计题
某IT公司的数据库信息有:
部门:部门编号、部门名称、办公地点
员工:员工编号、姓名、级别
项目:项目编号、项目名称、开始时间、结束时间
一个员工只在一个部门工作;每个部门有唯一的一个员工作为部门经理;每个项目由一名员工负责,多名员工参与,一个员工只负责一个项目,可参加多个项目,在每个项目具有工作时间比。
1.试画出E-R图,并在图上注明属性、联系及联系类型
2.将E-R 图转换成关系模型,并说明主码和外码。
关系模型为:
部门(编号,名称,办公地点,经理编号),主码:编号,外码:部门的经理编号参照员工的编号;
员工(编号,姓名,级别,部门编号),主码:编号,外码:员工的部门编号参照部门的编号
项目(编号,名称,开始日期,结束日期,负责人编号),主码:编号,外码:项目的负责人编号参照员工的编号;
员工参与(员工编号,项目编号,时间比),主码:员工编号,项目编号;外码:员工编号、项目编号分别参照员工的编号、项目的编号。
五、SQL语言编程题
假设一个数据库中有3个关系:
客户关系Customer(CustomerID,CName,CA),属性的含义依次为客户号、客户名称和地址;
产品关系Products(ProductID,PName,Price,Provide,Storage),属性的含义依次为产品号、产品名、单价、供应商和库存量;
订单关系Orders(OrderID,CustomerID,ProductsID,Odate,QTY),属性的含义依次为订单号、客户号、产品号、日期和数量。
规定一张用户订单只能订购一种产品。用SQL语句完成以下各题:
1.建立Customers表、Orders表,要求定义主码和外码约束
create table Customers(CustomerID char(10) primary key,CName varchar(20),CA varchar(20)
);create table Orders(OrderID char(10) primary key,CustomerID char(10) foreign key references Customers(CustomerID),ProductID char(10) foreign key references Products(ProductID),Odate date,QTY int
);
2.往Products表中添加一条记录,产品号=‘1018’,产品名=‘洗衣机’,单价=1500,供应商=“海尔”,库存量=150
insert into Products values('1018','洗衣机',1500,'海尔',150);
3.更改Products表,将“洗衣机”产品的价格下浮10%
update Products set Price=Price*0.9 where PName='洗衣机';
4.删除Customers表地址中有“西安市”的客户信息
delete from Customers where CA like '%西安市%';
5.允许用户李小明对Orders表进行插入、删除操作
grant insert,delete on Orders to '李小明';
6.查询西安地区客户的订单情况
select * from Orders where CustomerID=(select CustomerID from Customers where CA like '%西安市%');
7.查询产品表中没有订单记录的产品信息
select * from Products where ProductID not in(select ProductID from Orders);
8.统计2019年12月30日的订单中每种产品的总数量
select sun(QTY) from Orders
where Odate='2019-12-30'
group by ProductID;
9.在订单表上建立触发器,当添加一条记录时,减少产品表中对应产品的库存量
create trigger trigger_insert
on Orders
after insert
as
uodate Products set Storage=Storage-inserted.QTY
from Products,inserted
where Products.ProductID=inserted.ProductID;
相关文章:
【数据库】复习
数据库期中复习——概念填空_在修改数据结构时,为了保证数据库的数据独立性-CSDN博客 选择题 关系数据理论-数据库习题_数据库关系理论考题-CSDN博客 关系、关系模式、关系模型区别和联系 关系:元组的集合,一张表 关系模式:关系的描述 R(…...
CorsConfig前后端数据跨域连接,IDEA右侧Maven窗口消失
前后端数据跨域连接(分页查询并显示) 一、后端添加分页查询 分页查询核心就是:每页需要显示多少条记录(pageSize),当前查看第几页(pageNum);MySQL提供了分页函数limit m,n select * from table limit (pageNum-1)*pageSize, pa…...
Python微博动态爬虫
本文是刘金路的《语言数据获取与分析基础》第十章的扩展,详细解释了如何利用Python进行微博爬虫,爬虫内容包括微博指定帖子的一级评论、评论时间、用户名、id、地区、点赞数。 整个过程十分明了,就是用户利用代码模拟Ajax请求,发…...
【设计模式】单例模式 在java中的应用
文章目录 引言什么是单例模式单例模式的应用场景单例模式的优缺点优点缺点 单例模式的基本实现饿汉式单例模式懒汉式单例模式双重检查锁定静态内部类枚举单例 单例模式的线程安全问题多线程环境下的单例模式线程安全的实现方式1. **懒汉式单例模式(线程不安全&#…...
burp suite 8
声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…...
为什么在Java中super与this不能共存于子类构造器中,其中this起什么作用
在 Java 中,super 和 this 是两个关键字,它们在子类的构造器中有特定的用途和限制。 super 关键字: super 用于从父类(超类)访问成员(属性和方法)或者调用父类的构造方法。 在子类的构造器中&…...
Hypothesis:高效的 Python 测试工具
简介:Hypothesis 是一个强大的 Python 测试库,旨在自动生成各种测试案例,以帮助开发者发现潜在的边界问题和隐藏的错误。通过对输入数据进行智能化的探索,Hypothesis 能够为测试提供更全面的覆盖,避免遗漏一些极端或不…...
Terminus Calculator 计算原理分享
在《使命召唤:黑色行动 6》僵尸模式中,Terminus 关卡的研究办公室里有一个复杂的数学谜题需要解决。为了获得多相共振器,玩家需要计算出三个数字并输入电脑。虽然可以花费 5000 精华来获得答案,但使用 Terminus Calculator 可以更…...
Wwise 使用MIDI文件、采样音频
第一种:当采样音频只有一个文件的时候 1.拖入MIDI文件到Interactive Music Hierarchy层级 2.拖入采样音频到Actor-Mixer Hierarchy层级 3.勾选MIDI显示出面板,设置Root Note与采样音频音高相同,这里是C#5 4.播放测试,成功&…...
在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案
在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案 背景概述解决方案脚本实现脚本说明使用指南注意事项在CentOS操作系统环境中,若需并发上传特定目录下的.wav文件至HTTP服务器,而系统未安装GNU parallel工具,我们可通过其他方法实现此需求。本文将介绍一种利用Sh…...
【RocketMQ 源码分析(一)】设计理念与源码阅读技巧
RocketMQ 的设计理念与源码阅读技巧 一、设计理念二、源码设计三、源码阅读技巧 一直想仔细仔细看看这个 RocketMQ 的源码,学学它的设计思想和编码风格,没准在以后自己在设计和编码的时候有思考的方向。这是专栏的第一篇 —— 介绍下 RocketMQ 的一些设计…...
独立ip服务器有什么优点?
网站的性能和安全性直接影响到用户体验和业务发,独立IP服务器作为一种主流的托管方式,因其独特的优势而受到许多企业和个人站长的青睐。与共享IP相比,独立IP服务器到底有哪些优点呢? 使用独立IP的用户不必担心与其他网站共享同一…...
如何使用Python库连接Redis
1、redis-py 库封装一个 Redis 工具类可以帮助我们简化 Redis 的操作并提高代码的复用性和可维护性。 安装redis pip install redisimport redis import logginglogging.basicConfig(levellogging.INFO) logger logging.getLogger(__name__)class RedisUtils:def __init__(s…...
Vant UI +Golang(gin) 上传文件
前端基本用法:点击查看 实现代码: const afterRead (file) > {console.log(file);//set content-type to multipart/form-dataconst formData new FormData();formData.append("file", file.file);request.POST("/api/v1/users/up…...
【Unity高级】如何实现粒子系统的间歇式喷射
先看下要最终实现的效果: 代码如下: using UnityEngine; using System.Collections;public class ParticleBurstController : MonoBehaviour {private ParticleSystem _particleSystem; // 获取粒子系统public float burstDuration 2f; // 每次…...
通过linux命令获取自选股票价格及大盘涨跌幅
技术发展与数据获取需求 互联网与金融数据融合:随着互联网的普及和金融市场的数字化发展,金融数据的获取和分析变得更加便捷和重要。投资者希望能够及时、准确地获取股票价格和市场指数等信息,以便做出合理的投资决策。Linux 作为一种强大的操作系统,为数据获取和处理提供…...
透彻理解并解决Mockito模拟框架的单元测试无法运行的问题
本篇的实例基于Maven IDE (VS Code) 运行 在VS Code 运行的时候, 不需要在pom.xml 中添加任何插件就可以在测试类中看到如下的绿色按钮,单击就可以运行使用Mockito 注解 ExtendWith(MockitoExtension.class) 或是 Mockito 代码方式的测试。 不使用注…...
vue3字典数据的显示问题(使用hooks解决)
我们在使用 element-plus的时候,经常会使用一些字典数据, 在搜索框的时候,字典数数要使用 el-select el-option 来显示,当在table表格的时候,我们通常记录的是 字典数据的id , 又要把它改变成 字典数据的 name 属性 因…...
Elasticsearch 单节点安全配置与用户认证
Elasticsearch 单节点安全配置与用户认证 安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问 。在使用 Elasticsearch 构建搜索引擎或处理大规模数据时,需要启用基本的安全功能来防止未经授权的访问。本文将通过简单的配置步骤,为单节…...
二分查找(带图详解)
优选算法系列 文章目录 优选算法系列前言一、二分查找的思想二、算法使用小总结 三、代码实现四、二分查找拓展4.1、查找第一次出现的target小总结 4.2、target最后出现的位置小总结 五、代码总结 前言 在这篇博客中,我会给大家分享二分查找及其扩展。 这是链接-&…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...


