数据库作业

目录

数据库teaching中的表结构和表记录。

问题:

答案:


数据库teaching中的表结构和表记录。


   (1)学生信息表student
   #student表结构
     create table if not exists student (
     studentno  char(11) not null comment'学号', 
     sname char(8) not null comment'姓名', 
     sex enum('男', '女') default '男' comment'性别', 
     birthdate date not null comment'出生日期', 
     entrance int(3)  null comment'入学成绩',         
     phone varchar(12) not null comment'电话', 
     Email varchar(20) not null comment'电子信箱',
     primary key (studentno)
     );
   #student表常用数据
     studentno    sname sex    birthdate   entrance      phone          Email
     20112100072    许东方  男    2002/2/4         658      12545678998    su12@163.com 
     20112111208    韩吟秋  女    2002/2/14    666      15878945612    han@163.com 
     20120203567    封白玫  女    2003/9/9         898      13245674564    feng@126.com
     20120210009    崔舟帆  男    2002/11/5    789      13623456778    cui@163.com 
     20123567897    赵雨思  女    2003/8/4     879      13175689345    pinan@163.com
     20125121109    梁一苇  女    2002/9/3      777      13145678921    bing@126.com 
     20126113307    姚扶竹  女    2003/9/7      787      13245678543    zhu@163.com
     21125111109    敬秉辰  男    2004/3/1         789      15678945623 jing@sina.com 
     21125221327    何桐影  女    2004/12/4    879      13178978999  he@sina.com 
     21131133071    崔依歌  男    2002/6/6         787   15556845645  cui@126.com 
     21135222201    夏文斐  女    2005/10/6    867      15978945645  xia@163.com 
     21137221508    赵临江  男    2005/2/13    789      12367823453  ping@163.com 


   (2)课程信息表course
   #course表结构
     create table if not exists course (
     courseno  char(6) not null, 
     cname  char(6) not null, 
     type char(8) not null,  
     period int(2) not null, 
     exp int(2) not null,
     term int(2) not null,
     primary key (courseno)
     ); 
   #course表常用数据
     courseno    cname        type   period    exp    term
     c05103        高等数学        必修        64        16     2
     c05109        C语言        必修        48        16     2
     c05127        数据结构        必修        64        16     2
     c05138        软件工程        选修        48        8     5
     c06108        机械制图        必修        60        8     2
     c06127        机械设计        必修        64        8     3
     c06172        铸造工艺        选修        42        16     6
     c08106        经济法        必修        48        0     7
     c08123        金融学        必修        40        0     5
     c08171        会计软件        选修        32        8     8


   (3)成绩信息表score
   #score表结构
     create table if not exists score(
     studentno  char(11) not null, 
     courseno  char(6) not null, 
     daily float(4,1) default 0, 
     final float(4,1) default 0,
     primary key (studentno , courseno) 
     ); 
   #score表常用数据
     studentno    courseno     daily    final
     20112100072    c05103        99         92
     20120203567    c05103          78        67
     20120210009    c05103        65        98
     20125121109    c05103        88        79
     21125111109    c05103        96        97
     21137221508    c05103        77        92
     20112100072    c05109        95        82
     20120203567    c05109        87        86
     20125121109    c05109        77        82
     20126113307    c05109        89        95
     21125111109    c05109        87        82
     21125221327    c05109        89        95
     20120210009    c05138        88        89
     21137221508    c05138        74        91
     20112111208    c06108        77        82
     20120210009    c06108        79        88
     20123567897    c06108        99        99
     20126113307    c06108        78        67
     20112111208    c06127        85        91
     20120203567    c06127        97        97
     20112111208    c06172        89        95
     21125221327    c06172        88        62
     21131133071    c06172        78        95
     21125111109    c08106        77        91
     21135222201    c08106        91        77
     21137221508    c08106        89        62
     21131133071    c08123        78        89
     21135222201    c08123        79        99
     20112100072    c08171        82        69
     20125121109    c08171        85        91
     21131133071    c08171        88        98
     21135222201    c08171        85        92
     
   (4)教师信息表teacher
   #teacher表结构
     create table if not exists teacher (
     teacherno  char(6) not null comment '教师编号', 
     tname  char(8) not null comment'教师姓名', 
     major  char(10) not null comment '专业', 
     prof char(10) not null comment '职称',
     department char(16) not null comment '部门',
     primary key (teacherno)
     ); 
   #teacher表常用数据
     teacherno    tname        major        prof     department
     t05001        苏超然        软件工程        教授        计算机学院
     t05002        常可观        会计学        助教        管理学院
     t05003        孙释安        网络安全        教授        计算机学院
     t05011        卢敖治        软件工程        副教授    计算机学院
     t05017        茅佳峰        软件测试        讲师        计算机学院
     t06011        夏期年        机械制造        教授        机械学院
     t06023        卢释舟        铸造工艺        副教授    机械学院
     t07019        韩庭宇        经济管理        讲师        管理学院
     t08017        白成园        金融管理        副教授    管理学院
     t08058        孙有存        数据科学        副教授    计算机学院


   (5)纽带表teach_course
   #teach_course表结构
     create table if not exists teach_course (
     teacherno char(6) not null, 
     courseno  char(6) not null, 
     primary key (teacherno,courseno) 
     );
   #teach_course表常用数据
     teacherno  courseno
     t05001        c05103
     t05002        c05109
     t05003        c05127
     t05011        c05138
     t05017        c06108
     t05017        c06172
     t06011        c06127
     t06023        c05127
     t06023        c06172
     t07019        c08106
     t08017        c08123
     t08058        c08171


   (6)选课信息表se_course
   #se_course表结构
     create table se_course
     (sc_no int(6) not null auto_increment, 
     studentno  char(11) not null, 
     courseno  char(6) not null, 
     teacherno char(6) not null,  
     score   int(3)    null,
     sc_time timestamp not null default now(), 
     primary key (sc_no)
     );
   #se_course表常用数据示例
     sc_no  studentno    courseno  teacherno  score   sc_time       
     1       21125111109   c06172    t05017     NULL    2020-12-09 18:33:45
     2       20120210009    c06108      t06023     NULL    2020-12-24 18:30:15
     3       20123567897    t01239      t05003     NULL    2020-12-26 18:09:09

 

问题:

(1)在course表的cname列上创建索引IDX_cname。

(2)在student表的studentno和phone列上创建唯一索引uq_stu。并输出student表中的记录,查看输出结果的顺序。

(3)创建一个视图v_teacher,查询所有“计算机学院”教师的信息。

(4)创建一个视图v_avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排序。

(5)修改v_teacher的视图定义,添加with check option选项。

(6)通过视图v_teacher向基表teacher中分别插入数据('t05039','张馨月','计算机应用', '讲师', '计算机学院)和('t06018', '李书诚', '机械制造','副教授','机械学院'),并查看插入数据情况。

(7)通过视图v_teacher将基表teacher中教师编号为t05039的教师职称修改为‘副教授’。

答案:

1.

create index IDX_cname on course (cname);

select * from course;

2.

create unique index uq_stu on student (studentno, phone);

select * from student;

3.

create view v_teacher as select * from teacher where teacher.department='计算机学院';

select * from v_teacher;

4.

create view v_avgstu as select student.studentno,student.sname,avg(score.final) as avg from student join score on student.studentno=score.studentno group by score.studentno order by avg desc;

select * from v_avgstu;

5.

create view v_teacher as select * from teacher where teacher.department='计算机学院' with check option;

select * from v_teacher;

6.(注意:这里需要使用第3题创建的视图,因为这里插入了机械学院的数据)

insert into v_teacher(teacherno,tname,major,prof,department) values('t05039','张馨月','计算机应用','讲师','计算机学院');

insert into v_teacher(teacherno,tname,major,prof,department) values('t06018', '李书诚', '机械制造','副教授','机械学院');

select * from v_teacher;

7.

update v_teacher set prof='副教授' where teacherno='t05039';

select * from v_teacher;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c++ 11标准模板(STL) std::map(六)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…

【Linux驱动】认识驱动(驱动的概念、驱动分类)

目录 1、什么是驱动&#xff1f; 2、应用程序调用驱动基本流程 3、file_operations 结构体 4、驱动的分类 1、什么是驱动&#xff1f; 驱动就是一段程序&#xff0c;能够获取外设或者传感器数据、控制外设。驱动获取到的数据会提交给应用程序。 在 Linux 中一切皆为文件&…

物联网GPRS模块流量计算

物联网GPRS模块流量计算 MQTT(消息队列遥测传输) 是ISO 标准下一个基于TCP/IP的消息发布/订阅传输协议。 一、TCP消耗流量计算 以太网数据包结构&#xff1a; 以太网首部 IP首部 TCP首部 APPL首部 用户数据 以太网尾部 以太网首部为14个字节 IP首部为20个字节 TCP首部…

【CesiumJS入门】(1)创建Viewer及相关配置项

前言 在上一篇博客中&#xff0c;我们直接在vue组件完成初始渲染并创建 DOM 节点后通过 const map new Cesium.Viewer(cesiumContainer)构建了一个地球场景。 而本篇&#xff0c;我们将会专门把地球创建的方法写在一个js文件中&#xff0c;以便后续的调用。 同时&#xff0…

【JavaSE】Java基础语法(三十二):Stream流

文章目录 1. 体验Stream流2. Stream流的常见生成方式3. Stream流中间操作方法【应用】4. Stream流终结操作方法【应用】5. Stream流的收集操作 1. 体验Stream流 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素把集合中所有以"…

torch_scatter.scatter()的使用方法

学习目标&#xff1a; 在学习PyG时&#xff0c;遇到了 scatter 这个函数&#xff0c;经过学习加上自身的理解&#xff0c;记录如下以备复习 学习内容&#xff1a; src&#xff1a;表示输入的tensor&#xff0c;接下来被处理&#xff1b;index&#xff1a;表示tensor对应的索引…

机器学习 day14 ( 神经网络 )

神经网络的发展 最开始的动机&#xff1a;是通过构建软件来模拟大脑&#xff0c;但今天的神经网络几乎与大脑的学习方式无关 我们依据大脑中的神经网络&#xff0c;来构建人工神经网络模型。左图中&#xff1a;一个神经元可以看作一个处理单元&#xff0c;它有很多的输入/树突…

chatgpt赋能python:Python创建一个Animal类介绍

Python创建一个Animal类介绍 Python是一种高级编程语言&#xff0c;其简单易学、灵活性强、可读性高以及强大的库使得Python非常受欢迎。在Python中创建类非常容易且非常常见&#xff0c;我们可以使用Python创建各种类型的类。今天&#xff0c;我们将讨论如何使用Python创建一…

【时空权衡】

目录 知识框架No.0 时空权衡一、基本思想 No.1 计数排序一、比较计数二、分布计数 No.2 散列法一、开散列&#xff08;分离链&#xff09;二、闭散列&#xff08;开式寻址&#xff09; 知识框架 No.0 时空权衡 一、基本思想 其实时空权衡&#xff1a;是指在算法的设计中&…

进程信号(Linux)

进程信号 信号入门身边的信号进程信号 产生信号终端按键产生信号调用系统函数向目标进程发信号killraiseabort 硬件异常产生信号由软件条件产生信号 阻塞信号信号其他相关常见概念在内核中的表示sigset_t信号集操作函数sigprocmasksigpending 捕捉信号内核如何实现信号的捕捉si…

分布式简要说明

1.分布式简要说明 《分布式系统原理与范型》定义&#xff1a; 分布式系统是若干独立计算机的集合&#xff0c;这些计算机对于用户来说就像单个相关系统。 分布式系统 (distributed system) 是建立在网络之上的软件系统。 随着互联网的发展&#xff0c;网站应用的规模不断扩…

SAP-QM-物料主数据-质量管理视图字段解析

过账到质检库存&#xff1a;要勾选&#xff0c;否则收货后库存不进入质检库存HU检验&#xff1a;收货到启用HU管理的库位时产生检验批&#xff0c;例如某个成品物料是收货到C002库位&#xff0c;该库位启用了HU管理&#xff0c;那么此处要勾选。但是如果勾选了&#xff0c;却收…

04.hadoop上课笔记之java编程和hbase

1.win查看服务 netstat -an #linux也有#R数学建模语言 SCALAR 2.java连接注意事项,代码要设置用户 System.setProperty("HADOOP_USER_NAME", "hadoop");3.伪分布式的好处(不用管分布式细节,直接连接一台机器…,适合用于学习) 4.官方文档 查看类(static |…

Python期末复习题库(下)——“Python”

小雅兰期末加油冲冲冲&#xff01;&#xff01;&#xff01; 1. (单选题)下列关于文件打开模式的说法,错误的是( C )。 A. r代表以只读方式打开文件 B. w代表以只写方式打开文件 C. a代表以二进制形式打开文件 D. 模式中使用时,文件可读可写 2. (单选题)下列选项中,以追加…

webpack的使用

一、什么是webpack&#xff1f; webpack是一个前端构建工具&#xff0c;目前比较主流的构建工具&#xff0c;自定义的模块比较多。 二、应用场景 vue、react、angular 都可以通过webpack构建全部可供访问的页面数量不超过500个 三、安装 通过npm方式在项目根目录下执行命令…

htmlCSS-----CSS选择器(下)

目录 前言&#xff1a; 2.高级选择器 &#xff08;1&#xff09;子代选择器 &#xff08;2&#xff09;伪类选择器 &#xff08;3&#xff09;后代选择器 &#xff08;4&#xff09;兄弟选择器 相邻兄弟选择器 通用兄弟选择器 &#xff08;5&#xff09;并集选择器 &am…

【JavaSE】Java基础语法(二十六):Collection集合

文章目录 1. 数组和集合的区别2. 集合类体系结构3. Collection 集合概述和使用【应用】4. Collection集合的遍历【应用】5. 增强for循环【应用】 1. 数组和集合的区别 相同点 都是容器,可以存储多个数据不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型…

基于Yarn搭建Flink

基于Yarn搭建Flink 1. 概述 1.1 Yarn 简介 Apache Hadoop YARN是一个资源提供程序&#xff0c;受到许多数据处理框架的欢迎。Flink服务被提交给 YARN 的 ResourceManager&#xff0c;后者再由 YARN NodeManager 管理的机器上生成容器。Flink 将其 JobManager 和 TaskManager…

python爬虫笔记

Python爬虫笔记 一. Urllib 1. 基础请求 指定url请求返回值解码返回结果的一些操作 import urllib.request as req # 定义一个url url http://www.baidu.com# 发送请求获得相应 res req.urlopen(url)# read返回字节形式的二进制数据,需要用指定编码来解码 content res.r…

vue的虚拟DOM

vue的虚拟DOM 什么是虚拟DOM 虚拟DOM提供了一个与平台无关的抽象层&#xff0c;将应用程序的界面表示抽象为一个虚拟的DOM树。这意味着开发人员可以使用相同的代码和逻辑来描述应用程序的用户界面&#xff0c;而不需要关心具体的平台实现细节。虚拟DOM允许开发人员使用一种统…