当前位置: 首页 > news >正文

数据库系统原理练习 | 作业2-第2章关系数据库(附答案)

整理自博主本科《数据库系统原理》专业课完成的课后作业,以便各位学习数据库系统概论的小伙伴们参考、学习。

*文中若存在书写不合理的地方,欢迎各位斧正。

专业课本:

目录

一、选择题

二、填空题

三、简答题

四、关系代数

1.课本p70页,第6题,第(1)--(4)题,第(5)题选做,用关系代数完成。

2.设有关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE)。试用关系代数表达式表示下列查询语句:注意:一门课的老师只有一个,但是一个老师可能教多门课。

(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。

(2)检索年龄大于21的男学生的学号(S#)和姓名(SNAME)。

(3)检索“李强”同学不学课程的课程号(C#)。

(4)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。

(5)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。

(6)检索选修课程号为k1和k5的学生学号(S#)。

(7)检索选修全部课程的学生姓名(SNAME)。

(8)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

(9)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。

(10)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。


一、选择题

1、关系数据库管理系统应能实现的专门关系运算包括                   

A.排序、索引、统计    

B.选择、投影、连接   

C.关联、更新、排序    

D.显示、打印、制表    

答案:B

2、关系模型中,一个关键字                            。

A.可由多个任意属性组成    

B.至多由一个属性组成  

C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成   

D.以上都不是           

答案:C

3、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的            

A.元组    

B.行    

C.记录    

D.属性                     

答案:D

5.关系模式的任何属性                  

A.不可再分                  

B.可再分    

C.命名在该关系模式中可以不惟一    

D.以上都不是    

答案:A

6.在关系代数运算中,五种基本运算为                  

A.并、差、选择、投影、自然连接   

B.并、差、交、选择、投影    

C.并、差、选择、投影、乘积    

D.并、差、交、选择、乘积                

答案:C

二、填空题

1、关系代数运算中,传统的集合运算     ①            ②             ③          ④        。    

答案:①笛卡尔积    ②并    ③交  ④差

2、关系数据库中基于数学上两类运算  关系代数    关系演算  

3、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 ① ,系关系的外关键字 ②  ,学生关系的主关键字是  ③ ,外关键字 ④     

答案:①系编号    ②无    ③学号    ④系编号


三、简答题

课本P70,第3,4,5题。

答案参考  《数据库系统概论习题解析与实验指导》。

(待补充)


四、关系代数

1.课本p70页,第6题,第(1)--(4)题,第(5)题选做,用关系代数完成。

(1) 

(2) 

(3) 

(4)

(5) 

2.设有关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE)。试用关系代数表达式表示下列查询语句:注意:一门课的老师只有一个,但是一个老师可能教多门课。

*此处博主只给出解题思路,请翻阅的同学们自行将思路转换为关系代数的格式。

(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。

在C表中进行选择和投影。

(2)检索年龄大于21的男学生的学号(S#)和姓名(SNAME)。

在S表中进行选择和投影。

(3)检索“李强”同学不学课程的课程号(C#)。

先求出李强同学选修的课程,再用所有课程的课程号减去李强同学选修的课程的课程号。

(4)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。

用s和sc连接,再选择和投影。

(5)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。

用c和sc连接,再选择和投影。

(6)检索选修课程号为k1和k5的学生学号(S#)。

在sc表中选择学号和课号  除以  包含这两门课的表格。

(7)检索选修全部课程的学生姓名(SNAME)。

连接s和sc,投影出学号,姓名和课程号,除以,在c表上投影所有课程的课程号。以上步骤得到两列,学号和姓名,最后再投影出姓名即可。

(8)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

在sc中投影出学号,除以,在sc中选择投影出对应的课程。

(9)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。

连接s和sc,投影出学号,姓名和课程号,除以,在c表上选择和投影出程军老师教的所有课程的课程号。以上步骤得到两列,学号和姓名,最后再投影出姓名即可。

(10)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

连接c和sc,投影出课程号,课程名和学号,除以在s中投影出所有学生的学号。

相关文章:

数据库系统原理练习 | 作业2-第2章关系数据库(附答案)

整理自博主本科《数据库系统原理》专业课完成的课后作业,以便各位学习数据库系统概论的小伙伴们参考、学习。 *文中若存在书写不合理的地方,欢迎各位斧正。 专业课本: 目录 一、选择题 二、填空题 三、简答题 四、关系代数 1.课本p70页&…...

有向图的强连通分量——AcWing 367. 学校网络

有向图的强连通分量 定义 强连通分量(Strongly Connected Components, SCC) 是图论中的一个概念,在一个有向图中,如果存在一个子图,使得该子图中的任意两个顶点都相互可达(即从任何一个顶点出发都可以到达该子图中的其他任何顶点…...

安全开发--多语言基础知识

注释:还是要特别说明一下,想成为专业开发者不要看本文,本文是自己从业安全以来的一些经验总结,所有知识点也只限于网络安全这点事儿,再多搞不明白了。 开发语言 笼统的按照是否编译成机器码分类开发语言,…...

如何使一个盒子水平垂直居中(常用的)

目录 1. 使用Flex布局 2. 使用Grid布局 3.绝对定位 负外边距 (必须知晓盒子的具体大小) 4.绝对定位外边距 auto 5.绝对定位 transform (无须知晓盒子的具体大小) 1. 使用Flex布局 如何实现: 在父元素上添加: display: flex; align-items: center…...

安全防御-用户认证综合实验

一、拓扑图 二、实验要求 1、DMZ区的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区设备全天都是可以访问的 2、生产区不允许访问互联网,办公区和游客区允许访问互联网 3、办公区设备10.0.2.20不允许访…...

uniapp安卓离线打包配置scheme url

uniapp安卓离线打包配置scheme url 打开 AndroidManifest.xml 搜索 scheme 填入 即可 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android" package"uni.UNI979A394…...

C++ STL std::lexicographical_compare用法和实现

一&#xff1a;功能 按字典顺序比较两个序列&#xff0c;判断第一个序列是否小于(或大于)第二个序列 二&#xff1a;用法 #include <compare> #include <vector> #include <string> #include <algorithm> #include <iostream> #include <fo…...

ORM Bee,如何使用Oracle的TO_DATE函数?

ORM Bee,如何使用Oracle的TO_DATE函数? 在Bee V2.4.0,可以这样使用: LocaldatetimeTable selectBeannew LocaldatetimeTable();Condition conditionBF.getCondition();condition.op("localdatetime", Op.ge, new TO_DATE("2024-07-08", "YYYY-MM-DD&…...

HTML CSS 基础复习笔记 - 框架、装饰、弹性盒子

自己复习前端基础&#xff0c;仅用于记忆&#xff0c;初学者不太适合 示例代码 - HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…...

C++:创建线程

在C中创建线程&#xff0c;最直接的方式是使用C11标准引入的<thread>库。这个库提供了std::thread类&#xff0c;使得线程的创建和管理变得简单直接。 以下是一个简单的示例&#xff0c;展示了如何在C中使用std::thread来创建和启动线程&#xff1a; 示例1&#xff1a;…...

python如何查看类的函数

Python非常方便&#xff0c;它不需要用户查询文档&#xff0c;只需掌握如下两个帮助函数&#xff0c;即可查看Python中的所有函数&#xff08;方法&#xff09;以及它们的用法和功能&#xff1a; dir()&#xff1a;列出指定类或模块包含的全部内容&#xff08;包括函数、方法、…...

P6. 对局列表和排行榜功能

P6. 对局列表和排行榜功能 0 概述1 对局列表功能1.1 分页配置1.2 后端按页获取对局列表接口1.3 前端展示传回来的对局列表1.4 录像回放功能1.4.1 录像回放的流程1.4.2 录像回放的实现 1.5 前端分页展示 2 排行榜功能2.1 排行榜的实现 0 概述 本节主要介绍了如何实现对局列表和…...

uniapp easycom组件冲突

提示信息 ​easycom组件冲突&#xff1a;[/components/uni-icons/uni-icons.vue,/uni_modules/uni-icons/components/uni-icons/uni-icons.vue]​ 问题描述 老项目&#xff0c;在uniapp插件商城导入了一个新的uniapp官方开发的组件》uni-data-picker 数据驱动的picker选择器 …...

总结24个Python接单赚钱平台与详细教程,兼职月入5000+

如果说当下什么编程语言最靠谱或者比较适合搞副业&#xff1f; 答案肯定100%是&#xff1a;Python。 python是所有语法中最简单易上手的语言&#xff0c;不需要特别的的英语词汇量&#xff0c;逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据&#xf…...

macOS 的电源适配器设置

在 macOS 的电源适配器设置中&#xff0c;有四个选项&#xff0c;每个选项都有特定的功能&#xff1a; Prevent your Mac from automatically sleeping when the display is off&#xff08;当显示屏关闭时&#xff0c;防止你的 Mac 自动进入睡眠状态&#xff09;&#xff1a;…...

视觉SLAM与定位之一前端特征点及匹配

视觉SLAM中的特征点及匹配 参考文章或链接特征点性能的评估传统特征点和描述子&#xff08;仅特征点或者特征点描述子&#xff09;传统描述子 基于深度学习的特征点基于深度学习的描述子基于深度学习的特征点描述子特征匹配 参考文章或链接 Image Matching from Handcrafted t…...

开源项目的认识理解

目录 开源项目有哪些机遇与挑战&#xff1f; 1.开源项目的发展趋势 2.开源的经验分享&#xff08;向大佬请教与上网查询&#xff09; 3.开源项目的挑战 开源项目有哪些机遇与挑战&#xff1f; 1.开源项目的发展趋势 1. 持续增长与普及 - 开源项目将继续增长&#xff0c…...

37.哀家要长脑子了!--层序遍历

gongmi层序遍历模板 vector<vector<int>> levelOrder(TreeNode *root){queue<TreeNode*> que;vector<vector<int>> res;if(root ! nullptr)que.push(root);while(!que.empty()){int size que.size();vector<int> storey;for(int i 0; i …...

【从零开始AI绘画6】StableDiffusionWebUI拓展的安装方法以及推荐的几个拓展

这里写自定义目录标题 拓展Extention安装方法&#xff08;以双语对照插件为例&#xff09;1、WebUI内置的下载方式&#xff08;推荐&#xff09;2、git clone安装&#xff08;更推荐&#xff09;3、github下载安装包后解压&#xff08;不推荐&#xff09; 强力推荐安装的几个插…...

HTML5表单的自动验证、取消验证、自定义错误信息

1、自动验证 通过在元素中使用属性的方法&#xff0c;该属性可以实现在表单提交时执行自动验证的功能。下面是关于对元素内输入内容进行限制的属性的指定。 属性说明required输入内容是否不为空pattern输入的内容是否符合指定格式min、max输入的数值是否在min~max范围step判断…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...