数据库-MySQL 实战项目——学生选课系统数据库设计与实现(附源码)

这篇具有很好参考价值的文章主要介绍了数据库-MySQL 实战项目——学生选课系统数据库设计与实现(附源码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

        该项目非常适合MySQL入门学习的小伙伴,博主提供了源码、数据和一些查询语句,供大家学习和参考,代码和表设计有什么不恰当还请各位大佬多多指点。

所需环境

  1.  MySQL可视化工具:navicat;
  2.  数据库:MySql 5.7/8.0等版本均可;

需求: 

     学生选课系统主要完成某学校教务系统中选课功能:

  1. 学生信息管理
  2. 教师信息管理
  3. 课程信息管理
  4. 教室信息管理
  5. 选课管理 

备注:

  1. 每个学生可选多门课程,每门课程有多个学生。
  2. 每位教师教授一门课程。
  3. 每个班级有多个学生,每个学生对应一个班级。
        其中:

                学生包含以下属性:学号、学生姓名、学生性别。

                教师包含以下属性:教工号、教师姓名、教师职称。

                课程包含以下属性:课程号、课程名、课程学分。

                教室包含以下属性:班级编号、学生人数、班级名称。

                选课包含以下属性:学生成绩。

二、E-R图

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

三、关系模式

 课程(课程号、课程名、课程学分教工号

教师(教工号、教师姓名、教师职称

选课(课程号学号成绩

学生(学号、学生姓名、学生性别班级编号

班级(班级编号学生人数、班级名称

 备注:

        下划线为主键,红色字为外键;

四、数据表的设计

表1:课程

字段

数据类型

长度

备注

课程号

varchar

50

主键

课程名

varchar

50

Not.null

课程学分

int

3

教工号

varchar

50

外键

 表2:教师

字段

数据类型

长度

备注

教工号

varchar

50

主键

教师姓名

varchar

50

Not.null

教师职称

varchar

50

 表3:学生

字段

数据类型

长度

备注

学号

varchar

50

主键

学生姓名

varchar

50

Not.null

学生性别

varchar

50

班级编号

varchar

50

外键

表4:班级

字段

数据类型

长度

备注

班级编号

varchar

50

主键

班级名称

varchar

50

Not.null

学生数量

int

5

表5:选课

字段

数据类型

长度

备注

学号

varchar

50

主键

课程号

varchar

50

主键

成绩

int

5

Not.null

五、创建数据库 

Create database 学生选课系统 character set utf8 collate utf8_general_ci
-- 在新建查询选择前选择数据库
use 学生选课系统  

 创建各实体表:

1. 老师

create table 老师
(
教工号 varchar(50) primary key,
教师姓名 varchar(50) not null,
教师职称 varchar(50)
)

2. 班级

create table 班级
(
班级编号 varchar(50) primary key,
班级名称 varchar(50) not null,
学生数量 int(5)
)

3. 课程

create table 课程
(
课程号 varchar(50) PRIMARY key,
课程名 varchar(50) not null,
课程学分 int(3),
教工号 char(5),
CONSTRAINT FK教工号 FOREIGN KEY (教工号) REFERENCES 老师(教工号)
)

4. 学生

create table 学生
(
学号 varchar(50) PRIMARY key,
学生姓名 varchar(50) not null,
学生性别 varchar(50),
班级编号 varchar(50),
CONSTRAINT FK 班级编号 FOREIGN KEY (班级编号) REFERENCES 班级(班级编号)
)

5. 选课

create table 选课
(
学号 varchar(50),
课程号 varchar(50),
成绩 int(5) not null,
PRIMARY KEY(学号, 课程号)
)

插入数据:

1. 老师 

INSERT INTO 老师 VALUES ('J001','wuping','教授');
INSERT INTO 老师 VALUES ('J002','zhangshuai','讲师');
INSERT INTO 老师 VALUES ('J003','liguoqiang','副教授');
INSERT INTO 老师 VALUES ('J004','wangni','讲师');
INSERT INTO 老师 VALUES ('J005','liubo','讲师');

2. 班级 

INSERT INTO 班级 VALUES ('B001','软件1班','30');
INSERT INTO 班级 VALUES ('B002','软件2班','29');
INSERT INTO 班级 VALUES ('B003','软件3班','31');
INSERT INTO 班级 VALUES ('B004','嵌入式1班','32');
INSERT INTO 班级 VALUES ('B005','嵌入式2班','33');
INSERT INTO 班级 VALUES ('B006','嵌入式3班','30');

3. 课程 

INSERT INTO 课程 VALUES ('K001','数据库','4','J002');
INSERT INTO 课程 VALUES ('K002','java','4','J003');
INSERT INTO 课程 VALUES ('K003','python','6','J001');
INSERT INTO 课程 VALUES ('K004','英语','2','J005');
INSERT INTO 课程 VALUES ('K005','数学','8','J004');

4. 学生 

INSERT INTO 学生 VALUES ('X005','zhangsan','男','B002');
INSERT INTO 学生 VALUES ('X004','lisi','女','B003');
INSERT INTO 学生 VALUES ('X003','wangwu','男','B004');
INSERT INTO 学生 VALUES ('X002','liuyu','男','B005');
INSERT INTO 学生 VALUES ('X001','chenqi','男','B001');
INSERT INTO 学生 VALUES ('X006','wangxin','女','B001');
INSERT INTO 学生 VALUES ('X007','yangli','男','B002');
INSERT INTO 学生 VALUES ('X008','qinyan','女','B006');

5. 选课 

INSERT INTO 选课 VALUES ('X001','K002','82');
INSERT INTO 选课 VALUES ('X001','K003','78');
INSERT INTO 选课 VALUES ('X002','K005','90');
INSERT INTO 选课 VALUES ('X002','K003','74');
INSERT INTO 选课 VALUES ('X003','K001','66');
INSERT INTO 选课 VALUES ('X003','K002','75');
INSERT INTO 选课 VALUES ('X004','K005','95');
INSERT INTO 选课 VALUES ('X004','K004','83');
INSERT INTO 选课 VALUES ('X005','K001','75');
INSERT INTO 选课 VALUES ('X005','K004','87');
INSERT INTO 选课 VALUES ('X007','K001','79');

六、基础查询命令

1. 查看xxx表所有信息:

   select * from xxxx  *表示全部,查看xxx的全部数据

select * from 老师

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

2. 查询表的某个或多个字段:

  select field1,field2…… from tablenname(表名)

select 学号,学生姓名 from 学生

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

3. 查询满足条件的信息:

  and满足所有条件。or满足其中任何一个条件就可以

select * from 学生 where 学生性别 ='男' and 班级编号 ='B002' and 学生姓名 = 'yangli'
mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

4. 区间查询:

  从选课中选取分数在80~90的(可取端点)

select * from 选课 where 成绩 between 80 and 90

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

5. 模糊查询: 

  在选课中查询分数以9开头的信息,%9%是查询信息中含有9的。%表示模糊数据

select * from 选课 where 成绩 like '9%'

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

 6. count()统计函数:

  从学生表格中统计B002班的有几个

select count(*) from 学生 where 班级编号 ='B002'

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

7. sum()求和函数 :

  从选课表格中计算分数和。

select sum(成绩) from 选课

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

8. avg()平均函数:

   求所有学生的平均成绩。

select avg(成绩) from 选课

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

9. max()最大函数 :

  从选课表格中查询课程号K003课的最高分。

select max(成绩) from 选课 where 课程号 ='K003'

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

10. min()最小值函数:

  从选课表格中查询课程号K003课的最低分

select min(成绩) from 选课 where 课程号 ='K003'

mysql中创建名为“scsc”的学生选课数据库,MySQL数据库,数据库,mysql

七、答疑解惑 

        代码有问题或需要其他的查询语句,都可以随时评论留言或联系博主QQ。

        还多请各位小伙伴多多点赞支持,你们的支持是我最大的动力。

博主QQ:1196094293

谢谢各位的支持~~文章来源地址https://www.toymoban.com/news/detail-844515.html

到了这里,关于数据库-MySQL 实战项目——学生选课系统数据库设计与实现(附源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大学生选修选课系统|基于Springboot的大学生选修选课系统设计与实现(源码+数据库+文档)

    大学生选修选课系统目录 目录 基于Springboot的大学生选修选课系统设计与实现 一、前言 二、系统功能设计  三、系统实现  1、用户信息管理 2、 课程信息管理 3、排课信息管理 4、公告信息管理  四、数据库设计 1、实体ER图   五、核心代码   六、论文参考 七、最新计算机

    2024年03月11日
    浏览(77)
  • 基于JavaWeb实现的学生选课系统(源码+数据库)

    本项目是一套基于JavaWeb实现的学生选课系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse 确保可以运行! 该系统功能完善、界面美观、

    2024年02月08日
    浏览(76)
  • 数据库实战:基于Tkinter+MySQL的学生成绩管理系统

    用Python和数据库一起实现了一个简单的学生成绩管理系统,一起来看看吧! 本篇博客主要分为两大部分,数据库部分和Python程序设计部分,先将数据导入到数据库中,随后通过python程序设计连接到数据库,实现一系列的操作。 代码下载地址:https://download.csdn.net/download/m0_68

    2024年02月03日
    浏览(59)
  • 【数据库——MySQL(实战项目1)】(1)图书借阅系统——数据库结构设计

    经过前期的学习,我们已经掌握数据库基础操作,因此是时候来做一个实战项目了—— 图书借阅系统 。对于图书借阅系统,相信大家不难想到至少需要 3 张表,分别是: 借阅人表 , 图书表 和 借阅信息表 (当然不限于这些表,大家可以根据自己的想法创建其它表)。 那么

    2024年02月03日
    浏览(68)
  • 网上商城系统MySql数据库设计项目实战

    说明:这是一个数据库课程设计实战项目(附带 代码+文档+视频讲解 ),如需 代码+文档+视频讲解 可以直接到文章最后获取。 项目背景         互联网的发展让各个产业突破传统的发展领域,产业功能不断进化,实现同一内容的多领域共生,前所未有地扩大了传统产业链,

    2024年01月25日
    浏览(53)
  • 基于MYSQL的论坛管理系统数据库设计项目实战

    说明:这是一个数据库课程设计实战项目(附带 代码+文档+视频讲解 ),如需 代码+文档+视频讲解 可以直接到文章最后获取。 项目背景 随着互联网行业的发展,各种论坛纷纷而来。在论坛系统中,可让用户注册成为论坛会员,取得发表言论的资格,同时也需要论坛信息管理

    2024年02月11日
    浏览(59)
  • java 学生信息管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 学生信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java 学生信息管理系统 二、

    2024年02月09日
    浏览(56)
  • 学生信息管理系统的数据库设计MySQL

    1.课程设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷

    2024年02月05日
    浏览(53)
  • 利用java和mysql数据库创建学生信息管理系统

    管理系统的使用可以大大提高我们的工作效率,给我们的生活带来极大的便利,因此我们在学习编程语言的时候大多是要学习和实现一个管理系统的创建的。 学生信息管理系统是进一步推进学生学籍管理规范化、电子化控制和管理学生信息的总要举措。系统针对学校学生信息

    2024年02月04日
    浏览(59)
  • 【MySQL数据库原理】在MySQL Workbench界面运行SQL代码——学生管理系统

    在 MySQL Workbench 8.0 中,你可以使用以下步骤新建内容并运行 MySQL 语言代码: 1、打开 MySQL Workbench 并连接到你的 MySQL 数据库服务器。 2、在左侧的导航栏中,展开你的连接以查看数据库。选择你要在其中运行 SQL 代码的数据库。 3、在顶部菜单栏中,点击 “Query”(查询)选项

    2024年02月03日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包