数据库系统概论期末经典大题讲解(用关系代数进行查询)
今天也是结束的最为密集的考试周,在分析过程中自己也有些许解题的感悟,在此分享出来,希望能帮到大家期末取得好成绩。
一.专门的关系运算
1.选择(σ)
选择操作符用于从关系中选择满足特定条件的元组
例如,σ 年龄>20 (学生) 表示选择学生表中年龄大于20的学生(默认取出全部信息)
eg:
下方是一个标准的学生表:
| 学生 | ||||
| Sno | Sname | Ssex | Sage | Sdept |
| 98010 | 张三 | 男 | 20 | 计算机系 |
| 99001 | 张敏 | 女 | 20 | 数学系 |
| 99002 | 刘丰 | 男 | 21 | 信息系 |
| 99003 | 王翔 | 男 | 19 | 计算机系 |
| 99004 | 陆逸 | 女 | 18 | 信息系 |
| 99006 | 陈敏 | 女 | 18 | 数学系 |
| 99007 | 扬阳 | 女 | 18 | 计算机系 |
| 99008 | 谷正 | 男 | 17 | 数学系 |
接下来我们用关系代数表示在学生课程数据库中查询计算机系的全体学生的操作 :
σSdept= ‘计算机系’ (学生) 或者 σ5= ‘计算机系’ (学生) 5代表第五列。
我们经常去选择第一种写法。
选择完后的结果如下:

2.投影(π)
投影操作符用于从关系中选择指定的属性 (即选择指定的列)
例如,π 学号,姓名 (学生) 表示选择学生表中的学号和姓名属性
eg:
| 学生 | ||||
| Sno | Sname | Ssex | Sage | Sdept |
| 98010 | 张三 | 男 | 20 | 计算机系 |
| 99001 | 张敏 | 女 | 20 | 数学系 |
| 99002 | 刘丰 | 男 | 21 | 信息系 |
| 99003 | 王翔 | 男 | 19 | 计算机系 |
| 99004 | 陆逸 | 女 | 18 | 信息系 |
| 99006 | 陈敏 | 女 | 18 | 数学系 |
| 99007 | 扬阳 | 女 | 18 | 计算机系 |
| 99008 | 谷正 | 男 | 17 | 数学系 |
在学生课程数据库中,查询学生的姓名和所在系 :
3.连接(⋈)
连接操作符用于将两个关系进行连接,通常是在它们的公共属性上进行 (一个表不能够满足我的需求)
例如,学生表和选课表可以通过学号进行连接,得到学生选课的信息
eg:
已知关系R, S如下: R
S 
求:
按照要求连接后的表格为:
连接的分类:
等值连接:
- 等值连接是基于两个关系中的属性之间的相等条件来进行连接的。具体来说,如果两个关系 R 和 S 中存在一个属性 A,使得 R.A = S.A,那么这两个关系就可以进行等值连接
- 等值连接的结果是一个新的关系,包含了满足等值条件的 R 和 S 的元组的组合
自然连接:
- 自然连接是基于两个关系中相同属性的相等条件来进行连接的。具体来说,自然连接会自动查找两个关系中相同属性名的属性,并根据这些属性进行等值连接
- 自然连接的语法通常表示为 R ⨝ S,其中 R 和 S 是要进行自然连接的两个关系
- 自然连接的结果是一个新的关系,包含了满足相同属性值的 R 和 S 的元组的组合,并且会自动去除重复的属性
等值连接和自然连接都是用于将两个关系进行连接操作的方法,它们的区别在于连接的条件和结果的属性
4.除法操作(÷)
R ÷ S 其中,R 和 S 分别是两个关系,R 的属性必须是 S 的属性的超集(全部所有才用÷)
例子:假设有两个关系:学生(学号,姓名)和选课(学号,课程名)。现在想要找出选修了所有课程的学生,可以使用除法操作符来实现:
学生 ÷ π 学号 (选课)
二.较为综合的例题
第一个
已知学生选课数据库模式:
- Student(Sno, Sname,Sage, Sdept)
- Course(Cno,Cname)
- SC(Sno,Cno,Score)
用关系代数进行如下查询:
选修了2号课程的学生的姓名?
计算机系有不及格课程的学生名单
学生张林的“数据库原理”成绩
查询选修了学号为“00002”的学生所选修的所有课程的学生学号和姓名
第二个
图书馆管理数据库
- 读者(读者编号, 姓名, 单位)
- 图书(书号, 书名, 作者, 出版社, 单价, 类型)
- 借阅记录(读者编号, 书号, 借阅日期, 应还日期)
- 还书记录(读者编号, 书号, 归还日期)

3、 查询8号读者2003年3月10日所借图书的相关信息
4、 查询超期归还图书的读者姓名和单位
5、 查询借阅过《天龙八部》的读者的信息
好啦,这次的内容就先到这里啦,下一次大概率是数据库范式,最小依赖集个找主码相关的内容。
相关文章:
数据库系统概论期末经典大题讲解(用关系代数进行查询)
今天也是结束的最为密集的考试周,在分析过程中自己也有些许解题的感悟,在此分享出来,希望能帮到大家期末取得好成绩。 一.专门的关系运算 1.选择(σ) 选择操作符用于从关系中选择满足特定条件的元组 例如,…...
算法通关村第十六关-黄金挑战滑动窗口与堆的结合
大家好我是苏麟 , 今天带来一道小题 . 滑动窗口最大值 描述 : 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 题目 : …...
基于jsp的搜索引擎
摘 要 随着互联网的不断发展和日益普及,网上的信息量在迅速地增长,在2004年4月,全球Web页面的数目已经超过40亿,中国的网页数估计也超过了3亿。 目前人们从网上获得信息的主要工具是浏览器,搜索引擎在网络中占有举足轻…...
【Altium designer 20】
Altium designer 20 1. Altium designer 201.1 原理图库1.1.1 上划岗 在字母前面加\在加字母1.1.2 自定义快捷键1.1.3 对齐1.1.4 在原有的电路图中使用封装1.1.5 利用excel创建IC类元件库1.1.6 现有原理图库分类以及调用1.1.7 现有原理图库中自动生成原理图库 1.2 绘制原理图1.…...
Proteus仿真--基于1602LCD与DS18B20设计的温度报警器
本文介绍基于1602LCD与DS18B20设计的温度报警器设计(完整仿真源文件及代码见文末链接) 仿真图如下 其中温度传感器选用DS18B20器件,主要用于获取温度数据并上传,温度显示1602LCD液晶显示器,报警模块选用蜂鸣器&#…...
Clickhouse Join
ClickHouse中的Hash Join, Parallel Hash Join, Grace Hash Join https://www.cnblogs.com/abclife/p/17579883.html https://clickhouse.com/blog/clickhouse-fully-supports-joins-full-sort-partial-merge-part3 总结 本文描述并比较了ClickHouse中基于内存哈希表的3种连接…...
Arduino驱动STS35数字温度传感器(温湿度传感器)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 STS35瑞士Sensirion公司新推出的温度传感器,STS35提供了一个完全校准、线性和供电电压补偿的数字输出&...
一起学docker系列之十八Docker可视化工具 Portainer:简介与安装
目录 前言1 简介2 安装过程2.1 创建docker容器数据卷2.2 构建运行protainer容器 3 Portainer 软件详细说明与界面导览3.1 查看本地Docker情况3.2 操作功能3.3 创建容器3.4 部署容器 4 Portainer的优势结语参考地址 前言 Docker作为容器化解决方案的热门工具,其可视…...
【数据结构】线段树
目录 1.概述2.代码实现2.1.聚合操作——求和2.2.聚合操作——求和、求最小值、求最大值 3.应用4.与前缀和之间的区别 更多数据结构与算法的相关知识可以查看数据结构与算法这一专栏。 1.概述 (1)线段树 (Segment Tree) 是一种二叉树形数据结构ÿ…...
王道数据结构课后代码题p175 06.已知一棵树的层次序列及每个结点的度,编写算法构造此树的孩子-兄弟链表。(c语言代码实现)
/* 此树为 A B C D E F G 孩子-兄弟链表为 A B E C F G D */ 本题代码如下 void createtree(tree* t, char a[], int degree[], int n) {// 为B数组分配内存tree* B (tree*)malloc(sizeof(tree) * n);int i 0;i…...
filter过滤器
package com.it.filter;import javax.servlet.*; import javax.servlet.annotation.WebFilter;import java.io.IOException;WebFilter(urlPatterns"/*") public class DemoFilter implements Filter {Override // 初始化的方法 只要调用一次public void init(Filte…...
MES物料的动态批次管理漫谈
在制造企业中,原辅材料占产品制造总成本基本在60%以上,特殊材料加工企业可能达到80%以上,按“2/8管理原则”管理好物料就基本做好制造企业的成本管理,这也许是很多企业向“数字化转型”的一个主要原因,希望借助数字信息…...
【爬虫逆向分析实战】某笔登录算法分析——本地替换分析法
前言 作者最近在做一个收集粉币的项目,可以用来干嘛这里就不展开了😁,需要进行登录换算token从而达到监控收集的作用,手机抓包发现他是通过APP进行计算之后再请求接口的,通过官网分析可能要比APP逆向方便多࿰…...
vue3使用动态component
使用场景: 多个组件通过component标签挂载在同一个组件中,通过触发时间进行动态切换。vue3与vue2用法不一样,这里有坑! 使用方法: 1.通过vue的defineAsyncComponent实现挂载组件 2.component中的is属性 父组件&am…...
单机游戏推荐:巨击大乱斗 GIGABASH 中文安装版
在泰坦之中称霸天下吧!《GigaBash 巨击大乱斗》是一款多人战斗擂台游戏,有着受特摄片启发的巨型怪兽,具有传奇色彩的英雄,震天动地的特别攻击,以及可以完全摧毁的擂台场景。 游戏特点 怪物大解放 多达10个独特的角…...
计算机系统启动过程
计算机系统启动过程 阅读笔记: 《计算机体系结构基础(第三版)》-- 胡伟武 第7章:计算机系统启动过程分析 系统启动的整个过程中, 计算机系统在软件的控制下由无序到有序, 所有的组成部分都由程序管理, 按照程序的执行发挥各自的功…...
DedeCms后台文章列表文档id吗?或者快速定位id编辑文章
我们在建站时有的时候发现之前的文章有错误了,要进行修改,但又不知道文章名,只知道大概的文章id,那么可以搜索到DedeCms后台文章列表文档id吗?或者快速定位文章id方便修改? 第一种方法:复制下面…...
【开发问题解决方法记录】03.dian
登录提示 ERR-1002 在应用程序 "304" 中未找到项 "ROLE_ID" 的项 ID。 一开始找错方向了,以为是代码错误,但是后来在蒋老师的提醒下在共享组件-应用程序项 中发现设的项不是ROLE_ID而是ROLEID,怪不得找不到ORZ 解决方法…...
QT之QString
QT之QString 添加容器 点击栅格布局 添加容器,进行栅格布局 布局总结:每一个模块放在一个Group中,排放完之后,进行栅格布局。多个Group进行并排时,先将各个模块进行栅格布局,然后都选中进行垂直布…...
常见的几种计算机编码格式
前言: 计算机编码是指将字符、数字和符号等信息转换为计算机可识别的二进制数的过程,正因如此,计算机才能识别中英文等各类字符。计算机中有多种编码格式用于表示和存储文本、字符和数据,实际走到最后都是二进制,本质一…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...












