当前位置: 首页 > 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中投影出所有学生的学号。

http://www.lryc.cn/news/398476.html

相关文章:

  • 有向图的强连通分量——AcWing 367. 学校网络
  • 安全开发--多语言基础知识
  • 如何使一个盒子水平垂直居中(常用的)
  • 安全防御-用户认证综合实验
  • uniapp安卓离线打包配置scheme url
  • C++ STL std::lexicographical_compare用法和实现
  • ORM Bee,如何使用Oracle的TO_DATE函数?
  • HTML CSS 基础复习笔记 - 框架、装饰、弹性盒子
  • C++:创建线程
  • python如何查看类的函数
  • P6. 对局列表和排行榜功能
  • uniapp easycom组件冲突
  • 总结24个Python接单赚钱平台与详细教程,兼职月入5000+
  • macOS 的电源适配器设置
  • 视觉SLAM与定位之一前端特征点及匹配
  • 开源项目的认识理解
  • 37.哀家要长脑子了!--层序遍历
  • 【从零开始AI绘画6】StableDiffusionWebUI拓展的安装方法以及推荐的几个拓展
  • HTML5表单的自动验证、取消验证、自定义错误信息
  • SpringMVC系列九: 数据格式化与验证及国际化
  • 判断链表中是否有环(力扣141.环形链表)
  • Kubernetes基于helm部署jenkins
  • 【Linux】vim详解
  • Android11 mtk 第二次设置壁纸,锁屏壁纸不变的问题
  • Java学习路线
  • java 实现人脸检测
  • VSCode神仙插件——Codeium (AI编程助手)
  • css文本划线效果(text-decoration相关属性详解)
  • 《Windows API每日一练》8.5 listbox控件
  • 使用Node.js 框架( Express.js)来创建一个简单的 API 端点