数据库课程设计报告---家政服务管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计家政服务管理系统
摘要
家政服务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,易使用等特点。
随着人们生活的日益改善,家政服务逐渐被大家所了解,其规模也越来越大,管理的难度也逐渐增大;中国家政服务业已初具规模,众多家政服务公司如雨后春笋般出现在各个城市;同时随着计算机技术的高速发展,人们对计算机的依赖性越来越强,特别是用计算机开发的数据库以及数据管理系统在生活应用中表现得更为突出,基于这样的背景,开发了此系统。
通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。
系统开发采用Microsoft公司的Sql Server 2008,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足客户需求。
系统功能需求分析
随着人们生活的日益改善,家政服务这一概念渐渐走入许多家庭中,而面临着家政服务需求的日益增长,许多家政服务机构迫切需要一个管理系统,以求达到管理的合理化和有序化。
管理在现代社会中的作用越来越显得重要和突出。
一般来讲,管理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。
传统的管理活动中,把人、才、物作为企业的主要资源。
但是随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。
本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导
致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代——“信息时代”的开始,它使企业管理现代化成为可能。
家政服务信息管理系统这是基于这样的一个需求,它提供管理者,员工,客户,家政服务类型,以及客户与员工之间的协议等信息的录入、查询,创建这样一个管理系统,可以使客户,管理者,员工方便的查找到自己的信息,以及对客户需求的及时响应,同时也避免了由于客户与员工数量的增长而导致的数据错误,以及运作过程中的麻烦。
1.数据库设计分析
针对以上的功能分析,对数据库的设计做了以下分析。
考虑到家政管理的特殊要求,数据库的设计应该包含以下信息:
员工的基本信息用来在员工登陆时进行核对验证,防止员工信息录错的情况。
客户的基本信息用来在客户登录时进行核对验证,以防止客户信息录错的情况。
管理者的信息录入也是为了方便核对校验,以达到信息的系统化,有序化。
通过家政服务类型表,员工可以方便的了解到自己所从事的服务类型,通过合同表,员工可以方便的了解到自己所服务的客户,包括合同的开始日期及结束日期,对员工而言,员工的信息录入有:编号,姓名,性别,出生年月,籍贯,婚姻状况,民族,学历以及服务类型,员工在工作之前就把这些信息例如到系统当中,方便了管理者以及员工自身信息的查询;客户在需要家政服务的时候,通过合同表与员工建立合同关系,这样可以达到信息的简单化、明了化。
合同当中额生效日期,可以有效的避免了由于劳务关系导致的纠纷。
对管理员而言,可以更改数据库的所有内容,可添加、查询、修改、删除员工的信息,设置服务类型的相关内容。
可以分配员工,达到效率的最优化;由于设置了5张表格,每一张表格都确定了相应内容的属性;管理者的属性有:编号、姓名、性别、管理项目;员工的属性有:编号、姓名性别、出生日期、籍贯婚姻状况、民族、学历、服务类型;家政服务类型的属性:编号、类型名;客户的属性有:编号、姓名、性别、服务项目、住宅电话、员工编号;合同表的属性:编号、起始日期、终止日期、客户编号、员工编号,同时员工与管理者和服务类型有关联,合同表又将客户与员工联系在一起。
这样使得信息的查询更为简便,清晰。
各实体都是以编号作为主关键字,避免检索的繁琐。
表间对应的局部和整体E-R图如下:(1)管理者和员工信息之间的联系:
(2)员工和服务类型之间的联系
(3)员工和客户之间的联系
(4)员工和合同之间的联系
(5)客户和合同之间的联系
(6)家政服务信息系统模型整体E-R图:
2.数据库整体逻辑结构设计
(1)下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:
1)管理员信息表,如表1所示。
2)家政服务类型表,如表2所示。
3)员工登记表,如图3所示。
表3 员工登记表
4)客户登记表,如表4所示。
5)合同登记表,如表5所示。
表5 合同登记表
(2)所有表之间的关系图,如图1所示。
图1 所有表之间的关系图
3.数据库实现
3.1建立数据库和表
数据库:Housekeeping Table(以下代码都是在Sql Server 2008中运行的) 管理者登记表:
CREATE TABLE Director
(Dno CHAR(5) PRIMARY KEY,
Dname CHAR(20) NOT NULL,
Dsex CHAR(2),
Dclassify char(20), /*管理的项目*/
);
家政服务类型:
CREATE TABLE Type
(
Tserver_type char(20) not null,
);
员工登记表:
CREATE TABLE Worker
(Wno CHAR(5) PRIMARY KEY,
Wname CHAR(20) NOT NULL,
Wsex CHAR(2),
Wbirthday char(20), /*出生日期*/
Wnative_place CHAR(6), /*籍贯*/
Wmarital_status char(4), /*婚姻状况*/
Wnation char(4), /*民族*/
Weducation_background char(4), /*学历*/
Tno char(5), /*服务类型*/
Dno char(5), /*所属管理者*/
CONSTRAINT FK_Tno FOREIGN KEY(Tno) REFERENCES Type,
CONSTRAINT FK_Dno FOREIGN KEY(Dno) REFERENCES Director );
客户登记表:
CREATE TABLE Client
(Cno char(5) Primary key,
Cname char(20) not null,
Csex char(2),
Ctype char(20),
CTel char(20),
Wno char(5),
CONSTRAINT FK_Wno FOREIGN KEY(Wno) REFERENCES Worker );
合同表:
CREATE TABLE Pact
Pfrom_date int,
Pclosing_date int,
Cno char(5),
Wno char(5),
CONSTRAINT FK_Cno FOREIGN KEY(Cno) REFERENCES Client,
CONSTRAINT FK_Worker FOREIGN KEY(Wno) REFERENCES Worker
);
3.2建立视图
3.3建立存储过程
INSERT
INTO Director
V ALUES ('D001','张霞','女','家庭服务');
INSERT
INTO Director
V ALUES ('D002','钱华','男','母婴护理');
INSERT
INTO Director
V ALUES ('D003','刘颖','女','维修服务');
insert into Type
values ('T01','家庭服务');
insert into Type
values ('T02','母婴护理');
insert into Type
values ('T03','维修服务');
insert into Worker
values ('W01','刘华','女','19890817','山东省','未婚','汉族','大专','T01','D001'); insert into Worker
values ('W02','杨梅','女','19800127','山东省','未婚','汉族','大专','T02','D002'); insert into Worker
values ('W03','王海华','男','19820817','山东省','未婚','汉族','大专','T03','D003'); insert into Worker
values ('W04','吕海洋','男','19761127','山东省','已婚','汉族','高中','T03','D003'); insert into Worker
values ('W05','李文文','女','19680817','山东省','已婚','汉族','高中','T01','D001');
INSERT
INTO Client
V ALUES ('C01','张先生','男','家庭服务','137****7637','W05');
INSERT
INTO Client
V ALUES ('C02','吕颖颖','女','母婴护理','151****6487','W02');
INSERT
INTO Client
V ALUES ('C03','陈先生','男','维修服务','138****1353','W03');
insert into Pact
values ('P01','20100112','20100712','C01','W05');
insert into Pact
values ('P02','20100315','20100915','C02','W02');
4.课程设计总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
通过这次课程设计增加很多认识,在拿到课程设计题目时,没有像以前一样马上开始动手写代码,我先做了整体的分析,把要设计的表,表的属性,表间的关系全部弄清楚,并画了相应的关系图和E-R图,从而也就基本形成了这次设计的整体构架。
在写代码的过程中明显感觉到很轻松,就是照着所设计的思路一步一步地
进行。
并得到以下总结:首先,流程是一切的根源,进度控制是项目顺利进行的基础。
没有大局观,面对问题和变更就会不知所措了。
其次,构架是很重要的,整体框架搭好,具体细节实现起来就是顺理成章的事了。
最后,实践比一切空谈和理论更能学到东西。
平时学的那些理论都不过是皮毛罢了,一旦不用很快就忘记,始终要在实践中才会发现问题才会努力去解决才能成长。
看到题目后就一直在思考怎么设计好这个数据库,从理论到实践,在这些日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,毕竟是第一次做这样的设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,例如在设计整体架构设计各表之间的关系时,总是考虑不够周到,数据的完整性和一致性把握不准。
理论不够规范化,关系模式不够优越。
为了实现这些,我也参阅了很多关于数据库设计方面的书,从中受益匪浅。
特别是建立表联系过程中出现了一些问题,导致最后建表的时候表的联系不存在,还有对于试图的建立不熟悉,等到慢慢熟悉了软件才得以成功;这些内容都是通过参考资料才得以实现的。
在这次课程设计过程中,也有很多没有想到的地方,通过和张老师的交流,完善了不少的功能。
在此表示感谢。
最后,在这次课程设计过程中,深刻感觉到自己知识的缺乏,还需要课外继续学习,不断完善和增加自身的知识和经验。