1.概述
1.1 项目背景
随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息现代化。但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的学籍信息管理还是采用原有的人工管理方式。学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。面对庞大的信息量, 这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和人为错误。
1.2 编写目的
学生学籍管理系统是应对学生人数增多、信息量增大的问题,实现管理的现代化、化,逐步摆脱当前学生成绩管理的人工管理方式,提高成绩管理效率而开发的。望该开发程序能够解决学生信息存储、学生各种信息查询等一系列功能。
1.3 软件定义
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
1.4 开发环境
开发环境:Windows XP、VC6.0
辅助工具:PowerDesigner 15
数据库管理系统:SQL Server 2000
运行环境:Windows 2000/XP/2003
2.需求分析
2.1 问题陈述
进行数据库设计首先必须准确了解用户需求,目的是为学籍管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。
2.2 系统主要功能
(1)学生档案的管理,即录入、修改、查询、输出学生档案信息,这些信息包括学生基本情况、学生简历情况、学生奖励情况、学生处分情况、学生家庭信息、学生体检情况。
(2)学生学籍管理,录入、修改、查询、输出学生学籍信息,这些信息包括学生奖贷学金情况、学生注册、学生异动情况、学生军训情况、学生毕业情况。
(3)学生成绩管理,录入修改、查询、输出学生入校成绩,各学期、各门课程的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。
简要分析:
(1)学生简历情况和学生基本情况可以合为一张学生信息表
(2)学生奖励情况和处分情况可以合为一张表,增加一项用于表示“奖励”或“处罚”
(3)学生军训情况可以作为一门课程,放入课程表中,无需单独设一张表
(4)学生毕业信息可以在学生表中增加一项简单表示,无需单设一张表
经过分析,为了表示要求的信息,本学生学籍信息管理系统可以抽象出8个主要实体:学生、奖励或处罚、家庭、体检、贷款、注册、异动、课程。
3. 数据库概念结构设计
3.1 系统E-R图
下面是用PowerDesingner 15 设计出的系统CDM图,既概念模型图:
下面是用PowerDesingner 15 从CDM图直接导出的PDM图,即物理结构图:
4. 数据库逻辑结构设计
逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
4.1 关系表
通过上一步画出的E-R图即可得到对应的关系表,我们采用PowerDesigner直接得出对应的PDM图,双击PDM图中某个实体,在Preview中可以得到对应的Sql语句,在Sql Server 2000中打开查询分析器即可用相应的Sql语句即可得到初步的关系表。
学生基本信息表(Student)
序号 |
字段 |
描述 |
数据类型 |
数据长度 |
码 |
1 |
StuNo |
学号 |
char |
20 |
Y |
2 |
StuName |
姓名 |
char |
20 |
N |
3 |
StuSex |
性别 |
char |
2 |
N |
4 |
StuBirthTime |
出生日期 |
Date |
|
N |
5 |
StuProvince |
籍贯 |
char |
10 |
N |
6 |
StuNation |
民族 |
char |
10 |
N |
7 |
StuFace |
政治面貌 |
char |
20 |
N |
8 |
StuFromWhere |
来源地区 |
char |
30 |
N |
9 |
StuBirthPlace |
出生地 |
char |
30 |
N |
10 |
StuCollege |
学院 |
char |
20 |
N |
11 |
StuMajor |
专业 |
char |
30 |
N |
12 |
StuClass |
行政班级 |
char |
30 |
N |
13 |
StuStudyTime |
学制 |
Short int |
2 |
N |
14 |
StuSchoolTime |
入学时间 |
Date |
8 |
N |
15 |
StuCurrentClass |
当前年级 |
int |
4 |
N |
16 |
StuDormitory |
宿舍 |
char |
20 |
N |
17 |
StuEMail |
邮件地址 |
char |
30 |
N |
18 |
StuPhone |
联系电话 |
char |
20 |
N |
19 |
StuPost |
邮编 |
char |
10 |
N |
20 |
StuID |
身份证号 |
char |
25 |
N |
21 |
StuIsGraduate |
是否毕业 |
char |
2 |
N |
22 |
StuGraduateDate |
毕业日期 |
Date |
8 |
N |
学生注册信息表(StuRegister)
序号 |
字段 |
描述 |
数据类型 |
数据长度 |
码 |
1 |
StuRegisterID |
注册编号 |
char |
20 |
Y |
2 |
StuNo |
学号 |
char |
20 |
N |
3 |
StuRegisterYear |
注册学年 |
char |
10 |
N |
4 |
StuRegisterTerm |
注册学期 |
char |
1 |
N |
5 |
StuIsRegister |
是否注册 |
char |
2 |
N |
学生异动信息表(StuChange)
序号 |
字段 |
描述 |
数据类型 |
数据长度 |
码 |
1 |
StuChangeID |
异动编号 |
char |
10 |
Y |
2 |
StuNo |
学号 |
char |
20 |
N |
3 |
StuChangeKind |
异动类型 |
char |
10 |
N |
4 |
StuChangeDate |
异动时间 |
Date |
|
N |
5 |
StuChangeDetail |
异动描述 |
char |
60 |
N |
学生贷款信息表(StuLoan)
序号 |
字段 |
描述 |
数据类型 |
数据长度 |
码 |
1 |
StuLoanID |
贷款编号 |
char |
20 |
Y |
2 |
StuNo |
学号 |
char |
20 |
N |
3 |
StuLoanDate |
贷款日期 |
Date |
|
N |
4 |
StuLoanR |
贷款原因 |
char |
60 |
N |
5 |
StuLoanNum |
贷款数目 |
int |
|
N |
6 |
StuLoanBackNum |
已还数目 |
int |
|
|
7 |
StuLoanIsBack |
是否还清 |
char |
2 |
|
学生奖励或处罚信息表(StuRewardPunish)
序号 |
字段 |
描述 |
数据类型 |
数据长度 |
码 |
1 |
StuLoanID |
奖励或处罚编号 |
char |
20 |
Y |
2 |