2301_76509718 2024-05-11 11:10 采纳率: 86.7%
浏览 107
已结题

My SQL视图管理实验

(1)在MySQLWorkbench 或命令行环境下,创建计算机专业的学生视图 s_computer_view,视图包含学生表全部字段。
(2)在MySQL Workbench或命令行环境下,查询s_computer_view中内容。(3)在MySQL Workbench或命令行环境下,创建2002年(含)后出生的女学生视图s_female_view,视图显示学生的学号(s_no)、姓名(s_name)、学生性别(s_sex)、出生日期(s_birthday)以及学生的联系方式(s_contact)。
(4)在MySQL Workbench或命令行环境下,通过视图s_female_view,查询张姓学生的信息。
(5) 在MySQL Workbench或命令行环境下,创建学生选课信息视图sc view,显示选修3学分(含)学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)。
(6) 在 MySQL Workbench或命令行环境下,创建学生选课成绩视图 score_view,显示选修3学分(含)学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(C_name)、总成绩(total_score)。其中,总成绩按照--平时成绩平时成绩比重+考试成绩(1-平时成绩比重)公式计算。
(7)在MySQLWorkbench或命令行环境下,创建学生成绩汇总视图 score_group_view,提供每位学生考试成绩最高的选课信息,要求显示的视图字段包括学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)、考试成绩(total_score)。其中,总成绩按照一一平时成绩平时成绩比重+考试成绩(1-平时成绩比重)公式计算。
(8)在MySQL Workbench或命令行环境下,通过视图score_group_view,按考试成绩降序排列学生成绩汇总情况。
1.MySQL中使用MySQLWorkbench或者SQL语句修改和删除视图的方法(1)使用SQL语句,查看s_computer_view视图的结构信息和状态信息。2.使用SQL语句,查看s_female_view视图的创建信息和元信息。
3.在MySQL Workbench或命令行环境下,替换视图s_female_view,替换后的视图提供2003年(含)后出生的女学生信息,具体显示的字段包括学生的学号(s_no)、姓名(s_name)、学生性别(s_sex)、出生日期(s_birthday)。
4.在MySQLWorkbench或命令行环境下,修改视图sc_view,显示男同学选课情况,具体显示的字段包括学生学号(s_no)、姓名(s_name)、课程号(c_no)、课程名(c_name)、总成绩(total_score)。其中,总成绩按照一一平时成绩平时成绩比重+考试成绩(1-平时成绩比重)公式计算。
5.在MySQL Workbench或命令行环境下,删除视图s_female_view.

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-05-11 11:25
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    1. 创建计算机专业的学生视图 s_computer_view
    CREATE VIEW s_computer_view AS 
    SELECT * FROM student WHERE s_dept = '计算机';
    
    1. 查询 s_computer_view 视图内容
    SELECT * FROM s_computer_view;
    
    1. 创建2002年(含)后出生的女学生视图 s_female_view
    CREATE VIEW s_female_view AS
    SELECT s_no, s_name, s_sex, s_birthday, s_contact 
    FROM student 
    WHERE s_sex = '女' AND year(s_birthday) >= 2002;
    
    1. 通过视图 s_female_view,查询张姓学生的信息
    SELECT * FROM s_female_view WHERE s_name like '张%';
    
    1. 创建学生选课信息视图 sc_view
    CREATE VIEW sc_view AS 
    SELECT student.s_no, student.s_name, sc.c_no, course.c_name 
    FROM student, sc, course 
    WHERE student.s_no = sc.s_no AND sc.c_no = course.c_no AND course.c_credit >= 3;
    
    1. 创建学生选课成绩视图 score_view
    CREATE VIEW score_view AS
    SELECT student.s_no, student.s_name, course.c_no, course.c_name, 
           (sc.p_score*course.c_test_score_rate + sc.t_score*(1-course.c_test_score_rate)) as total_score 
    FROM student, sc, course
    WHERE student.s_no = sc.s_no AND sc.c_no = course.c_no AND course.c_credit >= 3;
    
    1. 创建学生成绩汇总视图 score_group_view
    CREATE VIEW score_group_view AS
    SELECT student.s_no, student.s_name, course.c_no, course.c_name, 
           MAX((sc.p_score*course.c_test_score_rate + sc.t_score*(1-course.c_test_score_rate))) as total_score
    FROM student, sc, course
    WHERE student.s_no = sc.s_no AND sc.c_no = course.c_no AND course.c_credit >= 3
    GROUP BY student.s_no, course.c_no;
    
    1. 通过视图 score_group_view,按考试成绩降序排列学生成绩汇总情况
    SELECT * FROM score_group_view
    ORDER BY total_score DESC;
    
    1. 查看视图结构和元信息 查看 s_computer_view 视图的结构信息和状态信息:
    SHOW CREATE VIEW s_computer_view;
    

    查看 s_female_view 视图的创建信息和元信息:

    SHOW CREATE VIEW s_female_view;
    
    1. 替换视图 s_female_view
    CREATE OR REPLACE VIEW s_female_view AS
    SELECT s_no, s_name, s_sex, s_birthday 
    FROM student 
    WHERE s_sex = '女' AND year(s_birthday) >= 2003;
    
    1. 修改视图 sc_view
    CREATE OR REPLACE VIEW sc_view AS 
    SELECT student.s_no, student.s_name, course.c_no, course.c_name, 
           (sc.p_score*course.c_test_score_rate + sc.t_score*(1-course.c_test_score_rate)) as total_score 
    FROM student, sc, course
    WHERE student.s_no = sc.s_no AND sc.c_no = course.c_no AND course.c_credit >= 3 AND student.s_sex = '男';
    
    1. 删除视图 s_female_view
    DROP VIEW s_female_view;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 创建了问题 5月11日