数据库系统概论期末经典大题讲解(用关系代数进行查询)
今天也是结束的最为密集的考试周,在分析过程中自己也有些许解题的感悟,在此分享出来,希望能帮到大家期末取得好成绩。
一.专门的关系运算
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进行并排时,先将各个模块进行栅格布局,然后都选中进行垂直布…...
常见的几种计算机编码格式
前言: 计算机编码是指将字符、数字和符号等信息转换为计算机可识别的二进制数的过程,正因如此,计算机才能识别中英文等各类字符。计算机中有多种编码格式用于表示和存储文本、字符和数据,实际走到最后都是二进制,本质一…...
3D旋转tab图
上图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>3D旋转tab图</title><style>* {margin: 0;padding: 0;}body {height: 100vh;background: linear-gradient(to top, #29323c, #…...
openGL 三:矩阵和向量
1.使用glm数学库进行矩阵和向量的计算 2.位置坐标可以看做一个向量 3.向量的移动,缩放,旋转,都是可以通过和矩阵的计算得出 4.向量的缩放乘一个44的矩阵 5.注意事项(有些版本的glm::mat4 不是默认构建一个单位44的矩阵)…...
Socket和Http的通讯原理,遇到攻击会受到哪些影响以及如何解决攻击问题。
德迅云安全-领先云安全服务与解决方案提供商 Socket和HTTP通信原理: Socket通信原理: Socket是一种应用程序编程接口(API),用于在单个进程或多个进程之间进行通信。它提供了一种灵活的、异步的通信方式,使…...
【springboot】整合redis
1.前提条件:docker安装好了redis确定redis可以访问 可选软件: 2.测试代码 (1)redis依赖 org.springframework.boot spring-boot-starter-data-redis (2)配置redis (3) 注入 Resource StringRedisTemplate stringRedisTemplate; 对键进行操作 –o…...
回溯和分支算法
状态空间图 “图”——状态空间图 例子:农夫过河问题——“图”状态操作例子:n后问题、0-1背包问题、货郎问题(TSP) 用向量表示解,“图”由解向量扩张得到的解空间树。 ——三种图:n叉树、子集树、排序树 剪枝 不满住条件的…...
深入理解:指针变量的解引用 与 加法运算
前言 指针变量的解引用和加法运算是非常高频的考点,也是难点,因为对初学者的不友好,这就导致了各大考试都很喜欢在这里出题,通常会伴随着强制类型转换、二维数组、数组指针等一起考查大家对指针的理解。但是不要怕,也许…...
Docker 镜像构建的最佳做法
一、镜像分层 使用docker image history命令,可以看到用于在镜像中创建每个层的命令。 1、 使用docker image history命令查看创建的入门镜像中的层。 docker image history getting-started 您应该得到如下所示的输出: IMAGE CREATED…...
工作上Redis安装及配置
下载redis软件 第一步:解压压缩包 tar -zxvf redis-7.0.14.tar.gz 第二步:移动redis存放目录(结合个人需求而定!) redis-7.0.14:解压后的文件路径 /usr/local:移动后的文件路径 mv redis-7.0.…...
电商项目之Web实时消息推送(附源码)
文章目录 1 问题背景2 前言3 什么是消息推送4 短轮询5 长轮询5.1 demo代码 6 iframe流6.1 demo代码 7 SSE7.1 demo代码7.2 生产环境的应用 (重要) 8 MQTT 1 问题背景 扩宽自己的知识广度,研究一下web实时消息推送 2 前言 文章参考自Web 实时消…...
上机实验四 哈希表设计 西安石油大学数据结构
实验名称:哈希表设计 (1)实验目的:掌握哈希表的设计方法及其冲突解决方法。 (2)主要内容: 已知一个含有10个学生信息的数据表,关键字为学生“姓名”的拼音,给出此表的一…...
东莞做企业网站/推广app赚钱的平台
进入当前项目目录 cd android adb reverse tcp:8081 tcp:8081 cd .. npm start gradlew.bat assembleRelease --console plain (自己最常用的,只打包不安装) gradlew assembleRelease (打包加自动安装)...
网站空间下载/网络服务电话
【实例简介】Android使用websocket 进行通讯,推送消息给客户端,实现即时通讯。【实例截图】【核心代码】153473androidWebsocketDemo└── androidWebsocketDemo-master├── README.md├── app│ ├── build.gradle│ ├── libs│ │ └…...
网站IP限制怎么做/常见的网络推广方法
入门快速开始Bootstrap-select需要jQuery v1.9.1 ,Bootstrap的dropdown.js组件和Bootstrap的CSS。如果您尚未在项目中使用Bootstrap,则可以在此处下载Bootstrap v3.3.7最低要求的预编译版本。如果在Bootstrap v4 中使用bootstrap-select,你还…...
wordpress oa 插件/站长之家查询
feign.Logger.Level 修改日志级别,包含4个不同级别,NONE,BASE,HEADERS,FULL 1. 基于配置文件yml feign:client:config:default: #这里default就是全局配置,如果是写服务名称,则是针对某个微服…...
网站百度权重查询/谷歌广告联盟怎么做
题目 题目链接 题解 太水了啊。 就输入判断就行,不会STL的string就去学一学,不想学的就死一边子去。 当然也可以用strcmp,不过我都快忘了咋用了。 我也懒得写for了,就while输入了。 我的锅,原来是入门题ÿ…...
成品超市网站/seo排名查询软件
我们打开昨天已经创建好的项目myself.pro.注意保存的项目路径不能含有中文.接下来我们继续来学习,看如何进行可视化编程. 双点你的工程管理窗口中界面文件mainwindow.ui.双点后如图所示. 控件组窗口包含所有控件(控件就是一个叫法而已,例如按钮,文本框,标签等都被称为控件),使…...