数据库系统概论期末经典大题讲解(用关系代数进行查询)

news2024/11/16 7:21:10

今天也是结束的最为密集的考试周,在分析过程中自己也有些许解题的感悟,在此分享出来,希望能帮到大家期末取得好成绩。


一.专门的关系运算

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、 查询借阅过《天龙八部》的读者的信息


好啦,这次的内容就先到这里啦,下一次大概率是数据库范式,最小依赖集个找主码相关的内容。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1284697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端——html拖拽原理

文章目录 ⭐前言⭐draggable属性💖 api💖 单向拖动示例💖 双向拖动示例 ⭐总结⭐结束 ⭐前言 大家好,我是yma16,本文分享关于 前端——html拖拽原理。 vue3系列相关文章: vue3 fastapi 实现选择目录所有文…

安装you-get(mac)

1、首先要有python环境 2、更新pip python -m pip install --upgrade pip 3、安装you-get pip install you-get;

面试多线程八股文十问十答第二期

面试多线程八股文十问十答第二期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的! ⭐点赞⭐收藏⭐不迷路!⭐ 1.进程和线程的区别 概念不同:进程是操作系统中的一个独立执行单元&a…

redis 安装在liunx安装和常用文件配置

文章目录 安装配置文件设置测试启动服务连接服务 安装 1.官网下载压缩包: https://redis.io/download/ 2.将压缩包上传到Linux环境中 解压: tar -xvf redis-xxxxx 3.liunx 需要c的环境 yum -y install gcc-c4.进入redis文件夹 make && make install5.推荐不是必须…

【滤波第二期】中值滤波的原理和C代码

中值滤波是一种非线性数字滤波技术,主要应用于信号处理和图像处理领域,用于减小信号中的噪声和离群值。中值滤波的核心思想是通过计算一组数据点的中间值,以抑制脉冲噪声等离群值的影响,从而实现信号的平滑处理。 1,中…

spring cloud nacos整合gateway

文章目录 gateway快速入门创建gateway服务,引入依赖编写启动类编写基础配置和路由规则重启测试网关路由的流程图 断言工厂过滤器工厂路由过滤器的种类请求头过滤器默认过滤器总结 全局过滤器全局过滤器作用自定义全局过滤器过滤器执行顺序 跨域问题什么是跨域问题解…

浅谈Django之单元测试

一、什么是单元测试 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。如果测试通过则说明我们这个函数或功能能够正常工作,如果失败要么测试用例不正确,要么函数有bug需要修复。 二、如何使用单元测试 from django.test imp…

使用UART和USART在STM32上进行双向通信

在本文中,我们将深入了解如何在STM32上使用UART(通用异步收发传输器)和USART(通用同步异步收发传输器)实现双向通信。UART和USART是常见的串口通信协议,通常用于与其他设备进行数据传输。我们将重点介绍如何…

抓取Chrome所有版本密码

谷歌浏览器存储密码的方式 在使用谷歌浏览器时,如果我们输入某个网站的账号密码,他会自动问我们是否要保存密码,以便下次登录的时候自动填写账号和密码 在设置中可以找到登录账户和密码 也可以直接看密码,不过需要凭证 这其实是windows的DPAPI机制 DPAPI Data Protection Ap…

ESP32 freeRTOS笔记 参数传递、任务优先级

一、四种参数传递方式 1.1 整数传递 使用 (void *) 任何类型传递参数&#xff0c;通过地址传递给任务。 #include <stdio.h> #include "sdkconfig.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h"void myTask(void *pvP…

leetcode算法之栈

目录 1.删除字符串中的所有相邻重复项2.比较含退格的字符串3.基本计算器II4.字符串解码5.验证栈序列 1.删除字符串中的所有相邻重复项 删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {string ret;//使用数组模拟栈操作for(auto …

element的el-date-picker时间控件,限制选择范围区间天数并且当前之后的日期不可选

element的el-date-picker时间控件&#xff0c;限制选择范围区间天数并且当前之后的日期不可选 HTML部分代码 <el-date-pickerv-model"dateRange"type"datetimerange"value-format"yyyy-MM-dd HH:mm:ss"range-separator"至"start-p…

Python小案例:打印10以内的素数

解析 1、利用循环控制范围&#xff08;1,100&#xff09; 2、通过循环判断素数 3、利用标记法进行打印素数 代码 #求1——100之间的素数 for i in range(2,101):is_primeNum Truefor j in range(2,i):if i%j 0:# print(f"{i}不是素数")is_primeNum Falseif is_…

3D Web可视化平台助力Aras开发PLM系统:提供数据访问、可视化和发布功能

HOOPS中文网慧都科技是HOOPS全套产品中国地区指定授权经销商&#xff0c;提供3D软件开发工具HOOPS售卖、试用、中文试用指导服务、中文技术支持。http://techsoft3d.evget.com/ Aras是一个面向数字化工业应用的开放性平台&#xff0c;帮助世界领先的复杂互联产品制造商转变其产…

文字处理工具Word mac软件特点

Microsoft Word mac是一款文字处理软件。它是 Microsoft office 套件的一部分&#xff0c;已广泛用于创建、编辑和格式化文本文档。 Word mac软件特点 改进的协作工具&#xff1a;使用 Microsoft Word 2021&#xff0c;多个用户可以同时处理一个文档&#xff0c;从而更轻松地与…

(华为)网络工程师教程笔记(网工教程)网工入门——3、静态路由路由表的配置

参考文章&#xff1a;【全236集】网络工程师从基础入门到进阶必学教程&#xff01;通俗易懂&#xff0c;2023最新版&#xff0c;学完即可就业&#xff01;网工入门_华为认证_HCIA_HCIP_数据通信_网工学习路线 文章目录 13. 网工入门10-静态路由&#xff08;路由表的配置&#x…

STM32通用定时器

本文实践&#xff1a;实现通过TIM14_CH1输出PWM&#xff0c;外部显示为呼吸灯。 通用定时器简介 拥有TIM2~TIM5、TIM9~TIM14 一共10个定时器&#xff0c;具有4路独立通道&#xff0c;可用于输入捕获、输出比 较&#xff0c;同时包含了基本定时去的所有功能。 通用定时器的结…

Educational Codeforces Round 159 (Rated for Div. 2)(B 二分贪心 Cgcd D二分+前缀和 E字典树)

A - Binary Imbalance 有只要在01之间插入就能制造无限个0&#xff0c;没有0就统计0 1个数即可 #include<bits/stdc.h> using namespace std; const int N 110010,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII; const…

java学习part34collect和map

153-集合框架-数组的特点、弊端与集合框架体系介绍_哔哩哔哩_bilibili 1.以前的数组 2.常用 3.Collection add只能加object&#xff0c;如果有基本类型会装箱 3.2集合和数组转换 3.3往集合添加对象的注意事项 4.迭代器 容易越界 一般不用 常用好用 5.for each 类似c的for( …

vue3 vue-router编程式导航(二)

文章目录 一、跳转到指定路径1. query传参2. Params传参 二、前进/后退三、替换当前页 Vue Router提供了强大且灵活的编程式导航功能&#xff0c;能够通过代码来控制路由的切换和跳转。本篇博客将介绍如何在Vue 3应用程序中使用Vue Router进行编程式导航。 一、跳转到指定路径…