数据库课程设计文档.docx
- 文档编号:4682717
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:19
- 大小:604.02KB
数据库课程设计文档.docx
《数据库课程设计文档.docx》由会员分享,可在线阅读,更多相关《数据库课程设计文档.docx(19页珍藏版)》请在冰豆网上搜索。
数据库课程设计文档
学
生
考
勤
系
统
学院:
信息技术学院
班级:
计算机131班
系统概论
学生考勤管理系统作为一个高校的基本管理,是学校对学生工作管理的基本依据。
开发考勤管理系统,正是完善高校信息化管理的重要环节。
人工考勤已很难满足学校规范化管理的要求,面对庞大的信息量,该方式现存在很多弊端。
因此,建立现代化的智能考勤管理系统势在必行。
这样也大大减轻了考勤工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松。
本系统使用的开发工具是Vs2013,采用sql数据库。
实现学生考勤数据采集、数据统计和信息查询,提供教师在线批假,考勤人员即时记录考勤信息,完善学生管理现代化,方便教师统计、考核学生出勤情况,方便学生管理课程查询、考核学生的出勤率,准确地掌握学生出勤情况和相关资料,有效地管理、掌握学生各项情况。
1.需求分析
1.1背景分析
如今各大高校已经做到高度信息化管理。
师生的成绩查询系统、教务管理系统、招生就业系统等系统在各大高校得到广泛应用,对全校师生的学习、办公、管理带来了便利,因此开发一个学生考勤系统能进一步加强高校学风建设,维护正常的教学秩序。
目前高校学生上课考勤都是由任课教师或学习委员点名,记录学生出勤情况,对于请假,需要得到辅导员或学院领导的批准。
这种模式在目前的高校管理中暴露了不可避免的弊端:
一、学生请假对任课教师不透明;
二、学生对自己整个学期的上课出勤情况没有整体的统计信息;
三、学校领导、班主任对学生上课的出勤情况不易整体把握;
因此建立一个好的学生考勤系统可以一定程度上解决这些弊端,本系统是主要针对高校学生上课出勤管理及查看而设计的信息系统。
本系统涉及高校四大类用户:
学生、考勤人员(学习委员)、教师、教务处管理员。
1.2功能需求分析
1.2.1数据字典
字段名
类型
备注说明
能否为空
sno
Char(12)
学生学号
否
sname
Char(20)
学生姓名
否
ssex
Char
(2)
学生性别
否
sdept
Char(20)
学生所属专业
否
sentrance_time
datetime
学生入学年月
否
spassword
Char(12)
学生登陆密码
否
class_name
Char(20)
班级名
否
class_code
Char(12)
班级代码
否
cno
Char(12)
课程号
否
cname
Char(20)
课程名
否
credit
Char(6)
课程学分
否
class_time
Char(12)
课程时间
否
tnname
Char(20)
教师姓名
否
tno
Char(12)
教师代码
否
tsex
Char
(2)
教师性别
否
tentrance_time
datetime
教师入职年月
否
tdept
Char(20)
教师所属系别
否
troom
Char(20)
教师所属教研室
否
ttitle
Char(20)
教师职称
否
tpassword
Char(12)
教师登陆密码
否
currentTime
datatime
考勤当前时间
否
Attendance_state
Char(12)
出勤状态
否
Off_start
Char(12)
请假开始时间
否
Off_end
Char(12)
请假截止时间
否
1.2.2数据流图
根据学生考勤系统的有关功能,进一步形成如图1-2所示的学生考勤管理系统数据流图:
图1-1学生考勤管理系统数据流图
1.2.3功能层次结构
根据调查、分析、商讨,最终确定该系统有考勤记录与教师批假管理子系统、出勤情况查询子系统、后台管理子系统三个子系统构成,三个子系统的主要功能如下所述:
(1)考勤记录与教师批假管理模块
本模块的功能是实现学生出勤情况的管理与记录以及教师对学生的批假功能,主要涉及两大类用户:
考勤人员、教师(包括任课教师、班主任和学校领导),教师可通过此功能模块进行在线批准学生请假;考勤人员可以在登入考勤系统后的看到今日请假的同学名单,然后根据点名情况在线记录本班学生的出勤状况。
(2)出勤情况查询模块
本模块的功能是学生考勤情况统计的实现、查看及管理,涉及四类用户:
学生、教师(包括任课教师、班主任和学校领导)。
学生可在线查看自己所有学年的出勤信息;教师可在线查看某位学生或某门课程的学生出勤情况;
(3)后台管理管理
本模块的功能实现整个系统数据的同步更新及维护,只涉及系统教务处管理员用户。
教务处管理员动态的管理学生信息、教师信息、课表安排、班级安排等信息,是整个系统实现的基础。
(4)最终得到的需求分析层次结构图如1-2所示:
图1-2需求分析层次结构图
1.3系统设计的目标与内容
针对系统来说主要任务是设计一个学生考勤管理系统,实现学生考勤的录入、按学号或课程统计、浏览、查询某学生全部出勤状况。
整个考勤系统能够提供请假、迟到、早退、旷课等情况的记录,并实现等处理功能。
具体的设计任务如下:
1、实现教务处管理人员的用户登录及修改密码及管理和创建用户账户;
2、教师(包括班主任、任课教师、校领导)可在线批准学生的请假。
当该班级的考勤人员在学生请假日期内登入考勤系统时会将该学生的请假情况显示出来,以便于考勤人员的记录。
3、考勤人员登录考勤系统记录当天本班学生的出勤情况。
同时也可查看请假学生的具体情况。
4、教师可查看某一学生或某门课程的学生出勤状况。
5、任课教师能按课程查询统计本课程学生出勤状况。
6、学生可通过在线登陆查看自己所有课程的出勤状况。
2.概念结构设计
2.1概念设计方法
本系统先采用自顶向下的设计方法,根据用户需求,先定义全局概念结构的框架,然后分层展开,对学生考勤管理系统的需求进行逐步细化。
然后再采用自底向上将各个实体集成、根据用户的每一具体需求,逐步抽象化,最终产生全局概念结构。
2.2设计步骤
2.1.1局部E-R模型
进行局部概念设计,画出主要实体模型如下图所示:
2.1.2初步E-R图
根据实体之间的联系,得出学生管理系统数据库初步E-R图如下所示:
3.逻辑结构设计
3.1关系模式
根据E-R模型中所有实体对应产生如下七个关系模式:
学生(学号,姓名,性别,专业,入学年月,密码,班级代码)
课程(课程代码,课程名,学分,课程时间,教师代码)
教师(教师代码,教师名,性别,入职年月,所属系别,所属教研室,职称,密码)
班级选课表(班级代码,课程代码,课程时间)
班级表(班级代码,班级名,教师代码)
学生个人出勤情况统计表(学号,课程代码,出勤状态,考勤当前时间)
批假表(学号,请假开始时间,请假结束时间,批假人)
3.2数据库建表
建立的数据库表如下所示:
表3-1学生表
表3-2教师表
表3-3课程表
表3-4班级表
表3-5班级选课表
表3-6学生出勤表
表3-7批假表
3.3数据库关系图
数据库中表之间的联系及参照关系如下图3-1所示:
。
图3-1数据库表关系图
4.数据库的物理设计
4.1存储结构域存取方式的选择
本程序的数据文件和日志文件都存放在磁盘上。
最大的数据空间为200mb。
主数据文件增长的最大值为2mb。
4.2约束条件及参照关系
4.2.1约束关系
(1)出勤状态约束check(attendance_statein('正常','迟到','旷课','早退','请假')),
(2)性别约束check(ssexin('男','女'))
4.2.2参照关系
(1)班级选课表参照了班级表中的班级代码和课程表中的课程代码和课程时间
foreignkey(class_code)referencesclass(class_code),
foreignkey(cno,class_time)referencescourse(cno,class_time));
(2)课程表参照了教师表中的教师代码
foreignkey(tno)referencesteacher(tno),
(3)出勤状态表参照了学生表的学生代码和课程表的课程代码和课程时间
foreignkey(sno)referencesstudent(sno),
foreignkey(cno,class_time)referencescourse(cno,class_time)
(4)批假表参照了学生表的学生代码
foreignkey(sno)referencesstudent(sno),
5.数据库的运行与维护
5.1数据库的初始化(包括数据库、表以及视图的建立)
(1)创建考勤管理系统
createdatabasekaoqin
on
(
name=kaoqin,
'D:
\kaoqin.mdf',
size=20mb,
maxsize=200mb,
)
logon
(
name='kaoqin_log',
'd:
\kaoqin.ldf',
size=10mb,
maxsize=100mb,
);
(2)创建学生表
createtablestudent(
snochar(12)primarykey,
snamechar(20)notnull,
ssexchar
(2)check(ssexin('男','女'))notnull,
sdeptchar(20)notnull,
sentrance_timedatetimenotnull,
spasswordchar(12)notnull,
class_codechar(12)notnull
foreignkey(class_code)referencesclass(class_code))
(3)创建课程表
createtablecourse(
cnochar(12),
cnamechar(20)notnull,
creditchar(6)notnull,
class_timechar(12)notnull,
tnochar(12)notnull
primarykey(cno,class_time),
foreignkey(tno)referencesteacher(tno),
);
(4)创建班级表
createtableclass(
class_codechar(12)primarykey,
class_namechar(20)notnull,
tnochar(12)notnull,-------------班主任
foreignkey(tno)referencesteacher(tno)-----------参照教师表
);
(6)创建教师表
tnochar(12)primarykey,
tnamechar(20)notnull,
tsexchar
(2)check(tsexin('男','女'))notnull,
tentrance_timedatetimenotnull,
tpasswordchar(12)notnull,
tdeptchar(20)notnull,
troomchar(20)notnull,
ttitlechar(20)notnull);
(7)班级选课表
createtableclass_course(
class_codechar(12)notnull,
cnochar(12)notnull,
class_timechar(12),
primarykey(class_code,cno,class_time),
foreignkey(class_code)referencesclass(class_code),
foreignkey(cno,class_time)referencescourse(cno,class_time));
(8)学生个人出勤情况统计表
createtableattendance(
currenttimechar(20)notnull,
class_timechar(12),
snochar(12)notnull,
cnochar(12)notnull,
attendance_statechar(12)notnull,
primarykey(sno,cno,currenttime),
check(attendance_statein('正常','迟到','旷课','早退','请假')),
foreignkey(sno)referencesstudent(sno),
foreignkey(cno,class_time)referencescourse(cno,class_time)
)
altertableattendance
addconstraintDF_attendance_statedefault'正常'forattendance_state;
(9)建立批假表
createtableleave
(
off_startdatetimenotnull,
off_enddatetimenotnull,
snochar(12)notnull,
teachernamechar(20)notnull,
primarykey(sno,off_start,off_end),
foreignkey(sno)referencesstudent(sno),
)
altertableleave
addreasonvarchar(100);
(9)创建视图
createviewattendance_view
as
selectstudent.sno,sname,o,cname,course.class_time,currenttime,attendance_state
fromstudent,course,attendance
wherestudent.sno=attendance.snoando=o
6.系统运行界面展示
6.1考勤人员界面
(1)登录界面
(2)首页
(3)点名窗体
(4)查看请假学生具体信息窗体
6.2教师窗体
(1)查看学生出勤状况窗体
(2)教师批假窗体
6.3学生窗体
(1)查看出勤信息窗体
6.4教务管理人员窗体
(1)查看界面
(2)用户管理界面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 文档