学生信息管理系统(数据库设计)

Posted 秃头小张哟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生信息管理系统(数据库设计)相关的知识,希望对你有一定的参考价值。

1 分析

1.1 业务分析:

学生信息管理系统是高校面向教师和学生设计的一个多功能数据管理平台,本篇文章针对学生信息管理系统的数据库进行分析。

1.2 系统分析:

(1)用户:学生,教师

(2)功能:学生和教师信息的增删查改,教师为学生学科成绩打分,学生查看学科对应的教师信息,学生查看自己的成绩等等。

1.2.1 学生用户

对于学生用户需要实现的功能有:

(1)学生查看自己的信息,进行增删改查处理;

(2)学生根据自己的课程编号,学号进行查询自己的成绩;

(3)学生查询课程信息和任课老师信息;

等等。

1.2.2 教师用户

对于教师用户需要实现的功能有:

(1)教师查看自己的信息,进行增删改查处理;

(2)教师查询学生信息

(3)教师根据课程编号给学生成绩;

(4)教师查询学生成绩的最高分,平均分;

2 构建模型

2.1 概念模型(ERP模型)

根据上述的学生信息管理系统功能分析,得到本系统需要的实体有:学生、教师、成绩、课程等,并根据系统所需的功能,分析实体所需要的属性,画出如下E-R图。

2.2.1 E-R图

2.2 数据模型

2.2.1 将ERP模型转化为关系模式

按照E-R图转换为关系模式的规则,将上述E-R图转换,得到的关系模式为:

学生(学生学号、姓名、年龄、性别、户籍);

教师(教师编号、姓名、年龄、性别、户籍);

课程(课程编号、课程名称、教师编号、课程时间);

成绩(课程编号、学生学号、分数);

2.2.3 设计表格

(1)学生表(student)

类型长度不是null注释
stu_idint20🔑学生学号
stu_namevarchar20学生姓名
stu_agevarchar20学生年龄
stu_gandervarchar10学生性别
stu_addressvarchar30学生户籍

(2)教师表(teacher)

类型长度不是null注释
tea_idint20🔑教师编号
tea_namevarchar20教师姓名
tea_intint20教师年龄
tea_gandervarchar10教师性别
tea_addressvachar20教师户籍

(3)课程表(course)

类型长度不是null注释
cour_idint20🔑课程编号
cour_namevarchar20课程姓名
tea_idvarchar20教师编号
cour_timedatatime225课程时间

(4)成绩表(score)

类型长度不是nullco
cour_idint20🔑课程编号
stu_idvarchar20🔑学生学号
sco_scorevarchar10分数

3 创建表格

由于表格的创建方法都大同小异,这里以学生表为例,创建学生表:

create table student(
stu_id int(20),
stu_name varchar(20),
stu_age varchar(20),
stu_gander varchar(10),
stu_address varchar(30),
primary key(stu_id));

创建成功截图如下:

4 插入数据

由于表格的插入数据的方法都大同小异,这里以学生表在学生表中添加学生信息为例:

这里在student表中添加了一条数据:

insert into student(stu_id,stu_name,stu_age,stu_gander,stu_address)
value(1002,'张一',18,'男','云南');

添加数据成功截图:

5 维护数据

5.1 查询学生所有信息

查询学生表信息代码如下:

select  stu_id 学号,stu_age 年龄,stu_name 姓名,stu_gander 性别,stu_address 户籍 from student;

运行结果如下

5.2 查询老师所有信息

查询代码如下:

select  tea_id 学号,tea_age 年龄,tea_name 姓名,tea_gander 性别,tea_address 户籍 from teacher;

运行结果如下

5.3 查询每门课程对应的老师信息

查询代码如下:

select 
teacher.tea_id 教师编号,
teacher.tea_name 教师姓名,
teacher.tea_age 教师年龄,
teacher.tea_address 教师户籍,
course.cour_id 课程编号,
course.cour_name 课程名称
from teacher 
join course on teacher.cou_id = course.cour_id;

运行结果如下

 

5.4 查询学号101同学的成绩

查询代码如下:

select 
student.stu_id 学生编号,
student.stu_name 学生姓名,
student.stu_age 学生年龄,
student.stu_address 学生户籍,
course.cour_id 课程编号,
course.cour_name 课程名称,
score.s_score 课程分数
from student 
join score 
on student.stu_id = score.stu_id
join course
on course.cour_id = score.cour_id
where student.stu_id = 1001;

运行结果如下

 

5.5 查询数学成绩表,并排名

查询代码如下:

select 
student.stu_id 学生编号,
student.stu_name 学生姓名,
student.stu_age 学生年龄,
student.stu_address 学生户籍,
course.cour_id 课程编号,
course.cour_name 课程名称,
score.s_score 课程分数
from student 
join score 
on student.stu_id = score.stu_id
join course
on course.cour_id = score.cour_id
where course.cour_id = 102
order by score.s_score desc;

运行结果如下

5.6 查询每门课程的最高分

查询代码如下:

select 
course.cour_id 课程编号,
course.cour_name 课程名称,
max(score.s_score) 课程最高分
from score 
join course 
on score.cour_id = course.cour_id
group by course.cour_name
order by course.cour_id asc;

运行结果如下

学生信息管理系统1(数据库设计篇)

1.系统概述

本次是做一个学生管理系统,在学了数据库之后,希望通过这个系统把所学知识应用与实际项目中去。加强自己的熟练程度。 开发背景:具备数据库,C#的相关知识储备,掌握基本的html知识。
用途:仅作练习用。通过一门语言,将数据库展现出来。

2.功能需求分析

系统概念层设计:功能用例图如下

 

1. 登录功能:用于身份认证

2. 数据操作:信息查询,数据的增删改。
a) 数据操作里,管理员具备所有的操作权限。学生具有选课和查看的功能。以及可以修改自己的个人信息。
3. UI设计

3.数据库设计


 

 

 

 

 

 

 

 

E-R图 1



首先,学生表(tb_student)设计如下

列名

数据类型

是否为空(默认未是)

主键(默认为否)

Student_name

Nvarchar (15)

 

 

Student_num

int

Student_password

Nvarchar(30)

 

 

Student_sex

Nvarchar(5)

 

 

 

Student_age

smallint

 

 

Student_dept

Nvarchar(20)

 

 

 

tb_course

列名

数据类型

是否为空

主键

Course_num

int

Course_name

Nvarchar(30)

 

 

Course_credit

smallint

 

 

Course_semester

smallint

 

 

tb_student_course

列名

数据类型

是否为空

主键

Sc_id

int

Student_num

int

 

外键

Course_num

int

 

外键

grade

smallint

 

 

tb_admin

列名

数据类型

是否为空

主键

Admin_id

smallint

admin_name

Nvarchar(20)

 

 

Admin_password

Nvarchar(40)

 

 

remark

Nvarcahr(10)

 

 

功能代码见下一篇

 

以上是关于学生信息管理系统(数据库设计)的主要内容,如果未能解决你的问题,请参考以下文章

数据库课程设计——学生信息管理系统

求大神帮我做个设计 用JAVA 设计和实现学生信息管理系统,提供常见学生信息管理功能

java课程设计(学生信息管理系统)

python:设计一个学生信息管理系统.每个学生包括学号,姓名,年龄等信息,大量学生数据存储在文

学生信息管理系统1(数据库设计篇)

MySQL数据库--学生管理系统数据库设计