-
目录
1.需求分析
本系统是一个的小型的学生选课管理系统,在本系统中,开发了一个面向管理员、
学生和教师这三个对象的教务平台,对学生提供的服务有登录、选课、、修改登录密码、
和查询成绩这几个服务,所选课程总数不能超过 3 门;对教师提供的服务有登录、修改
登录密码和登录成绩;对管理员提供的服务有登录开设学生和教师帐号、删除学生和教
师帐号的服务。
2.概念结构设计(E-R 图)
图 2 全局 ER 图
教师
学生
学生学
号
教师职称
学生姓名
教师编
号
课程
选
课
授
课
教师性
别
教师姓名
所在班级
学生生日
学生性别
教师生
日
所在院系
学分
课程编号
课程名
选课人数
成绩
上课地点
-
3.逻辑结构设计(数据库表结构)
(1)关系模式
学生(学生学号,学生姓名,教师性别,教师生日,所在班级)
教师(教师编号,教师姓名,教师性别,教师生日,教师职称,所在院系)
课程(课程号,课程名,学分,选课人数)
选课(课程号,学生学号,成绩)
授课(课程号,教师编号,上课地点)
(2)数据库管理系统:Microsoft SQL Server 2014
(3)数据库命名:StudentManager
(4)数据库表
Logon(登录帐号密码)
主要用来保存用户登录信息
字段名
数据类型
长度
是否为空
是否主键
UserID
char
10
不为空
主键
Passwordr
charr
10
StudentTable1(学生信息表)
主要用来保存学生信息。
字段名
数据类型
长度
主键否
是否为空
描述
StudentID
Char
10
主键
不为空
学生学号
StudentName
Char
10
不为空
学生姓名
StudentSex
Char
2
不为空
学生性别
StudentBirthday
Datetime
8
学生生日
Class
char
16
所在班级
TeacherTable1(教师信息表)
用来储存教师的基本信息
字段名
数据类型
长度
主键否
是否为空
描述
TeacherID
Char
10
主键
不为空
教师编号
TeacherName
Char
10
不为空
教师姓名
TeacherSex
Char
2
不为空
教师性别
TeacherBirthday
Datetime
8
教师生日
Post
char
10
教师职称
Department
char
20
所在院系
CourseTable(课程信息表)
字段名
数据类型
长度
主键否
是否为空
描述
CourseID
Char
16
主键
不为空
课程编号
CourseName
Char
16
不为空
课程名
-
Point
Char
8
不为空
学分
StuNumber
Char
10
不为空
选课人数
ScoreTable(学生成绩表)
用于存储学生成绩
字段名
数据类型
长度
是否为空
是否主键
CourseID
char
16
不为空
主键
StudentID
char
10
不为空
主键
Score
int
4
TeachTable(j 教师授课表)
字段名
数据类型
长度
是否为空
是否主键
CourseID
char
16
不为空
主键
TeacherID
char
10
不为空
主键
Location
int
10
(8)数据库账户及权限 (截图)
学生账户表
教师账户表
用户登录表:
(5)数据库存储过程:
AllCourse:
create proc AllCourse
as
begin
select
-
x.CourseID,x.CourseName,x.Point ,y.TeacherName,y.Post,z.Location,x.StuNumber
from Course x,TeacherTable1 y,TeachTable z
where x.CourseID=z.CourseID and y.TeacherID=z.TeacherID
end
DeleteLogon :
create proc DeleteLogon(@id char(10))
as
begin
delete from Logon
where UserID=@id
end
DeleteStudent:
create proc DeleteStudent(@id char(10))
as
begin
delete from StudentTable1
where StudentID=@id
end
DeleteTeacher :
create proc DeleteTeacher(@id char(10))
as
begin
delete from TeacherTable1
where TeacherID=@id
end
InsertLogon :
create proc InsertLogon(@id char(10))
as
begin
insert into Logon
values(@id,@id)
end
InsertStudent :
create proc InsertStudent(@userid char(10),@username char(10),@sex
char(2),@birth datetime,@class char(10))
as
begin
insert into StudentTable1 values(@userid ,@username,@sex,@birth,@class)
end
return
InsertTeacher:
-
create proc InsertTeacher(@userid char(10),@username char(10),@sex
char(2),@birth datetime,@post char(10),@department char(10))
as
begin
insert into TeacherTable1
values(@userid ,@username,@sex,@birth,@post,@department)
end
return
IsExistsStu :
create proc IsExistsStu(@id char(10))
as
begin
select * from StudentTable1
where StudentID=@id
end
IsExistsTea:
create proc IsExistsTea(@id char(10))
as
begin
select * from Teachertable1
where TeacherID=@id
end
ProcAllStu :
create proc ProcAllStu
as
begin
select * from StudentTable1
end
ProcAllTea
create proc ProcAllTea
as
begin
select * from TeacherTable1
end
ProcLogon:
create proc ProcLogon(@userid char(16),@password char(10))
as
begin
select *
from Logon