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

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


一.专门的关系运算

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.mzph.cn/news/197590.shtml

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

相关文章

异常处理 springboot

全局异常处理 RestcontrollerAdvice Exceptonhandler package com.it.Exception;import com.it.pojo.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice;/*全局异常处理器…

如何制定公司网络安全战略

网络安全可以保护公司的重要信息免受恶意软件和数据泄露等威胁。网络安全策略列出了您公司的 IT 系统当前面临的风险、您计划如何预防这些风险,以及如果发生这些风险该怎么办。 让本文成为您制定有效网络安全策略的一站式指南。我们将讨论网络安全风险评估以及策略…

【QML】QML与cpp交互(一)—— QML直接调用cpp函数

目录 1、cpp 创建一个类 2、将类对象暴露给QML 3、QML通过对象直接调用cpp函数 1、cpp 创建一个类 类模板如下: #include <QtCore/QObject>class vacUdpClient: public QObject {Q_OBJECT public: vacUdpClient(QObject* parent nullptr): QObject(parent) {}// Q…

JVM类加载全过程

Java虚拟机类加载的全过程&#xff0c;即加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化 一、加载 加载 是 类加载过程中的一个阶段&#xff0c; 有以下三部分组成 1&#xff09;通过一个类的全限定名来获取定义此类的二进制流 2&#xff09;将这…

通达OA inc/package/down.php接口存在未授权访问漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一. 产品简介 通达OA&#xff08;Office Anywhere网络智能办公系统&am…

Batch Normalization

1.是什么&#xff1f; 批量归一化&#xff08;Batch Normalization&#xff09;&#xff0c;由Google于2015年提出&#xff0c;是近年来深度学习&#xff08;DL&#xff09;领域最重要的进步之一。该方法依靠两次连续的线性变换&#xff0c;希望转化后的数值满足一定的特性&am…

10、外观模式(Facade Pattern,不常用)

外观模式&#xff08;Facade Pattern&#xff09;也叫作门面模式&#xff0c;通过一个门面&#xff08;Facade&#xff09;向客户端提供一个访问系统的统一接口&#xff0c;客户端无须关心和知晓系统内部各子模块&#xff08;系统&#xff09;之间的复杂关系&#xff0c;其主要…

利用DateFormat、Date、Calendar等相关类,编程实现如下功能

&#xff08;1&#xff09;用户输入2个日期&#xff0c;第一个日期用整数形式输入&#xff0c;把输入的整数设置为日历对象1的年月日的值。第二个日期以字符串形式输入&#xff0c;形如“2022-10-25”&#xff0c;并设置为日历对象2的年月日的值。将2个日期以“xx年xx月xx日”的…

04、pytest运行多个测试用例

官方用例 目录结构 course_04 | |----subdir | | | |----sample03_test.py | | | |----test_sample04.py | |----sample02_test.py | |----test_sample01.py# content of test_sample01.pydef test_simple01():print("test simple01")assert 0# content of tes…

从零开始学习 JS APL(二):完整指南和实例解析

大家好&#xff01;这里是关于JS APL第二部分的知识点和笔记以及练习题 目录 大家好&#xff01;这里是关于JS APL第二部分的知识点和笔记以及练习题 我们分以下几点来说&#xff1a; 1、事件监听&#xff08;绑定&#xff09;&#xff1a; 目标&#xff1a;能够给 DOM元素…

@PostConstruct使用详解

一、简介 在Spring应用程序中启动时&#xff0c;有时需要在所有Bean都已加载&#xff0c;初始化并准备好之后执行某些自定义代码。这时&#xff0c;Spring提供了一个可用的方式&#xff0c;即使用PostConstruct注解。这个注解用于标记一个方法&#xff0c;这个方法将在Bean初始…

操作系统——进程同步

目录 一、信号量相关函数 1. 创建信号量集 2. 获取信号量集 3. 等待、通知信号量集 4. 控制信号量集 二、简单进程同步 1. 创建信号量集 2. P操作 3. V操作 4. 删除信号量集 5. 测试&#xff1a; 三、生产者与消费者 1. 创建、删除共享内存及信号量集 2. 单一生产…

基于Eclipse+Mysql+Tomcat开发的 教学评价管理系统

基于EclipseMysqlTomcat开发的 教学评价管理系统 项目介绍&#x1f481;&#x1f3fb; 随着教育信息化的发展&#xff0c;教学评价管理系统已经成为了学校、教育机构等场所必不可少的一部分。本项目是基于EclipseMysqlTomcat开发的一套教学评价管理系统&#xff0c;旨在帮助教育…

Android中的动态代理详解

在说动态代理之前&#xff0c;先来简单看下代理模式。代理是最基本的设计模式之一。它能够插入一个用来替代“实际”对象的“代理”对象&#xff0c;来提供额外的或不同的操作。这些操作通常涉及与“实际”对象的通信&#xff0c;因此“代理”对象通常充当着中间人的角色。 代…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C 需要环境或者解析可以私信 &#xff08;二&#xff09;A 模块基础设施设置/安全加固&#xff08;200 分&…

MacOS M芯片 安装MySQL5.7教程

目录 1. 安装Homebrew1.1 快速安装1.2 检查是否安装成功 2. 通过Homebrew安装MySQL2.1 搜索 MySQL 版本2.2 安装MySQL 5.72.3 位置说明2.4 启动MySQL服务2.5 检查服务状态2.6 设置环境变量2.7 重置密码 3. 测试安装 1. 安装Homebrew 1.1 快速安装 /bin/bash -c "$(curl …

【接口测试】POST请求提交数据的三种方式及Postman实现

1. 什么是POST请求&#xff1f; POST请求是HTPP协议中一种常用的请求方法&#xff0c;它的使用场景是向客户端向服务器提交数据&#xff0c;比如登录、注册、添加等场景。另一种常用的请求方法是GET&#xff0c;它的使用场景是向服务器获取数据。 2. POST请求提交数据的常见编…

uniapp微信小程序解决绘制polygon结束时的问题

目录 一、前言 二、实现思路 三、结束标绘具体代码 1、在地图展示工具栏处判断工具按钮是否展示v-if"item.isshow" 2、data声明的工具按钮中新增结束标绘按钮 3、在按钮的点击事件中新增结束标绘的判断 4、判断绘制的线段个数是否大于等于三条&#xff0c;当满…

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_…