数据库课程设计报告课程名称:专业班级:学生姓名:学校家教服务管理系统信管102 班学号:指导老师:2013 年1月一二三四五绪论1.1问题描述1.2开发的目的家教服务管理系统分析2.1需求分析2.2系统功能结构2.3系统概要设计2.4数据流图2.5业务流程图2.6数据流程图2.7数据字典数据库设计3.1数据库概念结构设计3.2全局E-R图逻辑设计4.1转换关系模式4.2分析范式级别数据库的实现六总结一、绪论题目:学校家教服务管理系统学校家教服务管理系统实现教师信息、职业类型管理;实现职业登记(职业号、名称、地址、电话等);实现职业作息登记(职业号、日期、开始时间、结束时间、教师);实现工资管理和收费管理;创建存储过程统计指定日期范围内各的时刻时间总和;创建存储过程统计各种职业的需求次数;创建check 约束限制教师性别必须输入‘男’或‘女’;建立表间关系。
(1)实现教师信息、职业类型管理;(2)实现职业登记(职业号、名称、地址、电话等);(3)实现职业作息登记(职业号、日期、开始时间、结束时间、教师);(4)实现工资管理和收费管理;(5)创建存储过程统计指定日期范围内各的时刻时间总和;(6)创建存储过程统计各种职业的需求次数;(7)创建check约束限制教师性别必须输入‘男’或‘女’;(8)建立表间关系。
1.1问题描述这是一个学校家教服务管理系统,要通过这个系统实现对学校家教服务管理,明确学校中每个家教教师的基本信息,包括姓名、性别、电话所教科目的具体信息的简介。
在这个系统中,可以查询每个教师的作息时间、工资、教师的家教收费情况等信息,有利于更好地了解这些家教的基本情况,选择适合自己的老师,也有利于学校对这些教师的统一管理。
1.2开发的目的只需很少的管理人员就可以完成很多的人家教需求任务,使得家教管理更加规范化、科学化,人性化,同时还能够动态掌握教员和学员的信息,及时统计相关数据,为家教管理单位提供决策依据,既减少了人员的组织与花费,又提高了家教的服务水平和质量。
二家教服务管理系统分析2.1需求分析随着科技的发展和信息技术的日益普及,很多家长抱着望子成龙的心态,不遗余力的为孩子找合适的家教,而很多在校大学教师也希望通过当家教增加一点经济收入,基于这一点家教服务系统将给学校提供更好的管理系统,使学生更加了解教师,也通过这个系统使学校对于教师方便管理,满足几方面的要求. 实现家教学校管理者对家教个人信息、职业情况、工作时间,工资结算地方便有效地管理。
2.2系统功能结构本系统为家教服务提供了一个平台,是学校能在本系统中更好地管理家教教师,也使要做家教的老师能够更好的把自己展现给大家,供大家选择。
系统的功能主要包括:(1)家教可以在系统中详尽的介绍自己,使自己以被选择。
(2)学校可以对家教老师的工资实行统一的管理。
(3)学校可以对家教老师的收费情况进行管理调整,尽量满足大家的需求。
(4)学校可以通过老师提供的作息时间更好的安排老师并有利于学生做出选择。
2.3系统概要设计学校家教服务管理系统家教情况简介模块家教职业登记模块家教作息情况概述家教收费情况模块家教工资情况模块2.4数据流图2.5 业务流程图家 教 职 业 登 记 职 业 号名 称地 址 电 话 家 教 作 息 登 记 开 始 时 间 结 束 时 间 教 师 日 期家 教 工 资 情 况职 工 号工 资家 教 收 费 情 况 开 始 时 间 结 束 时 间收 费家 教 情 况 简 介 职 业 号 姓 名科 目 年 龄 电 话 性 别 家教服务管理系统2.6 数据流程图教师22管理员P004收费统计D4收费表2.7 数据字典(1) 数据结构及数据项的描述 数据结构编号:S001 数据结构名称:教师数据结构含义:做家教的员工 编号名称含义类型 长度 取值范围 取值含义 S00101 姓名 nvarchar 8 ———— 教师真实姓名 S00102 性别 nchar 2 (男、女) 教师性别 S00103 科目 nvarchar 30 ———— 教师所教课程 S00104 地址 nvarchar 50 ———— 住址S00105 电话 varchar15————教员的联系电话数据结构编号:S002P001 职业登记D 1教师职业表 P003 授课安排P002教师信息表D 2 信息登记作息表D 2P005 工资核算D 5工资表数据结构名称:职业信息数据结构含义:教师所教课程数数据结构编号:S003数据结构名称:职工作息数据结构含义:教师的授课安排数据数据结构编号:S004数据结构名称:收费数据结构含义:收费管理数据数据结构编号:S005数据结构名称:工资数据结构含义:教师所挣的工资(2)数据流描述1.数据编号:D001数据流名:职业登记简组述:登记家教所必需的信息成:职业号、名称、地址、电话2.数据编号:D002数据流名:教师信息简组述:登记家教所必需的信息成:姓名、性别、电话、科目、地址3.数据编号:D003数据流名:职工作息简组述:登记家教所必需的信息成:开始时间、结束时间、日期、职工号、工作时间4.数据编号:D004数据流名:收费简组述:登记家教所必需的信息成:开始时间、结束时间、费用5.数据编号:D005数据流名:工资简组述:登记家教所必需的信息成:职工号、工资(3)数据存储描述数据存储编号:D1数据存储名称:教师职业表简述:管理人员登记的教师职业信息数据存储组成:职业号、名称、地址、电话数据存储编号D2数据存储名称:教师信息表简述:管理员登记的教师基本信息数据存储组成:姓名、性别、电话、科目、地址数据存储编号:D3数据存储名称:作息表简述:教师主要信息和资料数据存储组成:开始时间、结束时间、日期、职工号、工作时间数据存储编号:D4数据存储名称:收费表简述:管理员向用户收取的各项费用数据存储组成:开始时间、结束时间、费用数据存储编号:D5数据存储名称:工资表简述:根据教师的授课安排进行工资核算数据存储组成:职工号、工资(4)处理过程的描述处理逻辑编号:P001处理逻辑名称:职业登记简述:对教师所教课程进行登记处理描述:教师所教职业进行登记,登记职工号、名称、地址和电话等处理逻辑编号:P002处理逻辑名称:信息登记简述:对教师基本信息进行登记处理逻辑编号:P003处理逻辑名称:授课安排简述:根据教师信息表和教师职业表对教师的授课进行安排处理逻辑编号:P004处理逻辑名称:收费统计简述:根据教师和其授课时间进行收费管理处理逻辑编号:P005处理逻辑名称:工资核算简述:根据收费表对教师的工资进行核算三、数据库设计3.1数据库概念结构设计根据需求分析,该家教服务系统中实体包括:教师职业登记工资收费职工作息;局部E-R图设计如下:工作时间日期开始结束职工号3.2全局E-R图电话科目性别地址姓名职工号附属工资职业号职业作息工作反映开始名称地址结束费用电话职业关系四、逻辑设计职工作息教师职业登记职工作息收费工资4.1转换关系模型第一步:把五个实体类型转换成五个模式:教师(姓名、性别、电话、科目、地址)职业登记(职业号、名称、地址、电话)职工作息(开始时间、结束时间、日期、职工号、工作时间)收费(开始时间、结束时间、费用)工资(职工号、工资)第二步:对于1:1联系“反映”,可在“收费”模式中加入教师职工号(职工号为外键)。
对于1:N联系“关系”,可以在“职工作息”模式中加入职业号属性(职业号外键)。
对于1:1联系“附属”,可以在“工资”模式中加入姓名属性(姓名为外键)。
对于1:N联系“工作”,可以在“收费”模式中加入职工号属性(职工号为外键)。
这样第一步得到的三个模式的形式如下:教师(职工号,姓名,性别,学校、科目)工资(职工号、工资、姓名·)收费(开始时间、结束时间、费用、职工号)职业登记(职业号、电话、名称、地址)职工作息(开始时间、结束时间、日期、职工号、工作时间、职业)第三步:对于M:N联系“职业”则生成一个新的关系模式:职业(职工号、名称)这样形成以下六个模式:教师(姓名、性别、电话、科目、地址、职工号)工资(职工号、工资、姓名)收费(开始时间、结束时间、费用)职业登记(职业、电话、名称、地址、职工号)职工作息(开始时间、结束时间、日期、职工、工作时间)职业(职工号、名称)4.2分析范式级别分析,关系模式的每个关系都是不可再分的原子值,即为第一范式,又因为每非主属性都不传递依赖于模式的候选键,因此该模式集为第三范式。
五、数据库的实现学校家教服务管理系统create database家教管理create table教师信息表(职工号 int not null primary key,姓名 char(10),性别 char check(性别='男'or性别='女'), 电话 char(15),科目 char(15),地址char (20))create table职业登记表(职业 char(20)primary key ,电话 char (20),名称 char (10),地址char (20))create table职工作息表( 职工号 int,开始时间char (15),结束时间char (15),工作时间int primary key日期char(15))create table收费表( 职工号 int,开始时间char (15),结束时间char (15),收费 int primary key )create table工资表( 职工号 int not null primary key,工资 decimal char (10))创建存储过程统计各种职业的需求次数;create proc p_管理系统1(@职业 char(20))asselect 职业, count(*)as 需求次数from 职业登记表where 职业=@职业group by 职业go创建存储过程统计指定日期范围内各的时刻时间总和;create proc p_管理系统2(@日期 char(15))asselect 工作时间, count(*)as 时刻总和from 职工作息表where 日期=@日期group by 工作时间go建立表间关系六、总结三周的课程设计很快就过去了,通过这次的课程设计,我们有很多的心得体会,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。
通过这次的课程设计,加深了我们对数据库基本原理和基础理论的理解,巩固了对系统分析与设计的应用,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。