MySQL课程设计——简易学生信息管理系统
学生信息管理系统
- 一 分析
- 1.1 系统需求分析
- 1.1.1 业务分析
- 1.1.2 分析系统
- 1.2 功能模块
- 1.2.1 学生模块
- 1.2.2 教师模块
- 二 构建模型
- 2.1 概念模型:ERP模型
- 2.2 数据模型:设计表格
- 2.2.1 将ERP模型转化为关系模式
- 2.2.2 设计表格
- 三 创建表格
- 3.1 学生表创建
- 3.2 教师表创建
- 3.3 课程表创建
- 3.4 成绩表创建
- 3.5 住宿表创建
- 3.6 职位表创建
- 四 插入数据
- 4.1 学生表数据添加
- 4.2 教师表数据添加
- 4.3 课程表数据添加
- 4.4 成绩表数据添加
- 4.5 住宿表数据添加
- 4.6 职位表数据添加
- 五 维护数据
- 5.1 查询学生所有信息
- 5.2 查询老师所有信息
- 5.3 查询选课了Java科目的学生信息
- 5.4 对应科目的老师信息
- 5.5 查询学号为102的学生选择Python课程
- 5.6 查询年龄大于20岁的学生信息
一 分析
1.1 系统需求分析
1.1.1 业务分析
学生信息管理系统时面向学生和学校教师的一个多功能数据管理平台。
1.1.2 分析系统
本系统所设计到的用户有学校在校学生、教师,对于不同的用户系统所提供给的功能也有所不同,其中对于学生来说,学生可以通过该系统进行学生基本信息查询、考试成绩查询、选修课程查询、住宿基本信息查询,修改自身部分基本信息,教师可以通过该系统实现对自身数据查询、学生成绩管理等。
1.2 功能模块
1.2.1 学生模块
学生是整个系统的使用者,学生可以通过该系统进行学生基本信息查询、考试成绩查询、选修课程查询、住宿基本信息查询,修改自身部分基本信息。
1.2.2 教师模块
教师是整个系统的使用者,教师可以通过该系统实现对自身数据查询、学生成绩管理等,修改自身部分基本信息。
二 构建模型
2.1 概念模型:ERP模型
学生信息管理系统是学生信息进行一体化管理的系统,它提供了学生学生基本信息管理、课程管理、成绩管理、住宿基本信息管理的功能,因此本系统所对应的实体就有学生、教师、课程、成绩、住宿,该系统的E-R图如下图所示。
2.2 数据模型:设计表格
2.2.1 将ERP模型转化为关系模式
按照将E-R图转换为关系模式的规则,将上图所示E-R图转换,得到的关系模式为:
学生(学号,姓名,年龄,院系,专业,住址)
教师(教师编号,教师姓名,教师年龄,教师职位,课程编号)
课程(课程编号,课程名称,开始时间,结束时间)
成绩(成绩编号,学生学号,课程编号,课程名称,学生成绩)
住宿(公寓编号,公寓名称,公寓校区,公寓楼层)
对上述关系模式进行以下优化。“教师”关系中的“教师职位”会出现大量的数据冗余,为了更好体现教师职位和教师之间的关联关系,可以进行拆分成一个职位表;可分出一个“职位”关系,包含“职位编号”和“职位名称”等属性,将“教师”关系中的“教师职位”属性改为“职位编号”。优化后的关系模式为:
学生(学号,姓名,年龄,院系,专业,住址)
教师(教师编号,教师姓名,教师年龄,职位编号,课程编号)
课程(课程编号,课程名称,开始时间,结束时间)
成绩(成绩编号,学生学号,课程编号,课程名称,学生成绩)
住宿(公寓编号,公寓名称,公寓校区,公寓楼层)
职位(职位编号,职位名称)
2.2.2 设计表格
(1)学生实体(学生学号,学生姓名,学生年龄,所在院系,学生专业,学生住址)用于记录保存系统使用用户(学生)的基本信息;该表设计如表2.1所示。
2.1 学生表
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
---|---|---|---|---|
stu_id | int | 14 | 是 | 学生表主键 |
stu_name | varchar | 12 | 否 | 学生姓名 |
stu_age | int | 2 | 否 | 学生年龄 |
stu_department | varcahr | 10 | 否 | 所在院系 |
stu_major | varcahr | 10 | 否 | 学生专业 |
address | varcahr | 255 | 否 | 学生住址 |
(2)教师实体(教师编号,教师姓名,教师年龄,职位编号,课程编号)用于记录保存系统使用用户(教师)的基本信息;该表设计如表2.2所示。
2.2 教师表
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
---|---|---|---|---|
t_id | int | 16 | 是 | 教师表主键 |
t_name | varchar | 12 | 否 | 教师姓名 |
t_age | int | 2 | 否 | 教师年龄 |
p_id | int | 16 | 否 | 职位编号 |
course_id | int | 16 | 否 | 课程编号 |
(3)课程实体(课程编号,课程名称,开始时间,结束时间)用于记录保存系统使用用户(学生)的课程信息;该表设计如表2.3所示。
2.3 课程表
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
---|---|---|---|---|
c_id | int | 16 | 是 | 课程表主键 |
c_name | varchar | 12 | 否 | 课程名称 |
start_time | date | 否 | 开始时间 | |
end_time | date | 否 | 结束时间 |
(4)成绩实体(成绩编号,学生学号,课程编号,课程名称,学生成绩)用于记录保存系统使用用户(学生)的成绩信息;该表设计如表2.4所示。
2.4 成绩表
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
---|---|---|---|---|
score_id | int | 16 | 是 | 成绩表主键 |
s_id | int | 16 | 否 | 学生学号 |
c_id | int | 16 | 否 | 课程编号 |
c_name | varchar | 12 | 否 | 课程名称 |
score | int | 3 | 否 | 课程成绩 |
(5)住宿实体(公寓编号,公寓名称,公寓校区,公寓楼层)用于记录保存系统使用用户(学生)的住宿信息;该表设计如表2.5所示。
2.5 住宿表
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
---|---|---|---|---|
apartment_id | int | 16 | 是 | 住宿表主键 |
apartment_name | varchar | 12 | 否 | 公寓名称 |
apartment_campus | varchar | 8 | 否 | 公寓校区 |
apartment_floor | int | 2 | 否 | 公寓楼层 |
(6)职位实体(职位编号,职位名称)用于记录保存系统使用用户(教师)的职位信息;该表设计如表2.6所示。
2.6 职位表
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
---|---|---|---|---|
position_id | int | 16 | 是 | 职位表主键 |
position_name | varchar | 12 | 否 | 职位名称 |
三 创建表格
3.1 学生表创建
在这create table student
(
stu_id int(14) not null primary key auto_increment comment '学生表主键', stu_name varchar(12) comment '学生姓名', stu_age int(2) comment '学生年龄', stu_department varchar(10) comment '所在院系', stu_major varchar(10) comment '学生专业', address varchar(255) comment '学生住址') character set utf8;
3.2 教师表创建
create table teacher
(
t_id int(16) not null primary key auto_increment comment '教师表主键', t_name varchar(12) comment '教师姓名', t_age int(2) comment '教师年龄', p_id int(16) comment '职位编号', course_id int(16) comment '课程编号') character set utf8;
3.3 课程表创建
create table course
( c_id int(16) not null primary key auto_increment comment '课程表主键', c_name varchar(12) comment '课程名称', start_time date comment '开始时间', end_time date comment '结束时间') character set utf8;
3.4 成绩表创建
create table score
( score_id int(16) not null primary key auto_increment comment '创建表主键', s_id int(16) comment '学生学号', c_id int(16) comment '课程编号', c_name varchar(12) comment '课程名称', score int(3) comment '课程成绩') character set utf8;
3.5 住宿表创建
create table apartment
( apartment_id int(16) not null primary key auto_increment comment '住宿表主键', apartment_name varchar(12) comment '公寓名称', apartment_campus varchar(8) comment '公寓校区', apartment_floor int(2) comment '公寓楼层') character set utf8;
3.6 职位表创建
create table position
( position_id int(16) not null primary key auto_increment comment '职位表主键', position_name varchar(12) comment '职位名称') character set utf8;
四 插入数据
4.1 学生表数据添加
INSERT INTO student (stu_id, stu_name, stu_age, stu_department, stu_major, address)VALUES (101, '张三', 18, '计算机', '软件工程', '湖北武汉'), (102, '李四', 21, '文新', '汉语言', '湖南长沙')
4.2 教师表数据添加
INSERT INTO teacher (t_id, t_name, t_age, p_id, course_id)VALUES (201, '张三', 31, 601, 301), (202, '李四', 32, 602, 602)
4.3 课程表数据添加
INSERT INTO course (c_id, c_name, start_time, end_time)VALUES (301, 'Java', '2022-03-15', '2022-06-15'), (302, 'Python', '2021-09-16', '2021-12-16')
4.4 成绩表数据添加
INSERT INTO score (score_id, s_id, c_id, c_name, score)VALUES (401, 101, 301, 'Java', 95), (402, 102, 302, 'Python', 87)
4.5 住宿表数据添加
INSERT INTO apartment (apartment_id, apartment_name, apartment_campus, apartment_floor)VALUES (501, '楷苑', '龙山校区', 6), (502, '桃苑', '龙山校区', 12);
4.6 职位表数据添加
INSERT INTO position (position_id, position_name)VALUES (601, '讲师'), (602, '教授')
五 维护数据
5.1 查询学生所有信息
select * from student;
5.2 查询老师所有信息
select * from teacher;
5.3 查询选课了Java科目的学生信息
select s.*,sc.score,c.c_namefrom student s join score sc on s.stu_id = sc.s_id join course c on sc.c_id = c.c_id where c.c_name='Java';
5.4 对应科目的老师信息
select t.*, c.c_id, c.c_namefrom teacher t join course c on t.course_id = c.c_id;
5.5 查询学号为102的学生选择Python课程
select s.*, c.c_namefrom student s join score sc on s.stu_id = sc.s_id join course c on sc.c_id = c.c_idwhere s.stu_id = 102and c.c_name = 'Python';
5.6 查询年龄大于20岁的学生信息
select *from studentwhere stu_age > 20;
MySQL课程设计——简易学生信息管理系统相关推荐
- 数据结构课程设计论文--学生信息管理系统
数据结构课程设计论文--学生信息管理系统 1.学生成绩分析问题 (1)问题描述.录入并保存一个班级学生多门课程的成绩,并对成绩进行分析. (2)基本要求.a)通过键盘输入各学生的多门课程的成绩,建立相 ...
- Python课程设计之学生信息管理系统
Python课程设计之学生信息管理系统 需求分析 系统设计 主函数设计 录入学生信息 删除学生信息 修改学生信息 查找学生信息 统计学生总人数 显示所有学生信息 排序模块 项目所有源码下载地址 需求分 ...
- c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...
河南理工大学计算机学院 <C语言程序设计>课程设计报告 题目: 学生信息管理系统 专业: 计算机科学与技术 班级: 计算机XX班 学号: 311009033232 姓名: ***** 日期 ...
- Java课程设计【学生信息管理系统】
课程设计目录 一.问题描述 二.基本要求 三.需求分析 四.概要设计 1.类之间的调用关系 2.学生信息模块 3.系统管理模块 4.详细设计 ①主程序LoginGUI的代码 ②程序View的代码 ③程 ...
- c语言课程设计报告15页左右,C语言课程设计报告——学生信息管理系统(15页)-原创力文档...
C语言程序设计 课程设计报告 设计题目:学生信息管理系统 专 业 电子信息工程 班 级 学 生 指导教师 年 学期 设计任务: C语言课程设计任务书及指导书 5 题目:学生信息管理系统 功能:学生信息 ...
- 数据结构与算法 课程设计报告——学生信息管理系统
一.概述 1.开发背景 使用计算机对学生信息进行管理,拥有手工管理所无法比拟的优点.例如:检索迅速.查找方便.可靠性高.存储量大.成本低等.这些优点能够极大地提高学生信息的效率,也是管理科学化.正规化 ...
- 学生成绩管理系统mysql课程设计_学生成绩管理系统数据库课程设计报告.doc
目 录 TOC \o "1-2" \h \z \u HYPERLINK \l "_Toc303696065" 1.开发背景 PAGEREF _Toc303696 ...
- 基于MFC——C++课程设计《学生信息管理系统》
文章目录 前言 一.系统设计功能: 二.对应板块 1.登陆板块 2.系统主页面相应功能 总结 前言 随笔之作,希望通过写文章的方式加深自己对于C++知识架构和设计过程中出现的一些Bug的印象,如有错误 ...
- 学生成绩管理系统python课程设计,简易学生成绩管理系统Python
# -*- coding: utf-8 -*- import random #成绩管理系统 score={} #录入成绩 score={"数学":{"小明":9 ...
最新文章
- delete 多表删除的使用
- mysql5.6.37 主从同步_MySQL5.6 Replication主从复制(读写分离) 配置完整版
- android string 转成json对象_Android开发:生成桌面快捷方式是这样做的
- mysql adodb_关于从MySQL转向ADODB的方法
- maven-assembly-plugin插件打包 jar、tar.gz
- [转]STL的内存分配器
- Spring Framework的核心:Spring AOP
- Codeforces 385C 线性筛素数
- (Oracle、SqlServer、Access)数据库开发代码生成工具SharpCode2.0
- js ajax上传file文件上传,使用ajaxfileupload.js实现上传文件功能
- mysql数据库url正确的是_下面关于连接mysql下的mydb数据库的url,编写正确的是()...
- 马哥python培训视频
- 数控计算机辅助编程软件,Cimatron数控编程软件
- 如何保障短网址的安全性?
- 华东交通大学计算机考研资料汇总
- 专家提醒:“对乙酰氨基酚”(该品国际非专有药名为Paracetamol,商品名很多)不宜过量使用
- python怎么保存代码.py_pycharm的基本操作,创建项目,新建py文件,编写代码及保存...
- mac系统下载nvm管理node版本
- 大数据外部性案例分析_外部性案例分析
- 笔记本双网卡实现同时访问内外网
热门文章
- 天空之城 10孔口琴
- ip iq 谐波检测matlab仿真,ip-iq谐波检测法的仿真及实验研究ip-iq谐波检测法的仿真及实验研究.pdf...
- FCC TributePage
- 对象认知全提升,成为 JS 高手
- UE4旅途之渲染后模型变黑(2UV坑)及阴影不清问题
- JS中 ?? 与 || 的区别
- 超详细!linux系统nlg-eval安装指南
- matlab中awgn给信号添加高斯白噪声
- rdkit 分子性质描述符(Descriptors)
- 66万新购奔驰漏油,车主欲暂停还贷,奔驰金融:贷款必须还!