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

news2024/9/23 23:22:11

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

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

专业课本:

目录

一、选择题

二、填空题

三、简答题

四、关系代数

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中投影出所有学生的学号。

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

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

相关文章

嵌入式基础 接口协议汇总

在此收集整理嵌入式通信中常见的接口协议,它们具有一定的通用性,在今后的开发中会反复遇到。 包括但不限于以下类别(逐步完善中…): GPIOUARTSPII2CUSBEthernetNAND Flash类SDRAM类(ram-like)LC…

拉取DockerHub镜像

参考博主:http://t.csdnimg.cn/i49ET 方法一(不太行): 在daemon.json文件中添加一些国内还在服务的镜像站(可能某些镜像会没有) ([ -f /etc/docker/daemon.json ] || mkdir -p /etc/docker) && e…

Idea合并Git分支信息

#git 的笔记 ##本篇文章是通过Idea 实现git 命令操作的代码的上传与合并。 1.合并分支 点击 Git 选择Merge 这里选择合并远程的分支

火山引擎数据飞轮实践:在电商场景中,如何建设全链路数据血缘?

数据作为新型生产要素,正支撑企业的数智化转型。但企业数字化建设也存在管理成本高、数据产品使用门槛高、数据资产价值不够的问题,其原因在于业务和数据之间没有形成双向良性驱动。 结合新时代企业数字化转型需求,火山引擎基于字节跳动十余…

【HTML入门】第十课 - 表格,也就是table标签

这一小节,我们说一下HTML中的表格。比如我们常常看见的学生成绩单,比如excel一个单元格一个单元格的,这些都是表格。 表格的标签名是 table 。 目录 1 表格中的一些子标签 1.1 表头区域 1.2 表格内容区域 1.3 行和列 2 实战一小下 2.…

Matlab提取excel数据及处理的实操举例

实现目的 当excel数据量庞大的时候,如果采用人工处理数据的方法就会成为非常出力不讨好的事,既容易出错,又容易抑郁。 利用matlab处理成为既简单又高效的方式。 例如,以GD32F7xx系列的管脚复用表格为例,在169x19的e…

[Linux]对Linux中的命令的本质

上回我们讲了Linux的指令,本篇是一个短篇,主要是对命令本质的讲解。 我们知道命令一般都是直接使用的 而可执行程序需要加上当前的路径 (这个mytest是我们上上回写的,作用实际是打印Hello world!) 我们很直观的可以发…

Stable Diffusion 保姆级实战教程!学不会来打我!

前言 本教程没有难懂的理论,全是实操的截图,非常通俗易懂。 能够帮你在最短的时间里,掌握Stable Diffusion的核心操作方法。真正有效地提高工作的效率。 教程主要是讲我们在工作中高频使用的4个功能模块:文生图、图生图、后期处…

kind kubernetes(k8s虚拟环境)使用本地docker的镜像

kubernetes中,虽然下载镜像使用docker,但是存储在docker image里的镜像是不能被k8s直接使用的,但是kind不同,可以使用下面的方法,让kind kubernetes环境使用docker image里的镜像。 kind – Quick Start 例如&#x…

fastadmin 如何通过权限组来控制列的显示与隐藏

方法1 以版本控制(application/admin/controller/Version.php)为例子 需求 就是在有时候,有些列不想让这个权限组的人看到,只给制定的权限组的人看 1.给权限组创建一个字段 ALTER TABLE lt_auth_group ADD COLUMN isBoothView TINYINT(1) NOT NULL DEFAULT 0 AFTER statu…

安卓查看本地sqlite数据库的好用工具(亲测好用)

1.使用SQLiteStudio工具,可以很方便的查看; 2.下载SQLiteStudio。 SQLiteStudio下载链接:https://pan.baidu.com/s/1Ji6xkhYxrWP8pDk6qba_Og 3.SQLiteStudio使用。 2.将数据库文件从项目中导入本地 3.用工具打开存在本地的数据库 4.可以…

DNS的解析过程(知识点总结)

DNS的解析过程(知识点总结)_dns解析过程-CSDN博客

企业专利布局怎么弄

企业专利布局策略与实施 在当今竞争激烈的商业环境中,企业的专利布局已成为保护创新成果、提升市场竞争力的重要手段。专利布局不仅是技术创新的体现,更是企业战略布局的重要一环。 一、企业专利布局的策略 多维度布局 企业专利布局应结合市场、技术、…

旷视AI开源新突破:上传照片即可生成表情包视频!

日前,旷视科技发布了一项新的开源AI人像视频生成框架——MegActor。该框架让用户只需输入一张静态肖像图片和一段视频(如演讲、表情包、rap),便可生成一段表情丰富、动作一致的AI人像视频。生成的视频长度取决于输入的视频长度。与…

keepalived安装使用

keeepalived介绍 Keepalived的作用是检测服务器的状态, 如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作…

PostgreSQL行级安全策略探究

前言 最近和朋友讨论oracle行级安全策略(VPD)时,查看了下官方文档,看起来VPD的原理是针对应用了Oracle行级安全策略的表、视图或同义词发出的 SQL 语句动态添加where子句。通俗理解就是将行级安全策略动态添加为where 条件。那么PG中的行级安全策略是怎…

【Linux】信号量和线程池

目录 一、POSIX信号量 二、基于环形队列和信号量的生产消费模型 三、线程池 一、POSIX信号量 POSIX信号量(POSIX Semaphores)是一种进程间或线程间同步机制,它允许进程或线程以协调的方式访问共享资源或进行其他形式的同步。与System V信…

用MATLAB绘制三向应力圆

% 定义主应力值 sigma1 100; % MPa sigma2 50; % MPa sigma3 -33; % MPa sigma_m1(sigma1 sigma3)/2; sigma_m2(sigma1 sigma2)/2; sigma_m3(sigma2 sigma3)/2; % 计算半径 r1 (sigma1 - sigma3) / 2; r2 (sigma1 - sigma2) / 2; r3 (sigma2 - sigma3…

2024年16个适合现代应用程序的最佳API网关

什么是API? API是一个软件解决方案,作为中介,使两个应用程序能够相互交互。以下一些特征让API变得更加有用和有价值: 遵守REST和HTTP等易于访问、广泛理解和开发人员友好的标准。API不仅仅是几行代码;这些是为移动开…

生成式AI (Generative artificial intelligence, GenAI or GAI)

安利一个新加坡南洋理工大学的论文总结The Age of Generative AI 一、什么是生成式AI Generative AI, sometimes called gen AI, is artificial intelligence (AI) that can create original content—such as text, images, video, audio or software code—in response to a …