一、分析
1.1业务分析:
学生信息管理系统是面对学生和教师的一个多功能数据管理平台,能够给学生和教师提供对应的服务。
1.2分析系统:系统面向的用户、系统的功能
本系统所设计到的用户有在校学生,教师。对于学生来说,该用户可以查询自身信息以及课程成绩,教师可以通过该系统实现查询自身信息以及任课信息。
二、构建模型
2.1概念模型:ERP模型
在需求分析的基础上,确定教学管理系统的实体及其属性。为了顺利完成教学管理项目,必须保存学生、教师、课程、授课、成绩等信息,本系统中的主要实体应包含:学生实体、教师实体、课程实体以及成绩实体。
概念模型 如下图所示:
2.2数据模型:设计表格
2.21将EPR模型转换为关系模式
学生(学生编号、学生姓名、学生性别、学生年龄)
教师(教师编号、教师姓名、性别、年龄)
课程(课程编号、课程名称、教师编号)
成绩(学生编号、课程编号、课程分数)
二、设计表格
(1)学生实体(学生编号,姓名,性别,年龄)
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
s_id | int | 8 | 是 | 学生编号 |
s_name | varchar | 255 | 否 | 学生姓名 |
s_sex | varchar | 255 | 否 | 学生性别 |
s_age | int | 3 | 否 | 学生年龄 |
(2)教师实体(教师编号,教师姓名,教师性别,教师年龄)
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
t_id | int | 6 | 是 | 教师编号 |
t_name | varchar | 255 | 否 | 教师姓名 |
t_sex | varchar | 255 | 否 | 教师性别 |
t_age | int | 3 | 否 | 教师年龄 |
(3)课程实体(课程编号,课程名字,教师编号)
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
c_id | int | 2 | 是 | 课程编号 |
c_name | varchar | 255 | 否 | 课程名字 |
t_id | int | 2 | 否 | 教师编号 |
(4)成绩实体(学生编号,课程编号,课程成绩)
字段名 | 数据类型 | 长度 | 是否主键 | 说明 |
s_id | int | 6 | 否 | 学生编号 |
c_id | int | 3 | 否 | 课程编号 |
scores | int | 3 | 否 | 课程分数 |
三、创建表格
3.1学生表创建
create table student
(
s_id int(8) not null primary key auto_increment,
s_name varchar(255),
s_sex varchar(255),
s_age int(3),
) character set utf8;
3.2教师表创建
create table teacher
(
t_id int(6) not null primary key auto_increment,
t_name varchar(255),
t_sex varchar(255),
t_age int(3),
) character set utf8;
3.3课程表创建
create table courses
(
c_id int(2) not null primary key auto_increment,
c_name varchar(255),
t_id int(5),
) character set utf8;
3.4成绩表创建
create table score
(
s_id int(6),
c_id int(3),
scores int(3),
) character set utf8;
四、插入数据
4.1插入学生信息
INSERT INTO `student` VALUES (201503025, '张三', '男', 21);
INSERT INTO `student` VALUES (201503026, '李四', '男', 22);
INSERT INTO `student` VALUES (201503027, '王五', '男', 24);
INSERT INTO `student` VALUES (201503028, '王麻子', '男', 20);
INSERT INTO `student` VALUES (201503029, '芳芳', '女', 19);
INSERT INTO `student` VALUES (201503030, '小明', '男', 23);
4.2插入教师信息
INSERT INTO `teacher` VALUES (23222, '郁寻梅', '男', 37);
INSERT INTO `teacher` VALUES (23590, '亥虹英', '女', 38);
INSERT INTO `teacher` VALUES (23707, '迮立群', '女', 41);
INSERT INTO `teacher` VALUES (23782, '乌小星', '男', 42);
INSERT INTO `teacher` VALUES (24059, '贾从冬', '男', 39);
4.3插入课程信息
INSERT INTO `courses` VALUES (1, '高数', 23590);
INSERT INTO `courses` VALUES (2, '概率论', 23707);
INSERT INTO `courses` VALUES (3, '通信原理', 23222);
INSERT INTO `courses` VALUES (4, '高频电路', 24059);
INSERT INTO `courses` VALUES (5, '数字信号', 23782);
4.4插入成绩信息
INSERT INTO `score` VALUES (201503025, 1, 82);
INSERT INTO `score` VALUES (201503026, 1, 83);
INSERT INTO `score` VALUES (201503027, 1, 73);
INSERT INTO `score` VALUES (201503028, 2, 92);
INSERT INTO `score` VALUES (201503029, 2, 60);
INSERT INTO `score` VALUES (201503030, 2, 71);
INSERT INTO `score` VALUES (201503026, 2, 67);
INSERT INTO `score` VALUES (201503032, 2, 65);
INSERT INTO `score` VALUES (201503025, 3, 76);
INSERT INTO `score` VALUES (201503026, 3, 89);
INSERT INTO `score` VALUES (201503027, 3, 65);
INSERT INTO `score` VALUES (201503028, 3, 87);
INSERT INTO `score` VALUES (201503029, 3, 65);
INSERT INTO `score` VALUES (201503030, 4, 65);
INSERT INTO `score` VALUES (201503025, 4, 78);
INSERT INTO `score` VALUES (201503027, 4, 45);
INSERT INTO `score` VALUES (201503028, 5, 45);
INSERT INTO `score` VALUES (201503029, 5, 97);
INSERT INTO `score` VALUES (201503030, 5, 45);
五、维护
5.1查询教师信息
select *
from teacher;
5.2查询学生信息
select *
from student;
5.3.查询选课了高数科目的学生信息
select s.*,sc.scores,c.c_name
from student s
join score sc on s.s_id = sc.s_id
join courses c on s.c_id = c.c_id where c.c_name='高数';
5.4.查询对应科目教师信息
select t.*, c.c_id, c.c_name
from teacher t
join courses c on t.t_id = c.t_id;
5.5.修改学生信息
select s.*, c.c_name
from student s
join score sc on s.s_id = sc.s_id
join courses c on sc.c_id = c.c_id
where s.s_id = 201503025
and c.c_name = '高频电路';
5.6 查询年龄大于20岁的学生信息
select *
from student
where s_age > 20;