版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Java的家政服务管理系统的设计与实现摘要:随着生活水平的提升,家政服务颇受大众欢迎,而如今又是一个数字化,网络化的社会。传统的家政服务在预定过程中存在较多的不足:第一,有很多非法中介;第二,预定过程繁杂;第三,很难进行双向选择;第四,需要较长时间的等待。为了解决这些问题,本文以Java技术为基础,开发出一款全新的家政服务管理系统。本系统整体的架构使用的是浏览器/服务端模式,也就是时下比较流行的B/S架构、使用后端则是用开发传统的模型-视图-控制(MVC)模式、结合当前流行的的ssm(spring+springmvc+mybatis)的模式对家家乐家政服务管理系统进行开发和设计,采用MySql数据库作为数据支撑,开发语言选择Java,开发工具使用idea。该系统实现了从用户进行登录、用户数据信息修改、家政服务人员信息修改以及删除、管理员添加删除等功能,同时本系统新增了新闻管理控制模块,使用户能够得到及时了解关于家政相关的新闻。关键词:家政服务;jsp;B/S结构;MySql数据库
ABSTRACTWiththeimprovementoflivingstandards,housekeepingservicesareverypopularwiththepublic.Asforadigitalized,networked,andnetwork-basedsociety,traditionalhousekeepingbookingmethodsareverybackward:thebookingprocessiscomplicated,thewaitingtimelong,limitedtwo-wayselectionchoice,andillegalintermediariescommon.Inresponsetothisproblem,theauthorhasdeveloped&designedahousekeepingservicemanagementsystembasedonJavatechnology.Theoverallarchitectureofthesystemisbasedonthebrowser/servermodel,thepopularB/Sarchitectureatpresent.Thebackendisbasedonthetraditionalmodel-view-control(MVC)model,combinedwiththepopularSSM(spring+springmvc+mybatis)model.WithIdeaasadevelopmenttool,Javaasaback-enddevelopmentlanguage,andMySqldatabaseasadatabase,theauthorhasdeveloped&designedthehousekeepingservicemanagementsystemforJiajiale.Thissystemhasinstalledfunctionssuchasloginforusers,modificationofuserdatainformation,modificationanddeletionoftheinformationofhousekeepingservicepersonnel,andadditionanddeletionofadministrators.Atthesametime,anewsmanagementcontrolmodulehasbeenaddedtothesystemtoenableuserstogettimelyinformationabouthousekeepingnews.Keywords:domesticserviceJSPB/SstructureMySQLdatabase
目录第1章引言 61.1开发的意义 61.2开发环境 61.3技术背景 61.3.1Idea的简介: 61.3.2MySQL数据库的简介: 71.3.2JSP的简介: 71.3.4JSP技术特点 71.3.5JSP的工作原理 81.3.6Struts的简介 8第2章系统需求分析 92.1可行性分析 92.1.1技术可行性 92.1.2经济可行性 92.1.3操作可行性 92.1.4需求可行性分析 92.2系统流程分析 92.2.1注册流程 102.2.2登录流程 10第3章系统功能概述 113.1系统功能描述 113.2功能模块划分 133.3系统流程分析 14第4章数据库设计 154.1系统数据源的设置 154.2表、关系模型和数据库的概述 174.3范式与建表的规范化 184.4系统数据库的详细建立 194.4.1用户雇主评价数据表(tb_assess) 194.4.2预约表(tb_book) 194.4.3家政人员证书表(tb_cert) 204.4.4家政公司表(tb_company) 214.4.5合同表(tb_contract) 214.4.6家政人员表(tb_employee) 224.4.7雇主表(tb_employer) 234.4.8口味表(tb_flavor) 234.4.9供应信息表(tb_info) 234.4.10方言表(tb_lang) 244.4.11管理员表(tb_manager) 244.4.12新闻表(tb_news) 244.4.13家政人员技能对应表(tb_skills) 254.5数据库E-R图 25第5章家政系统的实现 305.1系统功能 305.2后台系统实现 325.2.1新闻管理 325.2.2合同管理 335.2.3家政员管理 345.2.4客户管理 355.2.5企业用户管理 365.2.6管理员管理 36第6章结论 37参考文献 38
第1章引言认真检查整篇论文的标点符号,中文的部分要全部是中文标点符号;认真检查是否有多余的空格和段落回车符;认真修改论文,CNKI重复率低于2认真检查整篇论文的标点符号,中文的部分要全部是中文标点符号;认真检查是否有多余的空格和段落回车符;认真修改论文,CNKI重复率低于20%才能参加答辩;1.1开发的意义随着现代人生活水平的提高,许多人已经没有时间来整理家务,这就意味着家政市场在当今社会中会越来越重要,随着网络技术的逐步完善,电子商务成为了当下人们日常生活中重要生活方式,尤其是其低成本、高效率等特点,与其他方式相比,电子商务将会在家政市场中将会发挥重要作用。电子商务对于社会生产力的推动作用突出表现以下几个方面。可以有效的降低信息成本,提高信息使用率。有效的减少大量中间环节,降低人力成本和资源成本。有利于第三产业的发展。1.2开发环境系统的总体配置如下:硬件环境:普通个人计算机、普通显卡。软件环境:linux系统或者windows系统(需要装有java环境及tomcat)Internet信息服务器系统的基本结构如图1-1所示:图1-1系统框架1.3技术背景1.3.1Idea的简介:Idea是一种适用于Java的IDE,但它也理解大量其他语言(例如SQL、JPQL、HTML、JavaScript等)并提供智能编码辅助,即使当语言表达式被注入到Java代码的字符串文字中也能够辨识。除此之外,Idea中的编码辅助不仅仅体现在编辑器中,它还可以帮助您在处理其他工作时同样保持生产力:例如,填写属性、搜索元素列表、访问工具窗口或切换配置,等等。1.3.2MySQL数据库的简介:在现阶段的RDBMS应用软件中,MySQL已经被公认为最好用的软件之一,同时在关系型数据库管理系统中,MySQL也深受人们喜爱,占据着非常大的市场。它是由瑞典AB公司开发,后被Oracle公司收购。在处理数据方面,MySQL数据库具有较高的灵活性,能对数据进行智能分类,当大量的数据涌入时,不再向以往那样都储存在一个大仓库内,而是放在不同的表中,自动做好统计、分类工作,这种关联数据库管理系统极大提高了运行速度和工作效率。与其他数据库相比,MySQL数据库具有下面几个优点:第一,该数据库不需要用户支付任何费用,是完全免费的;第二,在MySQL当中,数据语言选用的是标准的SQL形式;第三,不论数据库有多大,都可以用MySQL来处理,具有很高的上限值;第四,基本上所有的计算机语言都能在MySQL中运行,对系统的要求也更加宽松,不再像以往一样单一。1.3.2JSP的简介:早年间,Sun公司创建了一种能实现网页动态化的技术标准,并将这一技术命名为JavaServerPages(简写jsp)。当要实现能快速应答客户端的请求时,可以将jsp项目部署至tomcat状态,再由serlet对请求的内容进行运行,运行后jsp标签将会生成譬如符合网络web文档标准的Web网页、网页脚本内容(HTML)或是XML这样的新格式,最后结合样式文件再将生成的格式返回到web视图。当用户在输入HTTP请求时,java通过JSP发挥作用,作为基本脚本语言的角色,处理复杂业务,提供需求。JSP的形成是由编译产生的,需要对Java代码进行编译,通过嵌入的方式放入静态网页中,既能形成静态页面模板格式,同时还可以生成jsp的动态模式。所建立的JSP标签库要具备标准XML、HTML标签的各项功能,方便用户正常使用,能够加快平台发展,具有较强的自由度,服务器性能也得到了提升。在编译时期,原始的Servlet代码又被编译出来的过程就是JSP运行的原理。由JSP编译器将JSP文件编译还原出的Servlet可以被Servlet所识别出来,可以直接编译成二进制码,也可以再经由Java编译器来执行编译程序快速得到二进制机器码。1.3.4JSP技术特点能以模板化的方式简单、高效地添加动态网页内容。有良好的工具支持。具有和Java语言一样的特性:相对易用性。4)JSP项目具有很强的适应性,只要开发出来的系统符合标准要求,就能在所有客户端上使用,在该项目开发过程中,Java是主要的参考依据,它的所有优点都运用到了该项目中,只要编写一次,就能够在各种环境中使用,为网站开发人员提供了极大的便利,使其在编写过程中具有很多选择。5)在页面中主要分为两种内容:可变动和不可变动,以往这两部分内容混在一起,整体效果非常混乱,而通过JSP技术,这两部分内容能有序的组合在,更直观的被人们所观察,保证逻辑和外观视图分开设计,既增加了工作人员的工作效率,同时还能体现出整体性。6)可与其它企业级Java技术进行配合,JSP技术除了独自完成工作外,还能与其它企业级Java搭配使用,共同完成工作。1.3.5JSP的工作原理服务器与客户端之间依靠浏览器连接,用户在提出请求时,服务器能根据路径清楚地判断出请求的具体内容。根据客户端请求的不同,服务器对请求分析处理后给出正确的选择,加载对应的JSP文件。JSP引擎在Web服务器中起到文件转化的作用,可将JSP文件转化为Servlet文件。通过JSP引擎,最终形成可以执行的Class文件。同时服务器对该Class文件进行执行处理。浏览器显示经过处理过后的结果,被用户所用。1.3.6Struts的简介传统的模型视图控制(mvc)架构能有效帮助系统快速搭建起来,在java开源环境中,Struts是发源最早的框架之一并且能完美的实现SpringMVC设计模式。选择普遍使用的Controller(控制器),利用配置文件(通常是Struts-config.xml)的功能对模型(Model)和视图(View)进行隔离,最后封装的过程要使用Action这是Struts对其的定义,主要是确保代码易于调试且清晰明确。Struts还提供简化填充的页面标签中编码等工具会自动请求的数据。第2章系统需求分析2.1可行性分析2.1.1技术可行性开发工具的选择上,以idea和mysql两种软件为主,从事开发工作。在技术方面,采用的框架是三层体系结构B/S框架,采用了jsp技术开发一个美观的界面、采用Java语言作为后台开发语言,因为上课的时候老师也教了相应的课程,并且它是属于一种面向对象设计开发的,所以开发时候比较简单和容易理解,在硬件方面。在硬件方面。现如今,技术发展的速度大家有目共睹,不管是在容量上,还是可靠性上更新速度都很快,通过这项技术可以对该系统完成开发工作,同时后期地更新也能快速跟进。2.1.2经济可行性该系统采用的是面向对象的逻辑设计,所用到的软件都是开源的,都可以到官网下载,另外,而且采用的都是兼容性较好的开发技术,故对硬件设备的要求并不高,哪怕电脑的配置一般也可以正常的运行,该系统还具有很高的经济性,在开发过程中,仅仅需要些简单的开发技术,满足了人们的经济性需求。2.1.3操作可行性该系统所有界面都是菜式的,界面也比较简洁友好,并且每步都有操作提示,再加上现在是计算机时代,对于计算机的基本操作大家都不言而喻,是比较易于理解的,所以相对来说该系统的操作都是很简单的。所以不需要掌握相关的知识可以对该系统进行操作。2.1.4需求可行性分析由于生活节奏在不断的加快,而且现在很多上班族上有老下有小,已经没有太多的精力去照顾自己年迈的父母和年幼的孩子,所以该类系统目前在市场上开发还是有前景的,经过调查发现现在也有很多的家政服务管理系统,但又都各自有优缺点,所以该系统与市场上的并不存在重复性,除此之外,该系统是结合别人的优点,摒弃了缺点进行开发的,所以我认为开发该系统会让用户感受到不同的体验,所以开发本系统是符合市场需求的。2.2系统流程分析对于系统的流程分析离不开业务流程图。通常在描述某个具体业务办理过程的时候会使用业务流程图,包括两部分内容,分别是连线和符号,给人以简单、直观的视觉效果。用户通过阅读业务流程图,能明白办理该项业务都需要进行哪些步骤,每个环节都伴有明确说明,用户能高效、快速的实现业务的办理,减少了人为因素的干预。2.2.1注册流程如图2-1所示,给出了用户注册的完整步骤。用户注册分下面几步进行:第一,登陆时填写用户的账号密码信息,如果从未注册过,用户名位置将显示不存在,需要进行用户注册;第二,在注册时,要输入两遍密码,进行二次确认,防止一次输入密码错误的情况发生;第三,当二次输入密码同第一次输入密码一致时,系统会提示注册成功,不一致需要重新填写,完成整个注册工作。图2-1注册流程图2.2.2登录流程通过该系统登陆,能有效的保证系统的安全性,具体的登录流程如下图2-2所示。图2-2登录流程图第3章系统功能概述纵观国内外关于家政的管理系统并不多,普通的家政系统仅仅是一些信息的登记,并不能进行有效的人员管理,本系统它注重对用户的管理、家政人员以及家政公司的信息管理,并且本系统采用三层体系结构的B/S开发模式,可实现一台部署,多台设备使用的需求,相对于C/S架构更加容易维护及发布。3.1系统功能描述用户前台系统主要实现以下几个功能:前台部分主要包括首页新闻以及公告展示、家政员、供求信息、家政公司、用户中心五大模块。(1)首页新闻:其中包含了广告、新闻、公告等几个板块,广告以图片的形式轮流展示,在修改和添加内容时都可以在后台完成操作,完成了新闻模块的管理工作。(2)家政人员:将家政人员的相关信息通过系统集中展示出来,家政人员在注册后基本信息被收入库中,可以对相关条件进行查询,譬如"相关的服务"、"相关的食宿"、"相关的技能"、"相关的工时"、"相关的籍贯",找到匹配条件的人员名单。要想了解每一位家政员的具体信息和以往工作状况,用户只需点击家政员头像获得对应详细数据信息,拥有雇主权限的用户,系统还会给出对应方案的分析、说明。(3)供求信息:家政员会发布一些家政服务信息,同时雇主也会发布一些需求信息,系统对这些信息进行智能排序,按照时间长短为用户浏览提供方便,及时展示最新发布状态。(4)家政公司:可展示在本网站注册的家政公司的名片(包含公司名称、经营项目范围、联系人以及联系方式)。(5)用户中心:主要用户有三种,分别是雇主、家政员以及家政公司,不同用户登录系统进入用户中心有不同的权限,而且实现了防止用户的跨权限操作。家政员:主要包括个人信息、发布信息、预约管理、服务协议等操作权限。发布信息:家政员可以发布供应信息。预约管理:通过筛选雇主发布的需求信息,家政员选择适合自己的一条信息进行预约,与雇主单方面取得联系。家政员能接受雇主提供的条件和要求,并作出了确认选择,在系统中该家政员会被标注“已预约”字样。服务协议:家政员成功的领取了雇主发布的需求信息后,系统将会为双方自动生成一份相互约束的协议,有了该服务协议,雇主与家政员双方的权益都能得到保障。该协议需要家政员、雇主和家政公司三方共同签订,家政员未签协议时,显示为“待岗”,只要一签署服务协议就会将自己“已预约”的状态变为“在岗”。(6)雇主:主要包括发布信息、我的预约、服务协议、服务评价等操作权限,其中发布信息-雇主可以在这里发布相应的需求信息。我的预约:雇主在每次预约后,可以前往后台查看预约是否成功。雇主在该系统中享有很多权利,只有以雇主身份登录该系统后,才会有预约家政员的资格,如果预约成功,但是雇主又有了更好的选择,可以前往后台更换;如果预约失败,雇主还可以继续预约。服务信息:雇主发布的信息被家政员领取,即家政员在预约管理里选择了该雇主,那么该雇主有权利签订服务协议,该服务协议同家政员所签订的一致。服务评价:与淘宝平台相似,当家政员完成了雇主发布的家政任务后,雇主可以根据家政员的服务质量进行评价,系统会根据家政员的总体评价调整家政员的展示顺序。(7)家政公司:该系统对家政公司具有较大的权限约束,家政公司只能展示自身的名片,包括联系方式、主营业务等信息的家政名片。后台管理具体描述:(1)新闻管理添加新闻:管理内容主要包括三方面:第一,新闻种类;第二,新闻内容;第三,新闻标题。删除新闻:首先列出所有新闻,选择性删除相应的新闻信息。(2)合同管理查看合同:查看家政人员与雇主签订的相关合同。审核合同:审核家政人员与雇主签订的合同,使其生效。(3)家政员管理评价考核:对家长人员进行星级评价删除用户:删除家政人员审核信息:该模块的审核是针对家政人员发布工作信息,需要审核过后才会出现在供应关系中。(4)客户管理删除用户:删除雇主用户审核信息:审核雇主发布的需求信息,审核通过后才会出现在供应关系中(5)企业用户管理删除用户:删除企业用户(6)管理员管理添加管理员:为后台管理添加管理员删除管理员:不再需要某个后台管理员,即可进行删除处理。3.2功能模块划分本系统在运行过程中,主要为用户提供新闻、供应信息管理、管理管理等五种功能。在设计模块时,根据设计的功能列表而对应做出,具体如图2-1所示:图2-1家政管理系统功能模块示图在系统管理员模块中,主要执行两种功能,分别是:创建、删除。在系统刚刚投入使用时,只有一个默认的用户admin,程序人员通过登录该初始用户,完成数据库的添加工作,同时还可以创建更多的管理员信息,在注册功能开通后,平台的所有用户都可以自行进行注册。下图2-2指出了用户管理功能模块的相互关系:图2-2用户管理功能模块关系图3.3系统流程分析家政人员工作流程如图2-3所示:图2-3家政人员工作流程图雇主雇佣流程如图2-4所示图2-4雇主工作流程图用户在前台进行登陆时,进行选择身份,根据选择的身份核对账号密码,进入相应的功能模块。根据用户注册时填写的需求和信息,系统将会为不同类型客户赋予特定的权限,用户登陆平台后,个人中心显示的内容也会有所差异。第4章数据库设计4.1系统数据源的设置采用原生的jdbc驱动连接mysql数据库,这样编写简单的sql能方便同后台数据库的联结处理,同时兼容ODBC和OLEDB两种数据源,分以下几个步骤进行:(1)创建jdbc配置文件使用com.mysql.jdbc.Driver驱动连接数据库,同时还要将创建的数据连接配置文件放在目录之下。mysql的账号为USER_NAME=root,密码则是USER_PASSWORD=123.com,设置的同时,还要在连接之前先创建连接字符串DB_URL=jdbc:mysql://localhost:3306/db_jiazheng?user=root&password=123.com&useUnicode=true&characterEncoding=UTF-8。通过这样的方式创建的文件,在现场实施中,相关人员可以根据实际情况施行中更便于修改数据库中的配置文件,对Properties类的修改工作通过使用linux中的vim命令就可以完成。(2)编写自定义连接类在读取变量时,选择数据库连接字符串,在创建prop、dbName、dbUrl之初,就要对变量进行初始化,设定为Streamin=getClass().getResource(propFile);ConnDB类创建于文件目录下并将其定义propFileName为“/com/properties”;ClassName=prop.getProperty("CLASS_NAME")这一段定义为读取配置信息的程序;读取数据库驱动时为dbUrl=prop.getProperty("URL")。(3)创建数据对象先对ConnDB类进行声明创建出具体的实例,再将sql语言字符串的变量进行实例化执行,对要查询、删除、更新的sql做初始化更改,从db变量中查询(query)函数,完成程序执行,若要保证服务器端中的mysql数据库不会收到编码类型调整的影响,则需要将客户端改为“gdk”编码。(4)操作数据库与过去的操作比较,能发现新的执行函数具有更高的运行效率,在进行更新、插入、删除等操作时都有了明显的优化。(5)关闭数据对象和链接当数据库连接对象已经使用完成,应立即将该系统关闭,若没关闭可能在后续的连接工作中有连接池溢出的可能,调用close函数就可以关闭连接对象。完整的程序片段:privateConnDBdb=newConnDB();//创建数据库对象实例Stringsql_result="selectid,surname,birthdate,hometown,uptimefromtb_employeetwhereexists("+sql_workTime+"t.id=t1.user_id)andexists("+sql_accomm+"t.id=t2.user_id)andexists("+sql_workType+"t.id=t3.user_id)andexists("+sql_cert+"t.id=t4.user_id)andexists("+sql_skill+"t.id=t5.user_id)andexists("+sql_lang+"t.id=t6.user_id)andexists("+sql_flavor+"t.id=t7.user_id)andexists("+sql_homeCity+"t.id=t8.id)anduptimeisnotnullorderbyuptimedesc";//编写执行db.executeQuery("setnamesgbk");//设置gbk编码ResultSetrs=db.executeQuery(sql_result);//将查询结果导入到ResultSet对象当中while(rs.next()){UserInfoFormbmInfo=newUserInfoForm();userId=rs.getInt("id");surname=rs.getString("surname");birthdate=rs.getString("birthdate");hometown=rs.getString("hometown");uptime=rs.getString("uptime");("查询结果:用户编号"+userId);("查询结果:用户姓名"+surname);//("查询结果:用户年龄"+birthdate);//("查询结果:用户籍贯"+hometown);//("查询结果:用户更新时间"+uptime);bmInfo.setId(userId);bmInfo.setSurname(surname);bmInfo.setBirthDate(calAge(birthdate));bmInfo.setHometown(hometown);bmInfo.setUptime(uptime);list.add(bmInfo);}上面的过程都是利用java使用jdbc访问数据库,为了给用户带来简单、高效的使用体验,对步骤中所有的操作都进行了简化处理,用户不需要深入的了解系统的工作原理,只要对一些专有名词有简单了解就能完成所有操作,用户与页面间的交换信息功能逐步得以实现。4.2表、关系模型和数据库的概述数据在数据库中,其位置存储、组织于表中,列是构成表的最基本属性,表中的行列都对应有的序列,每一行对应相应的列,行列位置可构成一条记录信息,并将其称之为字段,千万个这类记录信息组成的集合就是所谓的表文件,而数据库文件则是由成千上万张表和关系共同组成的。一般来说数据库是没有UI界面的,只有在原有数据库基础上添加管理软件时,才能够发挥数据库管理作用,发挥数据库管理系统功能。数据库管理系统为数据的存储提供了很大的便利,当存储数据较多时,数据库管理系统将会自行对这些数据进行分类,还能满足用户对数据的查询、索引、打印等操作。数据库管理是任何系统中必不可少的部分。数据库管理系统由三部分组成,分别是:第一,数据库可视化软件;第二,数据库;第三,支撑数据库管理系统的软、硬件。通过数据库管理系统,用户能更直观的对数据进行查看,同时很多有关数据被及时的保存,有记忆特点,当用户再次使用时,将会根据用户以往需求给用户提供相关资源。对数据库而言,数据模型使其生命力的最好体现。一般都是通过模型来反映虚拟的数据库,为用户直观的描述数据库的结构和语义。在系统中常见的数据模型有:层次模型、关系模型、面向对象模型等。建立关系模型要以关系数据库为基础,通过将抽象的数据关系具体位置二维表形式,实现系统的正常运转。数据库中的有些数据是独立存在的,不被程序所容纳,这就代表着数据不依赖于系统,系统存不存在,数据都是存在的,让每一位用户通过程序实现多数据的利用,以满足自身的需求。4.3范式与建表的规范化许多关系模式共同组成了数据库模式,关系是建立系统数据库的重要指导依据,要想对关系模式给出正确的评价,可以用模式的范式。第一范式(1NF):在具体关系中,G>在关系模式R中的属性值都无法被再次分割,成为其中最小的数据单位体,则由此形成的关系则称R是第一范式的关系。例:1NF将姓名、电话号、职工号归纳于一个表格中并对其进行规范,由于一个人可能同时有两个电话号:一个自用一个办公,具体有三种方法:一是多次将姓名和职工号存储于库中,使得电话号码成为其关键字。二是关键字设定为职工号,其中,单位电话和住宅电话是电话号码的两个属性。三是职工号为关键字,要求一个记录中只可一个电话号码,而不可记录多个。第二范式(2NF):第二范式(2NF):G>如果关系模式R(U,F)中,任意一个候选关键字都被所有非主属性所依赖形成的关系。例:选课关系SCI,其中课程号、学号、成绩、学分各个关键字分别由CNO、SNO、GRADEGE、CREDIT所代表,根据以上条件,确定(SNO,CNO)为组合关键字。根据归属的不同,我们可以对关系模式r进行分类:第一种,非主属性的键属性,这种属性具有较高的独立性,不属于任何形式;第二种,主属性的键属性,依赖主属性而存在。第三范式(3NF):第三范式(3NF):在所有非主属性里,没有出现任何候选关键字的,这属于没有信赖关联的,则称关系R是属于第三范式的。例如:S1中的各属性中,SNO代表学号,姓名由SNAME表示,所在系用DNO表示,系名称用DNAME表示,用LOCATION表示系地址。系统中的各个属性都有关键字SNO决定,这写关键字属于独立的个体,属于2NF范畴。这种关系的缺点是容易造成数据的冗余,当学生操作不规范时,容易出现这一现象,包括非主属性,在关键3NF模式依赖发送。2NF与3NF的模式完全一致。产生数据冗余的主要原因有两方面:第一,局部依赖;第二,传递信息依赖。因为在本地模式3NF依赖性和依赖候选键被发送时不存在这些非主属性数据,从而消除的存储器异常的大部分具有更好的性能。在设计数据库关系模式时,应准确把握范式的优缺点,从中选择一个平衡点。缺点:性能不如以前,但是单表查询会快于多表查询。优点:冗余小、结构布置合理巧妙、能减少譬如删除、插入等的错误操作。以上优缺点经过分析掌握之后,优秀的数据结构即可使用mysql进行设计。4.4系统数据库的详细建立建立数据库(db_jiazheng)4.4.1用户雇主评价数据表(tb_assess)用户雇主评价数据表是用来存入雇主对家政人员评价的,基本数据含有家政人员ID、家政人员姓名、雇主ID、服务类别、服务态度编码、服务质量编码、服务价格评价编码、服务评价内容等,结构如表3-1所示:表3-1用户雇主评价数据表(tb_assess)字段名数据类型字段大小字段说明bmIDint10家政人员IDbmNamevarchar8家政人员姓名gzIDint10雇主IDservTypevarchar10服务类别svAttitudeint1服务态度svQualityint1服务质量svPriceint1服务价格svRecommendint1服务评价svContenttext0服务内容svPointint1推荐指数svDatedate0服务日期4.4.2预约表(tb_book)预约表是用来记录雇主或家政人员预约的信息的,包含家政人员ID、家政人员姓名、雇主ID、雇主姓名、雇主电话、雇佣开始时间、雇佣结束时间、雇佣月份数、雇主支付金额、服务类型、服务次数、包吃住状态、雇主预约信息、预约日期、雇佣模式、是否预约成功、是否过期。如表3-2所示:字段名数据类型字段大小字段说明bmIDint10家政人员IDbmNamevarchar8家政人员姓名gzIDint10雇主IDgzNamevarchar8雇主姓名gzPhonevarchar14雇主电话startDatedate0雇佣开始时间endDatedate0雇佣结束时间wkPeriodvarchar2雇佣月份数gzPayvarchar8雇主支付金额servTypeint2服务类型servDailyTimeint2服务次数isAccommint2包吃住状态gzbkContenttext0雇主预约信息bookTimedate0预约日期nodevarchar2雇佣模式isSuccessvarchar1是否成交isOutdatedvarchar1是否过期4.4.3家政人员证书表(tb_cert)家政人员证书主要保存家政人员证书关系,包含有家政人员ID、是否健康、是否是月嫂、是否是护士、是否是营养师、是否是早教、是否有驾驶证、是否是厨师。如表3-3所示:字段名数据类型字段大小字段说明user_idint10家政人员IDcert_jiankangint1是否健康cert_yuesaoint1是否是月嫂cert_hushiint1是否是护士cert_yingyangshiint1是否是营养师cert_zaojiaoint1是否是早教cert_jiashiint1是否有驾驶证cert_chushiint1是否是厨师4.4.4家政公司表(tb_company)家政公司表主要存储注册类型为家政公司的用户,主要包含:ID、用户名字、邮箱、密码、公司名字、公司描述、联系人、联系电话、创建日期等。如表3-4所示:字段名数据类型字段大小字段说明idint10家政公司IDnamevarchar30用户名字emailvarchar30邮箱passwordvarchar30密码companyNamevarchar15公司名字companyDescvarchar30公司描述companyLinkmanvarchar10联系人companyContactsvarchar30联系电话companyUpTimedate0创建日期4.4.5合同表(tb_contract)合同表是存储签订合同的关系表,包含:合同id、家政人员id、雇主id、家政人员名字、雇主名字、服务类别、包住方式、工时、开始时间、结束时间、雇主支付工资、雇主确认、确认日期、家政人员确认、确认日期、签订日期、是否过期。如表3-5所示:字段名数据类型字段大小字段说明idint10合同idbmIDint10家政人员idgzIDint10雇主idbmNamevarchar8家政人员名字gzNamevarchar8雇主名字servTypevarchar10服务类别isAccommvarchar10包住方式servDailyTimevarchar10工时beginDatedate0开始时间endDatedate0结束时间gzPayvarchar14雇主支付工资gzSignaturevarchar8雇主确认gzSigDatedate0确认日期bmSignaturevarchar8家政人员确认bmSigDatedate0确认日期sigDatedate0签订日期isOutdatedvarchar1是否过期4.4.6家政人员表(tb_employee)家政人员表主要保存家政人员信息,包含:id、姓名、邮件、密码、真实姓名、家乡、性别、生日、电话、是否已婚、教育程度、地址、头像、个性说明、更新时间、状态、排名。如表3-6所示字段名数据类型字段大小字段说明idint10idnamevarchar30姓名emailvarchar30邮件passwordvarchar30密码surnamevarchar8真实姓名hometownvarchar8家乡sexint1性别birthdatedate0生日phonevarchar14电话marriageint1是否已婚educationint1教育程度addressvarchar50地址avatarlongblob0头像profiletext0个性说明uptimedate0更新时间statusvarchar1状态rankint1排名4.4.7雇主表(tb_employer)雇主表主要存储注册类型为雇主的账号信息,包含:id、姓名、邮箱、密码。如表3-7所示:字段名数据类型字段大小字段说明idint10idnamevarchar30姓名emailvarchar30邮箱passwordvarchar30密码4.4.8口味表(tb_flavor)口味表主要存储家政人员可以做的菜口味,主要包含:家政人员id、本地、西餐、川菜、粤菜、卤菜、苏菜、浙菜、湘菜、闽菜、徽菜。如表3-8所示字段名数据类型字段大小字段说明user_idint10家政人员idflavor_localint1本地flavor_xicanint1西餐flavor_chuancaiint1川菜flavor_yuecaiint1粤菜flavor_lucaiint1卤菜flavor_sucaiint1苏菜flavor_zhecaiint1浙菜flavor_xiangcaiint1湘菜flavor_mincaiint1闽菜flavor_huicaiint1徽菜4.4.9供应信息表(tb_info)供应信息表主要存储供应的信息,其中包含:用户id、工作时间、吃住方式、服务类型、标题、内容、发布时间、支付金额、电话、供需类别、是否锁定。如表3-9所示:字段名数据类型字段大小字段说明user_idint10用户idworktimeint2工作时间accommint2吃住方式workTypeint2服务类型headlinevarchar30标题contenttext0内容posttimedate0发布时间payvarchar14支付金额phonevarchar14电话typevarchar1供需类别isLockvarchar1是否锁定4.4.10方言表(tb_lang)方言表主要存储方言,包括:用户id、本地、普通话、四川话、东北话、广东话、客家话、闽南语。如表3-10所示:字段名数据类型字段大小字段说明user_idint10用户idlang_localint1本地lang_normalint1普通话lang_sichuanint1四川话lang_dongbeiint1东北话lang_guangdongint1广东话lang_kejiaint1客家话lang_minnanint1闽南语4.4.11管理员表(tb_manager)管理员表主要存储管理员的账号,主要包含:id、名称、密码。如表3-11所示:字段名数据类型字段大小字段说明idint10idnamevarchar30名称passwordvarchar30密码4.4.12新闻表(tb_news)新闻表存储新闻信息,主要包含:id、标题、内容、发表日期和新闻类别。如表3-12所示字段名数据类型字段大小字段说明idint4idtitlevarchar30标题contentlongtext0内容issuedatedate0发表日期typevarchar50新闻类别4.4.13家政人员技能对应表(tb_skills)家政人员技能对应表主要存储家政人员拥有技能,主要包含:用户id、电脑、熨烫、手工、外语、驾驶、营养学。如表3-13所示字段名数据类型字段大小字段说明user_idint10用户idskill_computerint1电脑skill_ironingint1熨烫skill_handworkint1手工skill_waiyuint1外语skill_drivingint1驾驶skill_nutriologyint1营养学4.5数据库E-R图数据库系统的概念模式一般是独立存在的,不依托于计算机系统、数据库系统等发挥作用,根据用户的实际需要进行内容设计。在设计概念模式时,首先对用户的需求做出准确分析,其次通过E-R模型对这些需求给出具体的直观描述。在概念设计环节中,用户能加深对系统数据库的理解和认知,用户的需求在系统中得到满足。为了保证最终设计出的数据库能符合客户的要求,需要用户参与到系统的整个设计过程中。在现阶段设计概念模式中,E-R模型法得到了大家广泛的认可。下图是本系统的E-R图:实体间关系属性实体实体间关系属性实体家政公司实体E-R图如图3-14所示:图3-14家政公司实体图(2)图3-15,给出了雇主评价实体E-R图:图3-15雇主评价实体图(3)合同实体E-R图如图3-16所示:图3-16合同实体图(4)下图3-17,给出了预约实体E-R图:图3-17预约实体图(5)方言实体E-R图如图3-18所示:图3-18方言实体图(6)下图3-19,给出了人员证书实体E-R图:图3-19人员证书实体图(7)下图3-20,给出了家政人员技能实体E-R图:图3-20家政人员技能实体图下图3-21,给出了口味实体E-R图:图3-21口味实体图(9)下图3-22,给出了新闻实体E-R图:图3-22新闻实体图(10)下图3-23,给出了雇主实体E-R图:图3-23雇主实体图(11)下图3-24,给出了管理员实体E-R图:图3-24管理员实体图(11)下图3-25,给出了所有实体关系图:图3-25所有实体E-R图第5章家政系统的实现5.1系统功能系统前台具备如下功能模块:首页新闻:其中包含了广告、新闻、公告等几个板块,广告以图片的形式轮流展示,在修改和添加内容时都可以在后台完成操作,完成了新闻模块的管理工作。界面如下:家政员:具有全部的家政人员信息,可以根据不同的条件进行动态异步查询,如:"籍贯"、"技能"、"食宿"、”工时"、"服务"等条件,展示了在本网站注册的家政员信息。界面如下:供求信息:家政员会发布一些家政服务信息,同时雇主也会发布一些需求信息,系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025店铺转让合同下载
- 心绞痛病例报告范文
- 上海师范大学《数字电子技术课程设计》2023-2024学年第一学期期末试卷
- 浙江省五校联盟2025届高三12月联考 生物试题(含答案)
- 课题申报书:岗位胜任力视域下基于知识图谱的适应性教学模式研究
- 课题申报书:多源异质海量数据的分布式高维分位数回归及其应用
- 课题申报书:多元办学形式下幼儿园发展途径研究
- 上海欧华职业技术学院《功能涂镀》2023-2024学年第一学期期末试卷
- 上海农林职业技术学院《幼儿园教育评价》2023-2024学年第一学期期末试卷
- 上海闵行职业技术学院《噪声与振动控制》2023-2024学年第一学期期末试卷
- 12二年级《跳跃:多种形式跳跃的练习方法》
- 电动给水泵液力耦合器基础知识ppt课件
- 样品管理控制流程图
- 超实用-组合房贷计算表
- 屋面细石混凝土保护层施工方案及方法
- 西方经济学考试题库含答案
- 监理公司各部门职责
- 论辛弃疾词作的愁情主题及其审美价值
- 新形势下我国保险市场营销的现状、问题及对策
- 完整版焦虑抑郁自评量表SASSDS
- ISO14001内审检查表
评论
0/150
提交评论