第三章作业:关系数据库

news2025/1/11 11:07:23

第三章作业:关系数据库

目录

  • 第三章作业:关系数据库
  • 选择题
  • 简答题
    • 1、关系代数:产生学生成绩表,包括学号、姓名、课程名、学分和成绩。
      • 题目
      • 代码
    • 2、关系代数:检索选择了课程号为“C2"的学生学号和姓名。
      • 题目
      • 代码
    • 3、关系代数:检索所有参加了“数据库原理”课程考试的学生学号成绩
      • 题目
      • 代码
    • 4、关系代数:检索选修了计算机系开设的全部课程的学生学号和姓名
      • 题目
      • 代码
      • 题解
    • 5、关系代数:检索选修了“王林”老师所上的全部课程的学生学号。
      • 题目
      • 代码
      • 题解
    • 6、关系代数:检索至少选修两门课程的学生学号和姓名
      • 题目
      • 代码
      • 题解
    • 7、关系代数表:查询自控和计算机专业学生的学号、姓名
      • 题目
      • 代码
      • 题解
    • 8、关系代数:检索李强同学不学的课程编号
      • 题目
      • 代码
      • 题解

在这里插入图片描述

选择题

  1. 同一个关系模型的任意两个元组值(C )

    A 必须全同
    B 可全同
    C 不能全同
    D 以上都不是

  2. 设W=R∞S,且W,R,S的元组个数分别为p,m,n,那么三者之间满足 D。

    A. p<(m+n)

    B. p≤(m+n)

    C. p<(m×n)

    D. p≤(m×n)

  3. σF1(σF2(E))与 A 等价。

    A. σF1∧F2(E)

    B. σF1(E)

    C. σF2(E)

    D. σF1∨F2(E)

  4. 设关系R和S的属性个数分别为2和3,那么

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OhqmPXUJ-1682341338232)(image/image_sVv5PcEJ4k.png)]

等价于 B

A. σ1<2(R×S)

B. σ1<4(R×S)

C. σ1<2(R∞S)

D. σ1<4(R∞S)

  1. 同一个关系模型的任意两个元组值 A

    A 不能全同

    B 可全同

    C 必须全同

    D 以上都不是

  2. 假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于( A )。

    A 用户定义的完整性

    B 参照完整性

    C 实体完整性

    D 关系不变性

  3. 在关系R ( R # , RN , S # )和S ( S # , SN , SD )中, R 的主码是R # , S 的主码是S #,则S#在R 中称为 A

    A 外码

    B 候选码

    C 主码

    D 超码

  4. 下面关于关系的叙述,(B )是不正确的。

    A 二维表的任何两行可以全同

    B 二维表的任何两列不能全同

    C 直观上说,关系就是二维表

    D 二维表允许有些分量取空值

  5. 关系R 和关系S 只有一个公共属性,T1是R 与S 等值联接的结果,T2 是R 和S 自然联接的结果,则( D )。

    A T1 的属性个数大于或等于T2的属性个数

    B T1 的属性个数小于T2的属性个数

    C T1 的属性个数等于T2的属性个数

    D T1 的属性个数大于T2的属性个数

  6. 两个关系在没有公共属性时,其自然联接操作表现为( B )。

    A 等值联接操作

    B 笛卡儿积操作

    C 结果为空关系

    D 无意义的操作

简答题

1、关系代数:产生学生成绩表,包括学号、姓名、课程名、学分和成绩。

题目

设有四个关系:学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);课程关系C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);教师关系T(TNO,TNAME,TSEX,TSPECIAL);学习关系SC(SNO,CNO,GRADE)。

其中各属性和含义是:学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL),课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO),教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)。

试用关系代数表达式表示查询任务:产生学生成绩表,包括学号、姓名、课程名、学分和成绩。

代码

σ DISTINCT(Π SNO, SNAME, CNAME, CCREDIT, GRADE (S ⨝ SC ⨝ C))

2、关系代数:检索选择了课程号为“C2"的学生学号和姓名。

题目

设有四个关系:学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);课程关系C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);教师关系T(TNO,TNAME,TSEX,TSPECIAL);学习关系SC(SNO,CNO,GRADE);

其中各属性和含义是:学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL),课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO),教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)。

请用关系代数表达式表示查询任务:检索选择了课程号为“C2”的学生学号和姓名。

代码

 π SNO,SNAME(σ CNO='C2' (SC) ⨝ S)

3、关系代数:检索所有参加了“数据库原理”课程考试的学生学号成绩

题目

设有四个关系:学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);课程关系C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);教师关系T(TNO,TNAME,TSEX,TSPECIAL);学习关系SC(SNO,CNO,GRADE);

其中各属性和含义是:学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL),课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO),教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)。

请用关系代数表达式表示查询任务:检索所有参加了“数据库原理”课程考试的学生学号和姓名。

代码

π SNO, SNAME (σ CNAME='数据库原理' (SC ⨝ C) ⨝ S)

4、关系代数:检索选修了计算机系开设的全部课程的学生学号和姓名

题目

设有四个关系:

学生关系:S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);

课程关系:C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);

教师关系:T(TNO,TNAME,TSEX,TSPECIAL);

学习关系:SC(SNO,CNO,GRADE);

其中各属性和含义是:

学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL)

课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO)

教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)

请用关系代数表达式表示查询任务:检索选修了计算机系开设的全部课程的学生学号和姓名

代码

πSNO, SNAME (S ⨝ C ⨝ T ÷ πCNO (σ CDEPT='计算机系' (C)))

题解

  1. 首先,将学生关系 S 与课程关系 C 进行自然连接(S ⨝ C),得到每个学生选修的课程信息。
  2. 然后,将上一步得到的结果与教师关系 T 进行自然连接(S ⨝ C ⨝ T),得到每个学生选修的课程及其授课教师的信息。
  3. 接着,使用选择操作(σ CDEPT=‘计算机系’ ©)选择开课系为“计算机系”的课程。
  4. 对上一步得到的结果进行投影操作(πCNO),仅保留课程编号属性。
  5. 将上一步得到的结果与学生关系 S 进行除法操作(S ÷ πCNO (σ CDEPT=‘计算机系’ ©)),得到选修了所有计算机系开设的课程的学生信息。
  6. 最后,对上一步得到的结果进行投影操作(πSNO, SNAME),仅保留学号和姓名两个属性。

5、关系代数:检索选修了“王林”老师所上的全部课程的学生学号。

题目

设有四个关系:学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);课程关系C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);教师关系T(TNO,TNAME,TSEX,TSPECIAL);学习关系SC(SNO,CNO,GRADE);

其中各属性和含义是:学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL),课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO),教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)。

请用关系代数表达式表示查询任务:检索选修了“王林”老师所上的全部课程的学生学号。

代码

πSNO (S ⨝ SC ⨝ C ⨝ (σ TNAME='王林' (T))) ÷ πCNO (σ TNAME='王林' (T))

题解

  1. 首先,将学生关系 S 与学习关系 SC 进行自然连接(S ⨝ SC),得到每个学生选修的课程编号信息。
  2. 然后,将上一步得到的结果与课程关系 C 进行自然连接(S ⨝ SC ⨝ C),得到每个学生选修的课程信息。
  3. 接着,将上一步得到的结果与教师关系 T 进行自然连接(S ⨝ SC ⨝ C ⨝ T),得到每个选修了王林老师教授的课程的学生的信息。
  4. 使用选择操作(σ TNAME=‘王林’ (T))选择教师姓名为“王林”的教师信息。
  5. 对上一步得到的结果进行投影操作(πCNO),仅保留课程编号属性。
  6. 将上一步得到的结果与学生关系 S 进行除法操作(S ÷ πCNO (σ TNAME=‘王林’ (T))),得到选修了王林老师教授的课程的学生的学号。
  7. 最后,对上一步得到的结果进行投影操作(πSNO),仅保留学号属性。

6、关系代数:检索至少选修两门课程的学生学号和姓名

题目

设有四个关系:

学生关系:S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);

课程关系:C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);

教师关系:T(TNO,TNAME,TSEX,TSPECIAL);

学习关系:SC(SNO,CNO,GRADE);

其中各属性和含义是:

学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL)

课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO)

教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)

请用关系代数表达式表示查询任务:检索至少选修两门课程的学生学号和姓名

代码

πSNO, SNAME (σ COUNT()>=2 (S ⨝ SC ⌊ π SNO, COUNT() (S ⨝ SC)) ⨝ S)

题解

  1. 首先,将学生关系 S 与学习关系 SC 进行自然连接(S ⨝ SC),得到每个学生选修的课程编号和成绩信息。
  2. 然后,对上一步得到的结果进行投影操作(πSNO, COUNT()),仅保留学号和选修课程数量两个属性。这里使用 COUNT() 函数统计每个学生选修的课程数量。
  3. 对上一步得到的结果进行再次自然连接(S ⨝ SC ⌊ πSNO, COUNT()(S ⨝ SC) ⌋),连接条件为学生关系中的学号和选修课程数量与上一步得到的结果中的对应属性相等。
  4. 最后,对上一步得到的结果进行投影操作(πSNO, SNAME),仅保留学号和姓名两个属性

7、关系代数表:查询自控和计算机专业学生的学号、姓名

题目

设有四个关系:学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);课程关系C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);教师关系T(TNO,TNAME,TSEX,TSPECIAL);学习关系SC(SNO,CNO,GRADE);

其中各属性和含义是:学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL),课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO),教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)。

请用关系代数表达式表示查询任务:查询自控和计算机专业学生的学号、姓名。

代码

πSNO, SNAME (σ SDEPT='自控' ∨ SDEPT='计算机' (S))

题解

查询自控和计算机专业学生的学号和姓名,可以使用关系代数的选择和投影操作进行查询。假设学生关系为 S,需要查询自控和计算机专业学生的学号和姓名,则可以使用以下表达式:

πSNO,SNAME(σSDEPT='自控’∨SDEPT=‘计算机’(S))

其中,σSDEPT='自控’∨SDEPT=‘计算机’(S) 表示在学生关系 S 中选择所在系为“自控”或“计算机”的学生;πSNO,SNAME(σSDEPT='自控’∨SDEPT=‘计算机’(S)) 表示在上一步得到的结果中,仅选择学号和姓名属性。

8、关系代数:检索李强同学不学的课程编号

题目

设有四个关系:学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT,SSPECIAL);课程关系C(CNO,CNAME,CCREDIT,CDEPT,CPRECNO,TNO);教师关系T(TNO,TNAME,TSEX,TSPECIAL);学习关系SC(SNO,CNO,GRADE);

其中各属性和含义是:学号(SNO),姓名(SNAME),性别(SSEX),年龄(SAGE),所在系(SDEPT),所在专业(SSPECIAL),课程号(CNO),课程名(CNAME),学分(CCREDIT),开课系(CDEPT),先修课程号(CPRECNO),教师编号(TNO),教师姓名(TNAME),教师性别(TSEX),从事专业(TSPECIAL),成绩(GRADE)。

请用关系代数表达式表示查询任务:检索李强同学不学的课程编号。

代码

CNO - πCNO(SC ⋈ (σSNAME='李强'(S)))

题解

查询李强同学不学的课程编号,可以使用关系代数的差集操作进行查询。假设学生关系为 S,学习关系为 SC,需要检索李强同学不学的课程编号,则可以使用以下表达式:

CNO - πCNO(SC ⋈ (σSNAME=‘李强’(S)) )

其中,σSNAME=‘李强’(S) 表示在学生关系 S 中选择姓名为“李强”的学生;SC ⋈ (σSNAME=‘李强’(S)) 表示将选择的学生与学习关系 SC 进行自然连接,得到李强同学所学的所有课程;πCNO(SC ⋈ (σSNAME=‘李强’(S))) 表示在上一步得到的结果中,仅选择课程编号属性;CNO - πCNO(SC ⋈ (σSNAME=‘李强’(S))) 表示在所有课程编号中,去掉李强同学所学的课程编号,得到李强同学不学的课程编号。

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

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

相关文章

月获2万份简历,硕士占比超70%!中欧基金如何破圈打造雇主品牌?

成立于2006年的中欧基金&#xff0c;作为国内首批实现员工持股的基金公司&#xff0c;坚持以人为本&#xff0c;相信优秀的业绩要靠优秀的人才来创造。 因此&#xff0c;中欧基金在完善公司治理机制基础上&#xff0c;实现不仅有敢打硬仗能打胜仗的将才&#xff0c;还有更多不…

Pytorch损失函数

基本用法 criterion LossCriterion() #构造函数有自己的参数loss criterion(x, y) #调用标准时也有参数 1 L1范数损失 L1Loss 计算 output 和 target 之差的绝对值。 torch.nn.L1Loss(reductionmean)参数&#xff1a; reduction-三个值 none: 不使用约简&#xff1b; me…

S32K系列MCU学习介绍

前言 最近因为工作需要&#xff0c;在学习恩智浦的S32K312&#xff0c;开发一款汽车PDU。 一、S32K3系列 1.特点 S32K系列是恩智浦公司于2017年推出的面向汽车电子的微控制器。S32K3 系列包括基于 Arm Cortex-M7 的 MCU&#xff0c;采用单步、双步和锁步内核配置&#xff0…

滴水逆向3期笔记与作业——01汇编

防止OneNote丢失。 海哥牛逼。 01汇编笔记 01进制进制定义10-2进制转换八进制 02数据宽度/逻辑运算数据宽度与存储逻辑运算计算机做加法的本质作业 03通用寄存器_内存读写通用寄存器表通用寄存器图内存读写计算机操作系统位数意义 04内存地址_堆栈寻址公式PUSH指令POP指令作业 …

《稻》念袁老,孙溟㠭先生为纪念袁隆平老先生治印一方

孙溟㠭篆刻作品《稻》 孙溟㠭篆刻作品《稻》 稻穗熟了&#xff0c;袁老走了。溟㠭先生为纪念袁隆平老先生而治印一枚。 拓印左侧禾苗繁茂&#xff0c;稻田里蛙声一片。拓印右侧为袁老的样子&#xff0c;人瘦心厚&#xff0c;顶着烈日&#xff0c;照料自己试验的稻田。袁老一…

3.黑马springboot开发篇自己修改笔记

SpringBoot开发实用篇 ​ KF-1.热部署 ​ 什么是热部署&#xff1f;简单说就是你程序改了&#xff0c;现在要重新启动服务器&#xff0c;嫌麻烦&#xff1f;不用重启&#xff0c;服务器会自己悄悄的把更新后的程序给重新加载一遍&#xff0c;这就是热部署。 ​ 热部署的功能…

[渗透教程]-017-入侵检测与社交网络安全

文章目录 1.入侵检测1.1 入侵检测基本概念1.2 入侵艰难侧系统评估指标1.3 入侵检测基本技术1.4 通用入侵检测框架2.社交网络安全1.入侵检测 1.1 入侵检测基本概念 入侵检测(Intrusion Detection),指对系统的运行状态进行监视,发现各种攻击企图、攻击行为或者攻击结果,以保证…

大神们分享STM32的学习方法

单片机用处这么广&#xff0c;尤其是STM32生态这么火&#xff01;如何快速上手学习呢&#xff1f; 第一&#xff1a;你要考虑的是&#xff0c;要用STM32实现什么 为什么使用STM32而不是8051? 是因为51的频率太低&#xff0c;无法满足计算需求?是51的管脚太少&#xff0c;无法…

MySQL单表操作

二、数据的新增、修改、删除 1.回顾ishop的数据表 mysql> use ishop; Database changed mysql> show tables; ----------------- | Tables_in_ishop | ----------------- | commodity | | commoditytype | | customer | | order | ----------…

【人工智能】遗传算法

人工智能算法---遗传算法&#xff08;基础篇&#xff09; 知识导图&#xff1a;遗传算法&#xff08;概念&#xff09;1.初始化种群二进制编码与解码 2.选择操作3.交叉操作4.评估操作5.终止操作 知识导图&#xff1a; 遗传算法&#xff08;概念&#xff09; 可以把遗传算法类比…

关于API接口应用

随着互联网技术的发展&#xff0c;API接口已成为众多应用程序开发中的必备工具&#xff0c;它不仅方便了开发者进行应用程序开发&#xff0c;也为应用程序提供了更多的功能和服务。本文将介绍API接口的概念和应用&#xff0c;以及API接口的优势和未来趋势。 一、什么是API接口…

Android 系统架构大图

android的系统架构和其操作系统一样&#xff0c;采用了分层的架构。从架构图看&#xff0c;android分为四个层&#xff0c;从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。 1.应用程序 Android会同一系列核心应用程序包一起发布&#xff0c;该应用…

Kubernetes快速部署

2 Kubernetes快速部署 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署&#xff1a; # 创建一个 Master 节点 $ kubeadm init# 将一个 Node 节点加入到当前集群中 $ kubeadm join <Master节点的IP和…

堆排序详解

如有错误&#xff0c;感谢不吝赐教、交流 文章目录 算法原理堆大根堆构建大根堆 小根堆 Java实现完整代码总结 算法原理 堆 堆是一个数组&#xff0c;可以被看成一个近似的完全二叉树&#xff0c;树上的每一个结点对应数组中的一个元素。除了最底层外&#xff0c;该树是完全…

Linux如何定时执行任务

目录 crontab 介绍 安装crontab 服务操作说明 操作案例 crontab 介绍 Linux crontab是采用定期执行程序的命令&#xff0c;当安装完成操作 系统后&#xff0c;默认便会启动此任务调度命令&#xff0c;crond命令每分钟都会定期检查是否要执行任务的工作&#xff0c;如果要执…

【链表】力扣206题:反转链表

【链表】力扣206题&#xff1a;反转链表 力扣206题&#xff1a;反转链表 建议在看题目之前先了解数组的具体知识点&#xff0c;可以看这里&#xff1a; 算法基础&#xff08;三&#xff09;&#xff1a;链表知识点及题型讲解。 其它题目&#xff1a; 【链表】力扣203题&#xf…

12 JS03——数据类型

目标&#xff1a; 1、数据类型简介 2、简单数据类型 3、获取变量数据类型 4、数据类型转换 5、拓展阅读 一、数据类型简介 1、为什么需要数据类型 在计算机中&#xff0c;不同的数据所需占用的存储空间是不同的&#xff0c;为了便于把数据分成所需内存大小不同的数据&#x…

GWO灰狼优化算法以及Matlab代码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 GWO灰狼算法原理进化更新位置更新&#xff08;紧随3只头狼&#xff09; GWO灰狼算法流程图GWO优化算法matlab代码main函数适应度函数GWO主体代码测试结果F1~ F6测试…

ESP8266通过MQTT协议连接onenet云平台

中国移动onenet平台 文章目录 中国移动onenet平台前言一、onenet平台二、ESP82661.完整代码2.联网代码3.连云代码4.数据处理 总结 前言 最近在弄onenet平台&#xff0c;用arduino结合esp8266&#xff0c;就是不知道怎么回事&#xff0c;一直连不上wifi&#xff0c;然后就用esp…

基础知识回顾

1.数组 数组工具类 二维数组 1.1概念 数组&#xff0c;标志是[ ],用于存储多个相同类型数据的集合&#xff0c;获取数组中的元素通过脚标&#xff08;下标&#xff09;来获取&#xff0c;数组下标是从0开始的 1.2创建数组 创建数组的方式分为两种 动态初始化 int[] a ne…