logo
  • write-homewrite-home-active首页
  • icon-chaticon-chat-activeAI 智能助手
  • icon-pluginicon-plugin-active浏览器插件
  • icon-subjecticon-subject-active学科题目
  • icon-uploadicon-upload-active上传题库
  • 更多功能
  • icon-appicon-app-active手机APP
首页
/
计算机
题目

关系代数[1]与 SQL 语句题(共 40 分)已知关系模式[2]如下:学生表 Student(Sno, Sname, Sage, Sdept)课程表 Course(Cno, Cname, Ccredit)选课表 SC(Sno, Cno, Grade)(一)关系代数题(每题 5 分,共 15 分)1. 查询所有计算机系(CS)学生的学号和姓名。2. 查询选修了课程号为 “C01” 的学生学号。3. 查询选修了课程名为 “数据库” 的学生姓名。(二)SQL 语句题(每题 5 分,共 25 分)1. 创建学生表 Student,包含字段:学号(主键)、姓名、年龄、所在系。2. 向 Course 表中插入一条记录:课程号 C10,课程名 “人工智能”,学分 3。3. 查询所有年龄大于 20 岁的学生姓名和年龄。4. 查询选修了 “数据库” 课程且成绩大于等于 90 分的学生姓名。5. 创建一个视图,显示每个学生的学号、姓名及其选修课程的平均成绩。

关系代数[1]与 SQL 语句题(共 40 分)

已知关系模式[2]如下:

学生表 Student(Sno, Sname, Sage, Sdept)

课程表 Course(Cno, Cname, Ccredit)

选课表 SC(Sno, Cno, Grade)

(一)关系代数题(每题 5 分,共 15 分)

1. 查询所有计算机系(CS)学生的学号和姓名。

2. 查询选修了课程号为 “C01” 的学生学号。

3. 查询选修了课程名为 “数据库” 的学生姓名。

(二)SQL 语句题(每题 5 分,共 25 分)

1. 创建学生表 Student,包含字段:学号(主键)、姓名、年龄、所在系。

2. 向 Course 表中插入一条记录:课程号 C10,课程名 “人工智能”,学分 3。

3. 查询所有年龄大于 20 岁的学生姓名和年龄。

4. 查询选修了 “数据库” 课程且成绩大于等于 90 分的学生姓名。

5. 创建一个视图,显示每个学生的学号、姓名及其选修课程的平均成绩。

题目解答

答案

(一) 关系代数题

  1. $\pi_{Sno, Sname}(\sigma_{Sdept = 'CS'}(Student))$
  2. $\pi_{Sno}(\sigma_{Cno = 'C01'}(SC))$
  3. $\pi_{Sname}(\sigma_{Cname = '数据库'}(Course) \bowtie SC \bowtie Student)$ 或 $\pi_{Sname}(Student \bowtie (\pi_{Sno}(\sigma_{Cname = '数据库'}(Course) \bowtie SC)))$

(二) SQL语句题

  1. CREATE TABLE Student (
     Sno CHAR(10) PRIMARY KEY,
     Sname VARCHAR(20),
     Sage INT,
     Sdept VARCHAR(20)
    );
  2. INSERT INTO Course (Cno, Cname, Ccredit) VALUES ('C10', '人工智能', 3);
  3. SELECT Sname, Sage
    FROM Student
    WHERE Sage > 20;
  4. SELECT Sname
    FROM Student
    JOIN SC ON Student.Sno = SC.Sno
    JOIN Course ON SC.Cno = Course.Cno
    WHERE Course.Cname = '数据库' AND SC.Grade >= 90;
  5. CREATE VIEW StudentAvgGrade AS
    SELECT Student.Sno, Student.Sname, AVG(SC.Grade) AS AvgGrade
    FROM Student
    JOIN SC ON Student.Sno = SC.Sno
    GROUP BY Student.Sno, Student.Sname;

解析

本题主要考查关系代数和 SQL 语句的运用,解题思路如下:

(一)关系代数题

  1. 查询所有计算机系(CS)学生的学号和姓名
    • 本题考查对关系代数选择和投影操作的理解。解题思路是先从学生表 Student 中选择出所在系为 “CS” 的记录,然后从这些记录中投影出学号和姓名。
    • 解析:
      • 选择操作 $\sigma_{Sdept = 'CS'}(Student)$ 用于从 Student 表中筛选出 Sdept 字段值为 “CS” 的所有记录。
      • 投影操作 $\pi_{Sno, Sname}$ 用于从筛选后的记录中提取出 Sno(学号)和 Sname(姓名)字段。
      • 所以最终的关系代数表达式为 $\pi_{Sno, Sname}(\sigma_{Sdept = 'CS'}(Student))$。
  2. 查询选修了课程号为 “C01” 的学生学号
    • 本题考查对关系代数选择和投影操作的运用。解题思路是先从选课表 SC 中选择出课程号为 “C01” 的记录,然后从这些记录中投影出学生学号。
    • 解析:
      • 选择操作 $\sigma_{Cno = 'C01'}(SC)$ 用于从 SC 表中筛选出 Cno 字段值为 “C01” 的所有记录。
      • 投影操作 $\pi_{Sno}$ 用于从筛选后的记录中提取出 Sno(学号)字段。
      • 所以最终的关系代数表达式为 $\pi_{Sno}(\sigma_{Cno = 'C01'}(SC))$。
  3. 查询选修了课程名为 “数据库” 的学生姓名
    • 本题考查对关系代数连接、选择和投影操作的综合运用。解题思路有两种,一种是先将 Course 表、SC 表和 Student 表进行连接,然后选择出课程名为 “数据库” 的记录,最后投影出学生姓名;另一种是先从 Course 表和 SC 表中找出选修 “数据库” 课程的学生学号,再与 Student 表连接并投影出学生姓名。
    • 解析:
      • 方法一:
        • 连接操作 $\sigma_{Cname = '数据库'}(Course) \bowtie SC \bowtie Student$ 先将 Course 表、SC 表和 Student 表进行连接,同时选择出 Cname 字段值为 “数据库” 的记录。
        • 投影操作 $\pi_{Sname}$ 用于从连接后的记录中提取出 Sname(姓名)字段。
        • 所以表达式为 $\pi_{Sname}(\sigma_{Cname = '数据库'}(Course) \bowtie SC \bowtie Student)$。
      • 方法二:
        • 先进行连接操作 $\sigma_{Cname = '数据库'}(Course) \bowtie SC$,从 Course 表和 SC 表中找出选修 “数据库” 课程的记录。
        • 投影操作 $\pi_{Sno}$ 用于从这些记录中提取出 Sno(学号)字段。
        • 再将得到的学号与 Student 表进行连接 `Student \bowtie (\pi{Sno}(\sigma{Cname = '数据库'}(Course) \bowtie SC))$。
        • 最后投影操作 $\pi_{Sname}$ 用于从连接后的记录中提取出 Sname(姓名)字段。
        • 所以表达式为 $\pi_{Sname}(Student \bowtie (\pi_{Sno}(\sigma_{Cname = '数据库'}(Course) \bowtie SC)))$。

(二)SQL 语句题

  1. 创建学生表 Student,包含字段:学号(主键)、姓名、年龄、所在系
    • 本题考查 SQL 中创建表的语句。解题思路是使用 CREATE TABLE 语句定义表名和各个字段的名称、数据类型,并指定主键。
    • 解析:
      • CREATE TABLE Student 用于创建名为 Student 的表。
      • Sno CHAR(10) PRIMARY KEY 定义 Sno 字段为字符类型,长度为 10,并将其设置为主键。
      • Sname VARCHAR(20) 定义 Sname 字段为可变长度字符串类型,最大长度为 20。
      • Sage INT 定义 Sage 字段为整数类型。
      • Sdept VARCHAR(20) 定义 Sdept 字段为可变长度字符串类型,最大长度为 20。
      • 所以完整的 SQL 语句为 CREATE TABLE Student ( Sno CHAR(10) PRIMARY KEY, Sname VARCHAR(20), Sage INT, Sdept VARCHAR(20) );。
  2. 向 Course 表中插入一条记录:课程号 C10,课程名 “人工智能”,学分 3
    • 本题考查 SQL 中插入数据的语句。解题思路是使用 INSERT INTO 语句指定要插入数据的表名和字段,然后使用 VALUES 关键字提供具体的插入值。
    • 解析:
      • INSERT INTO Course (Cno, Cname, Ccredit) 表示要向 Course 表的 Cno、Cname 和 Ccredit 字段插入数据。
      • VALUES ('C10', '人工智能', 3) 提供了具体的插入值,分别对应课程号、课程名和学分。
      • 所以完整的 SQL 语句为 INSERT INTO Course (Cno, Cname, Ccredit) VALUES ('C10', '人工智能', 3);。
  3. 查询所有年龄大于 20 岁的学生姓名和年龄
    • 本题考查 SQL 中查询语句的使用。解题思路是使用 SELECT 语句指定要查询的字段,从 Student 表中筛选出年龄大于 20 岁的记录。
    • 解析:
      • SELECT Sname, Sage 表示要查询 Sname(姓名)和 Sage(年龄)字段。
      • FROM Student 表示从 Student 表中查询数据。
      • WHERE Sage > 20 用于筛选出 Sage 字段值大于 20 的记录。
      • 所以完整的 SQL 语句为 SELECT Sname, Sage FROM Student WHERE Sage > 20;。
  4. 查询选修了 “数据库” 课程且成绩大于等于 90 分的学生姓名
    • 本题考查 SQL 中多表连接和条件查询的运用。解题思路是使用 JOIN 关键字将 Student 表、SC 表和 Course 表进行连接,然后根据课程名和成绩条件筛选出符合要求的记录,最后查询出学生姓名。
    • 解析:
      • SELECT Sname 表示要查询 Sname(姓名)字段。
      • FROM Student JOIN SC ON Student.Sno = SC.Sno JOIN Course ON SC.Cno = Course.Cno 用于将 Student 表、SC 表和 Course 表进行连接,连接条件分别是 Student 表和 SC 表的 Sno 字段相等,SC 表和 Course 表的 Cno 字段相等。
      • WHERE Course.Cname = '数据库' AND SC.Grade >= 90 用于筛选出课程名为 “数据库” 且成绩大于等于 90 分的记录。
      • 所以完整的 SQL 语句为 SELECT Sname FROM Student JOIN SC ON Student.Sno = SC.Sno JOIN Course ON SC.Cno = Course.Cno WHERE Course.Cname = '数据库' AND SC.Grade >= 90;。
  5. 创建一个视图,显示每个学生的学号、姓名及其选修课程的平均成绩
    • 本题考查 SQL 中创建视图的语句。解题思路是使用 CREATE VIEW 语句定义视图名,然后使用 SELECT 语句查询每个学生的学号、姓名和选修课程的平均成绩,通过 GROUP BY 子句按学生学号和姓名进行分组。
    • 解析:
      • CREATE VIEW StudentAvgGrade 用于创建名为 StudentAvgGrade 的视图。
      • SELECT Student.Sno, Student.Sname, AVG(SC.Grade) AS AvgGrade 表示要查询 Student 表的 Sno(学号)和 Sname(姓名)字段,以及 SC 表中成绩的平均值,并将其命名为 AvgGrade。
      • FROM Student JOIN SC ON Student.Sno = SC.Sno 用于将 Student 表和 SC 表进行连接,连接条件是 Student 表和 SC 表的 Sno 字段相等。
      • GROUP BY Student.Sno, Student.Sname 用于按学生学号和姓名进行分组,以便计算每个学生的平均成绩。
      • 所以完整的 SQL 语句为 CREATE VIEW StudentAvgGrade AS SELECT Student.Sno, Student.Sname, AVG(SC.Grade) AS AvgGrade FROM Student JOIN SC ON Student.Sno = SC.Sno GROUP BY Student.Sno, Student.Sname;。

相关问题

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

  • 4/5 以下属于人工智能实际应用的是()。A. 机器视觉B. 人脸识别C. 计算机辅助自动规划D. 智能工业机器人E. 刷卡门禁

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 1、网上银行系统的一次转账操作过程中发生了转账金额被非法篡改的行为,这破坏了信息安全的()属性。A. 完整性B. 保密性C. 不可否认性D. 可用性

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构

  • Windows中“复制”操作的快捷键是Ctrl+V。

  • 2、网络安全工作的目标包括:()。A. 信息机密性B. 信息完整性C. 服务可用性D. 以上都是

  • 下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

  • 8、信息安全“三个不发生”不包括( )。单选题Box 确保不发生大面积信息系统故障停运事故Box 确保不发生恶性信息泄密事故Box 确保不发生信息外网网站被恶意篡改事故Box 确保不发生信息内网非法外联事故

  • 9、不在网络安全的基本属性范围内的()。A. 机密性B. 可用性C. 完整性D. 多样性

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号