系统概述
随着近二十年计算机技术的飞速发展,数据库技术作为数据管理的一个有效手段,在各行各业中都得到了广泛的应用。驾校学员信息管理系统主要用于管理驾校的各种数据,包括学院基本信息,学员入学体检报告,学员考试成绩及学院驾照领取记录等。
本系统主要用于管理学院的学籍信息,体检信息,成绩信息和驾照领取信息等。这些信息是我们设计数据库的重要信息,对这些信息的录用,查询,修改和删除等操作都是该系统需要实现的功能。
系统将分为五个管理功能,及系统管理员信息管理,学籍信息管理,体检信息管理,成绩信息管理和驾照领取信息管理。
系统分析
驾校学员信息管理系统的主要功能是管理驾校学员的基本信息。通过本管理系统,可以提高驾校管理者的工作速度,使驾校的管理日渐规范,对以后资料的统计和归档都起着至关重要的作用。以下对驾校学员信息管理系统进行系统功能分析,然后对系统的业务流程从整体进行剖析。根据以上分析,划分系统的功能模块。
系统业务分析
用户登录:由于该系统是管理关键业务数据,所以为了保障系统及数据的安全性,要求用户登陆系统必须进行安全性验证,及需要进入系统的人员,必须拥有合法的用户名和密码,通过后台验证才能进入系统。所以要有登录模块。
修改密码:为了账户的安全,密码需要定期进行修改,所有该系统需要有修改用户密码的功能,要求智能修改自己的密码,在修改密码之前,需要验证原密码。
增加用户:如果有多个用户登录系统,需要由系统最高管理员增加普通操作员,包括操作员的用户名,密码,级别等内容。
修改删除用户:对于用户的基本资料进行修改,对于不使用的用户可以进行删除。
学员信息管理:学员信息应包括姓名,性别,年龄,身份证号,家庭住址等,功能应包括学员信息的报名录入,修改,删除,删除和查询,尤其是查询功能,要能满足多条件查询,模糊查询。
学院体检情况:由于驾校招生的特殊性,在对准备报考的学员,首先要体检,进行身体检查。为了便于日后管理,需要将学员体检的基本情况录入我们的系统,驾校体检主要有身高,体重,听力,视力,辨色能力,腿长和血压等信息。主要功能包括体检报告的录入,修改,删除和查询,查询可以根据学员姓名,身份证号多条件进行查询。
成绩管理:学院培训后,考试成绩需要记录,应该将学员的考试成绩录入系统,作为以后学员领取驾照的依据。由于考试科目不止一门,所以在保存成绩时应分科处理。
领取驾照管理:当学员培训完成并全部考试合格后,即可以领取驾照,所以需要将学院领取驾照的信息保存在系统中,以备查验。
系统功能模块划分
驾校学员信息管理系统 | ||||||||||||||||||||
管理员信息管理 |
学员学籍信息管理 |
学员体检信息管理 |
学院成绩信息管理 |
驾照领取信息管理 | ||||||||||||||||
登录 | 修改密码 | 添加管理员 | 删除管理员 | 修改注册信息 | 添加学员信息 | 修改学员信息 | 删除学员信息 | 条件查询 | 增加体检报告 | 修改体检信息 | 删除体检信息 | 根据条件查询 | 录入考试成绩 | 删除考试成绩 | 修改成绩 | 查询成绩 | 领取信息录用 | 领取信息修改 | 领取信息删除 | 条件查询信息 |
管理员信息管理:主要对管理员的登录操作进行管理。管理员登录后,系统会进入到系统管理界面。在这里管理员可以修改自己的密码。
学籍信息管理:主要是处理学籍信息的插入,查询,修改和删除等操作。查询学员的信息时,可以通过学号、姓名、报考的车型和学院的状态进行查询。通过四个方面处理,使学籍信息的管理更加方便。
体检信息管理:主要对学员体检后的体检信息进行插入、查询、修改和删除等操作。
成绩信息管理:对学员的学籍信息进行插入,查询,修改和删除等操作,以便有效的管路学员的成绩信息。
领证信息管理:对学员的驾驶证的领取等相关记录进行管理。这部分主要进行信息的插入,查询,修改和删除等操作。这样可以保证学员驾驶证被领取后,相关信息能有效的管理。
数据库设计
系统实体及属性分析
用户管理模块:该模块包含的实体为管理员(用户),其基本属性包括:用户名,用户密码,是否是管理员
学员信息管理模块:该模块包含的实体为学员,其基本属性包括:学院编号,姓名、性别、年龄、身份证号码、联系电话、报考级别(ABC),报名时间、毕业时间、学员状态(学习,结业,退学),备注。
学院体检信息模块:该模块的实体是体检报告,属性包括:报告编号,学院编号,姓名,身高,体重,辨色能力(正常,色弱,色盲)、左眼视力,右眼视力,左耳听力(正常,偏弱),右耳听力(正常,偏弱),腿长是否相等(是,否),血压(正常,偏高,偏低),病史,备注等。
学员成绩信息管理模块:实体为课程信息和成绩信息。基本属性有:课程信息包括:课程编号,课程名称,先修课编号(可选);成绩信息管理:成绩编号,学员编号,课程编号,考试时间,考试次数,考试成绩。
驾照管理模块:实体为驾照,属性有:学员编号,姓名,驾驶证编号,领证时间,领证人,备注。
系统E-R图模型
学员实体属性图
管理员实体属性图
体检报告实体属性图
考试成绩实体属性图
驾照实体属性图
E_R图转关系模型
用户表(用户名(主码),密码,是否为管理员)
学员表(编号(主码),姓名,性别,年龄,身份证号,联系电话,报考等级,报名时间,毕业时间,状态,备注)
体检报告表(报告编号(主码),学员编号(外码),姓名,性别,年龄,身份证号,年龄,体重,辨色能力,左眼视力,右眼视力,左耳听力,右耳听力,腿长,血压,病史,备注)
课程表(课程编号(主码),课程编号,先修课编号(外码))
成绩表(成绩编号(主码),学员编号(外码),科目编号(外码),考试时间,考试次数,成绩)
驾驶证表(编号(主码),学员编号(外码),姓名,驾驶证编号,领证时间,领证人,备注)
系统数据字典
用户表
字段名 | 字段描述 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 默认值 | 自增 |
username | 用户名 | varchar(20) | 是 |
| 是 | 是 |
|
|
password | 密码 | varchar(20) |
|
|
|
|
|
|
isadmin | 是否管理员 | enum |
|
|
|
|
|
|
学员表
字段名 | 字段描述 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 默认值 | 自增 |
sno | 编号 | int(8) | 是 |
| 是 | 是 |
|
|
sname | 姓名 | varchar(20) |
|
| 是 |
|
|
|
sex | 性别 | enum |
|
| 是 |
|
|
|
age | 年龄 | int(3) |
|
|
|
|
|
|
identify | 身份证号 | varchar(18) |
|
| 是 | 是 |
|
|
tel | 联系电话 | varchar(15) |
|
|
|
|
|
|
car_byte | 报考级别 | enum |
|
| 是 |
|
|
|
in_time | 报名时间 | date |
|
| 是 |
|
|
|
out_time | 毕业时间 | date |
|
|
|
|
|
|
state | 状态 | enum |
|
| 是 |
|
|
|
remark | 备注 | text |
|
|
|
|
|
|
体检报告表
字段名 | 字段描述 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 默认值 | 自增 |
id | 编号 | int(8) | 是 |
| 是 | 是 |
|
|
sno | 学员编号 | int(8) |
| 是 | 是 | 是 |
|
|
sname | 姓名 | varchar(20) |
|
| 是 |
|
|
|
weight | 体重 | float |
|
|
|
|
|
|
differentiate | 辨色力 | enum |
|
|
|
|
|
|
left_sight | 左眼视力 | float |
|
|
|
|
|
|
right_sight | 右眼视力 | float |
|
|
|
|
|
|
left_ear | 左耳听力 | enum |
|
|
|
|
|
|
right_car | 右耳听力 | enum |
|
|
|
|
|
|
legs | 腿长 | enum |
|
|
|
|
|
|
pressure | 血压 | enum |
|
|
|
|
|
|
history | 病史 | varchar(20) |
|
|
|
|
|
|
remark | 备注 | text |
|
|
|
|
|
|
课程信息表
字段名 | 字段描述 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 默认值 | 自增 |
cno | 科目编号 | int(4) | 是 |
| 是 | 是 |
|
|
cname | 科目名称 | varchar(20) |
|
| 是 | 是 |
|
|
before_cour | 先修课程 | int(4) |
|
| 是 |
| 0 |
|
成绩表
字段名 | 字段描述 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 默认值 | 自增 |
id | 编号 | int(8) | 是 |
| 是 | 是 |
| 是 |
sno | 学员编号 | int(8) |
| 是 | 是 | 是 |
|
|
cno | 科目号 | int(4) |
| 是 | 是 |
| 0 |
|
last_time | 考试时间 | date |
|
|
|
|
|
|
times | 考试次数 | int(8) |
|
|
|
|
|
|
grade | 成绩 | float |
|
|
|
|
|
|
驾照信息表
字段名 | 字段描述 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 默认值 | 自增 |
id | 编号 | int(8) | 是 |
| 是 | 是 |
| 是 |
sno | 学员编号 | int(8) |
| 是 | 是 | 是 |
|
|
sname | 姓名 | varchar(20) |
|
| 是 | 是 |
|
|
lno | 驾驶证号 | varchar(18) |
|
|
| 是 |
|
|
receive_time | 领证时间 | date |
|
|
|
|
|
|
receive_name | 领证人 | varchar(20) |
|
|
|
|
|
|
remark | 备注 | text |
|
|
|
|
|
|
#创建user用户表
create table user(
username varchar(20) not null,
password varchar(20) default null,
isadmin enum('0','1') default null,
primary key(username)
)
#创建studnetInfo学员表
create table studentInfo(
sno int(8) not null,
sname varchar(20) not null,
sex enum('男','女') not null,
age int(3) null,
identify varchar(18) not null,
tel varchar(15) null,
car_byte enum('A','B','C') not null,
in_time date not null,
out_time date null,
state enum('学习','结业','退学') not null,
remark text null,
primary key(sno),unique(identify)
)
#创建healthinfo体检报告表
create table healthinfo(
id int(8) not null auto_increment,
sno int(8) not null,
sname varchar(20) not null,
weight float null,
differentiate enum('正常','色弱','色盲') null,
left_sight float null,
right_sight float null,
left_car enum('正常','偏弱') null,
right_car enum('正常','偏弱') null,
legs enum('相等','不相等') null,
pressure enum('正常','偏高','偏低') null,
history varchar(20) null,
remark text null,
primary key(id),unique(sno)
)
#创建courseinfo课程信息表
create table courseinfo(
cno int(4) not null,
cname varchar(20) not null,
before_cour int(4) not null default '0',
primary key(cno)
)
#创建成绩表gradeinfo
create table gradeinfo(
id int(8) not null auto_increment,
sno int(8) not null,
cno int(4) not null,
last_time date null,
times int(8) null,
grade float null,
primary key(id)
)
#创建驾照信息表licenseinfo
create table licenseinfo(
id int(8) not null auto_increment,
sno int(8) not null,
sname varchar(20) not null,
Ino varchar(18) null,
receive_time date,
receive_name varchar(20) null,
remark text,
primary key(id),unique(sno,sname,Ino)
)
#数据库测试
#数据增加删除修改
insert into user(username,password,isadmin)values('admin','123456','1')
update user set password='111111' where username='admin',
delete from user where username='admin',