《基于java技术的客户关系管理系统--毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于java技术的客户关系管理系统--毕业设计论文.docx(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、滨江学院毕业论文(设计)题 目 基于JAVA技术的客户关系管理系统 院 系 滨江学院 专 业 电子信息工程 学生姓名 学 号 指导教师 职 称 二一二年 五 月 十一 日基于JAVA技术的客户关系管理系统 南京信息工程大学电子信息工程专业,南京 210044摘要:该客户关系管理系统是基于J2EE技术进行开发,主要采用JAVA语言作为开发语言,基于MVC的设计思想,利用J2EE网页制作技术完成前台静态页面和动态页面的设计,同时利用JDBC技术完成前台页面和后台MySQL数据库的连接操作,最终完成一个客户关系管理系统。该系统共分为营销管理、客户管理、服务管理和统计报表四个功能模块,系统可以帮助企业
2、发掘并创建客户信息记录,对所有的客户进行有效的管理;按照客户的一些基本信息和业务信息进行分类,掌握老客户的基本动态和对公司的贡献等级,不断的发掘新的客户,同时对客户流失的原因进行了解,不断改进,帮助提高企业的经济效益。关键词:客户关系管理;J2EE;数据库;JAVA1 引言随着经济的不断发展和企业的不断发展壮大,如何获取更大的消费市场、降低自己的生产成本以及获取更大的销售利润成为企业生存所面临的首要问题,客户在企业的发展中扮演了一个极其重要的角色,客户资源就是企业的宝贵财富,同时企业对于客户的依赖已经提高到了关乎企业生存的高度,而这些客户有分不同的客户群体,例如有小客户、大客户,而客户的等级对
3、于企业发展的重要性也是不一样的,而且这些客户有可能来自不同的行业,不同的区域,必须对这些客户进行有效的管理;而且每个客户对企业的需求和要求也是不同的,只有尽可能的满足不同客户的不同需求,才能提高企业的核心竞争力,获取和创造利益的最大化。在过去的10年当中,有许多原因导致客户关系的管理变得非常重要。国际市场竞争已成为极具竞争力,如果他们不喜欢他们所得到的服务,客户就可以变更企业。客户关系管理一个主要的目标就是维护客户。当它被使用有效完全的时候,公司将能够与客户建立一个长久的关系。客户关系管理工具通常会以现实的软件方式实现。每一个软件程序可能不同的方式方法实现客户关系管理。但是那是很重要的客户关系
4、管理不仅仅是一个技术,客户关系管理可以更好地界定为一种方法,一个公司将实现自己的目标的方法,它应该是直接和公司的理念相关联,有许多原因企业应该拥有客户关系管理系统。客户关系管理系统能够帮助公司找到最适合客户的因素。一个公司必须认识到,如果他们不满足欲望和需求的客户,他们也不可能获得成功,而客户关系管理是一个功能强大的系统将允许他们这样做,实现企业的目标。本系统的设计理念就是帮助企业对客户进行有效的管理,可以用来研究用户、管理用户、开发用户。代替了之前的手工记录和传统记忆方式,避免了客户数据的遗漏和丢失,同时可以对客户进行一系列的需求和分类操作,添加新客户,对新客户进行操作,对即将流失的客户进行
5、了解和分析,不断完善流失客户的需求,同时对客户提出的问题加以改进;通过计算机进行登录和管理,操作简单易懂,更符合公司的发展需要。2 系统方案论证2.1 系统可行性研究分析在进行系统开发之前,需要确定系统开发方案,可行性分析的目的是在系统开发之前,经过详细的阅读需求文档以及各个功能模块的设计要求以及实现要求,明确系统开发的可行性,而可行性则取决于现实应用系统的资源和条件,对系统开发条件不成熟的地方加以讨论。通过对系统实现目标以及对四个功能模块的初步了解和分析,提出可行性的方案并进行论证,本文在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析和对比论证,寻找出在各个方面都适合系统开发的条
6、件。2.1.1 技术可行性论证就技术而言,技术可行性分析是根据讨论和研究的客户关系管理系统需求分析所得到的对系统开发所需要的软件和技术支持。通过讨论和论证,本系统主要采用MVC设计模式,选用Windows XP作为服务器端的操作系统,主要采用面向对象的设计方法进行系统设计,在软件开发中选择MyEclipse9.0软件为开发工具;前台系统操作界面采用J2EE网页制作静态页面技术和JSP实现动态网页技术开发的;后台数据库采用MySQL设计完成,安装简单,实用,并采用JDBC、Servlet、Hibernate等技术实现数据库的连接;同时采用Tomcat 7.0应用服务器,安装以后可以直接运行,采用
7、火狐浏览器作为主浏览窗口;同时也采用CSS、JAVASCRIPT脚本语言实现网页不布局和表单提交的验证功能,系统具有界面美观、操作方便、可扩充性强等特点,给用户带来不一样的体验。2.1.2 经济可行性论证软件的经济可行性论证是指进行客户关系管理系统开发所投入的人力与资金的论证,以及将来是否能达到所需要的效益,主要是指对客户关系管理系统开发的成本进行估算,而本系统的应用开发软件、硬件系统也易于获得。所需要的软件开发工具均可以从互联网和导师处获取,开发成本相对较低。而在一些小型企业引进使用本系统后,与传统的手工记录方式和操作相比,具有高效率、低成本的特点,可以节省人力和物力。所以从经济可行性的角度
8、来看,该客户关系管理系统可以进行开发。2.1.3 操作可行性论证操作可行性论证主要是在客户关系管理系统开发过程中对四个功能模块的实现是否存在可行性,以及对系统完成后的操作是否被企业用户容易接受等方面进行论证。首先,通过详细的阅读了系统的需求规格说明书,明确了该系统的功能需要,确定可行。同时该客户管理系统对操作人员专业要求比较低,具有一定的计算机知识便可以对系统进行操作。3 系统开发技术及思想介绍3.1 J2EE网页制作技术首先,网页制作技术分为静态网页部分和动态网页部分二部分,静态页面部分主要包括HTML,CSS,JAVASCRIPT三部分;其中HTML字面上翻译就是超文本标示语言,通过其基本
9、元素的操作可是实现网页界面的完整性;通过定义CSS样式表,能让网页具有美观一致的画面,一个样式文件可以作用于多个界面,其中和标签之间的所有内容都是样式规则;JAVASCRIPT即是一种描述语言,也是一种基于对象和事件驱动,通常JAVASCRIPT代码使用和标记嵌入HTML文档中,通过使用JAVASCRIPT可以实现基本的表单提交验证功能。动态页面部分主要包括Servlet和JSP二部分,其中Servlet允许用户在服务器上运行JAVA代码和生成动态内容。在本系统中,通过详细的阅读系统需求文档,在系统的设计过程中也运用了以上的知识,首先利用HTML和CSS样式表基本知识进行开发,实现了基本的系统
10、操作界面的静态网页;为了方便统一开发,利用页面框架技术将网页设计开发部分分为三个部分来实现,利用HTML实现基本网页内容,利用JAVASCRIPT技术实现表单的验证,利用CSS布局实现界面的美观修饰,给用户呈现出一个美观易懂的画面。3.2 数据库技术数据库是存储在一起的相关数据的集合,这些数据是结构化的,并为多种运用服务,数据的存储独立于使用它的程序。而在数据库中,SQL语句是一种通用的数据库查询语言,SQL一般有数据定义语言、数据操纵语言和数据控制语言组成,数据定义功能包括对基本表、视图、索引的创建、删除和修改操作。而在系统中,数据查询是数据库的核心操作,SQL语言的数据查询只有一条SELE
11、CT语句,查询有单表查询、多表连接查询、嵌套查询和集合查询几个部分组成。SQL的数据更新包括数据的插入、修改和删除等三种情况。在本系统中,运用了MySQL数据库管理系统,对系统的数据库进行设计,对于不同模块的不同需求,通过设计在数据库中创建了多张相对应的表,对于用户表和职位表是在系统运行之前就插入,其余各个表数据的存储和操作是等系统完成之后运行用户自己插入存储。3.3 J2SE技术介绍在J2SE技术当中,JSP是一种JAVA服务器端技术,它主要用来产生动态网页内容,JSP页面使用HTML表示网页上的静态内容,而在其中添加JAVA代码表示动态内容 JSP是一种实现普通静态HTML和动态HTML混
12、合编码的技术。JDBC(JAVA数据库连接)是一种用于执行SQL语句的JAVA API,可以为多种关系数据库提供统一访问,它有一组用JAVA语言编写的类和接口组成。而JDBC当中定义像DriverManager等一系列的类和接口,利用以上类和接口,程序员很容易实现与数据库的连接,传递SQL语句和处理检索结果。 在系本统中,运用了该技术实现了前台静态网页和后台数据库的连接功能,实现了数据的交换、插入、修改和存储,是客户关系管理系统中关键的技术。3.4 MVC设计思想MVC 设计思想是将程序分成相对独立,而又能协同工作的三个部分。MVC 是Model 、View 、Controller 三个词的缩
13、写,三个词分别代表应用的三个组成部分:模型、视图与控制器。Model有JavaBean来控制;View就是视图,由JSP等等构成,用途包括数据的呈现和收集用户的数据,Controller是控制器,由Servlet来控制完成,作用包括接受客户端的请求,调用模型完成业务逻辑和将下一个页面呈现给用户。设计思想如图4.4 MVC模式图例所示。 ClientControllViewModelDBPojoDao图4.1 MVC模式图例MVC模型工作流程是由客户端发出一个请求,首先给控制器Controll,之后控制器调用模型层Model,就是访问Pojo和Dao,Pojo的作用是传递参数,Dao是用来连接和
14、访问数据库的,当有数据进行返回交换时,先返回给Dao,再返回给控制器,控制器在完成业务逻辑之后,通过视图将界面呈现给用户。4 系统开发软件介绍4.1 DreamWeaver 软件概述DreamWeaver是一款网页开发工具,是可视化的网页编辑软件,它能快速地创建网页,还提供了强大的网站管理和维护功能。Dreamweaver还提供了开放的编辑环境,它可以协同相关软件和编程语言共同工作。而且可以有多种视窗模式,提供了代码视图、设计视图、代码与设计视图3种视窗模式,运用所学习的静态网页的基本知识,可以完成基本网页的编写。实现系统操作的界面要求。软件使用如下图4.1所示:图4.1 DreamWeave
15、r软件运行图4.2 MySQL 数据库软件概述MySQL是一个数据库管理系统,与其他数据库像DB2、Oracle、SQL Server等相比,规模小而且功能有限,但是对于客户关系管理系统来说,简单且易于安装和操作,MySQL数据库能够很好的完成开发任务,实现系统功能需求。MySQL数据库运行截图如图4.2所示:图4.2 MySQL数据库运行图4.3 MyEclipse 软件概述MyEclipse 是一种集成开发环境,利用它我们可以在数据库和网页上的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。MyEclipse也是一种基于JAVA的可扩展的开源的开发平台。就其本身而言,它仅仅只是一
16、个框架和一组服务,主要用于通过插件组件构建开发环境。尽管MyEclipse是使用JAVA语言开发的,但它的用途并不限于JAVA语言;例如,支持诸如C/C+等编程语言的插件已经可用。MyEclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础。同时我们可以用MyEclipse来开发JAVA应用程序,在本系统中就是运用该技术实现系统的功能。MyEclipse软件运行图如图4.3所示:图4.3 MyEclipse软件运行图5 系统总体开发5.1 系统概述该客户关系管理系统共分为营销管理模块、客户管理模块、服务管理模块和统计报表四个功能模块。为了更好的发掘老客户的价值和作用,并开发更多的新
17、客户,通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的数字化记录,进行充分共享和对企业进行规范化的管理提供帮助;通过对销售机会的创建、客户开发过程的追踪和记录,提高新客户的开发能力;在客户将要流失时系统及时预警,以便公司企业人员及时采取相关措施,降低公司损失;同时系统能够提供相关有关客户的报表,以便公司高层随时了解公司客户情况,帮助制定公司下一阶段的发展方向。5.2 系统需求分析整个客户关系管理系统都需要以客户为中心,从而简化各类与客户相关操作的信息,如销售、服务和查询等等,在构建系统的时候,应当考虑与公司其他系统之间的协调,但是本系统仅仅局限于进行对企业客户的一些基本管理
18、,假设现在系统的使用者是某小型企业,那么,企业对该系统提出了如下需求:首先系统需要包括营销管理模块、客户管理模块、服务管理模块和统计报表模块。系统需要提供权限管理,以便于更好的管理,对于不同的角色能够赋予不同的权限,但是由于为了更好的有利于公司企业的发展,均设置为最高权限,即客户经理权限;同时为了更好的和企业客户交流,系统还需要提供一个客户联系人功能,用来管理和编辑存储客户的联系人信息;为了更好的统计企业目前的销售情况,系统还需要提供一个销售管理的功能,为公司下一步制定销售计划提供帮助;还需要提供一个服务反馈管理功能,能够及时的记录和操作顾客反馈的信息,对信息进行研究与分析,对公司发展所出现的
19、问题进行分析和改正,最大限度的维护与老客户之间的关系,实现企业发展目标。功能需求如图2.1 客户关系管理系统功能图所示。销售主管客户经理高 管管理销售机会和客户开发计划管理客户基本信息管理将流失的客户管理客户服务查看产品、订单数据查看统计报表图2.1 客户关系管理系统功能图客户关系管理系统要求实现营销管理模块中的销售机会管理和客户开发计划功能; 实现客户管理模块中的客户信息管理功能;实现服务管理模块中的服务创建、服务分配、服务处理、服务反馈和服务归档功能;实现统计报表模块中的客户构成分析和客户服务分析功能。5.3 系统功能分析5.3.1 系统营销管理模块在系统的营销管理模块中,该模块用来处理公
20、司企业的营销信息,包括销售机会管理和客户开发计划二个子模块功能。客户经理在企业的发展过程当中扮演了一个重要的角色,客户经理有开发新客户的任务,在客户经理发现对于公司有利的销售机会时,应在该系统中录入该销售机会的信息,以便对该销售机会进行更好的开发。同时销售主管也可以在客户管理管理系统中创建销售机会。创建的销售机会由销售主管进行分配,以便更好的开发,每个销售机会分配给一个客户经理。客户经理对分配给自己的销售机会制定相应客户开发计划,在制定完客户开发计划后,客户经理按实际实际当中的开发效果填写计划中每个步骤的执行效果进行比较和确认,同时在开发计划结束的时候,根据开发的结果不同,设置该销售机会为“开
21、发失败”或“开发成功”,如果开发客户成功,系统自动创建新的客户记录。功能需求如图3.1 营销管理模块功能图所示。销售主管编辑销售机会创建销售机会删除销售机会指派销售机会制定开发计划执行开发计划开发失败,结束开发开发成功创建新客户客户经理图3.1 营销管理模块功能5.3.2 系统客户管理模块系统中的客户管理模块用来管理客户的信息,包括客户基本信息、联系人信息、客户交往记录信息、历史订单信息等功能。客户是公司发展的构成部分之一,而客户的信息是企业发展的重要因素,应对企业所有的客户信息进行妥善保管、充分分析和利用,在客户的开发过程当中,每个客户经理有责任维护和保护自己负责的客户信息,随时更新。在本系
22、统中,客户信息将得到充分的共享,从而发挥最大的价值。功能需求如图3.2 客户管理模块功能图所示。管理客户的联系人编辑客户基本信息管理客户的交往记录查看客户的历史订单查看历史订单明细客户流失预警确认客户流失客户经理暂缓客户流失图3.2 客户管理模块功能5.3.3 系统服务管理模块服务管理模块用来处理客户服务信息,包括服务创建、服务分配、服务处理、服务反馈和服务归档等功能模块。在服务创建模块中,客户服务是客户管理的重要工作,通过客户服务所获取的信息企业可以帮助客户更好的解决问题,进而提高客户满意度,更好的利于公司的发展。同时还可以随时了解客户最新的动态,对于公司提供服务的要求,以便采取应对措施。在
23、服务分配模块中,销售主管对状态为“新创建”的服务进行分配,收到处理请求的客户经理对服务进行处理。在服务处理模块中,被分配处理服务的客户经理负责对服务请求做出相应的处理,需要在客户管理管理系统中录入处理的结果。在服务反馈模块中,对状态为“已处理”的服务主动联系客户进行反馈,填写处理结果,尽可能的挽留客户,提高客户对公司的满意度,系统可以对已归档的服务进行查询、查阅。便于参考和解决类似的客户问题。为更好的发展客户打下坚实的基础。功能需求如图3.3 服务管理模块功能图所示。分配服务创建服务处理服务查看归档服务客户经理反馈服务销售主管图3.3 服务管理模块功能5.3.4 系统统计报表模块统计报表模块用
24、来生成报表数据信息,包括客户构成分析和客户服务分析二个功能模块。在该模块中,企业可以了解客户对企业的贡献以及了解某种类型的客户有多少及所占比例;根据服务类型对服务进行统计;查看已经确认流失的客户流失记录,功能需求如图3.4 统计报表模块功能图所示。查看客户流失记录查看每个客户的订单总额分析客户构成高 管分析服务构成销售主管查看按等级划分的客户查看信用度划分的客户查看按满意划分的客户图3.4 统计报表模块功能6 数据库逻辑设计本系统中采用MySQL数据库作为系统开发数据库,在仔细阅读了系统的需求文档之后,对于不同模块的不同需要,需要对数据库进行逻辑设计,实现功能完成系统需要建立如下17张表,当模
25、块需要传输和存储数据的时候,可以运用数据库技术对表进行连接查询,得到所需要的数据资料,将查询所得到的结果返回给客户端。1.用户职位表 该表用来创建企业系统操作员工的权限问题而设置的,主要包括的职位的ID和所对应的职位名称,其中表中的职位ID设置成为主键,用来和其他表中数据的关联查询,这里需要特别注意的是,用户表里面的职位ID必须和用户职位表中的职位ID相对应。用户职位表的定义如表6.1和图6.1所示:表6.1 用户职位表table tbl_position字段名数据类型(数据范围)是否可空说明positionIdintnot null职位id(主键)positionNamevarchar(50
26、)not null职位名称图6.1 用户职位表table tbl_position2.用户表 该表为用户表,包含和存储了用户的一些基本的信息,其中用户ID设置成为主键,其中包含了用户设置的用户名和密码,这也是系统登录时所需要输入的用户名和密码,是在系统运行之前设置,因为系统登录需要和数据库内部的用户表数据进行对比,对比成功方可进入操作系统,在创建数据的时候,需要注意和用户职位表当中的职位ID相对应。用户表的定义如表6.2和图6.2所示:表6.2 用户表table tbl_user字段名数据类型(数据范围)是否可空说明id ,intnot null用户id(自增)namevarchar(20)n
27、ot null用户姓名pwdvarchar(50)not null,用户密码sexintDEFAULT 0,性别0男1女phonechar(11),手机号码positionIdint,职位id,参照用户职位表的id图6.2 用户表table tbl_user3.客户等级表 在客户等级表中包含了客户等级ID字段和客户等级名称字段,在数据库设置的时候,一般将客户分为战略合作伙伴、合作伙伴、大客户、普通客户和重点开发客户五个级别,同时他们和设定的用户等级ID相对应,须将客户等级ID设置成为主键。客户等级表的定义如表6.3和图6.3所示:表6.3 客户等级表table tbl_grade字段名数据类型
28、(数据范围)是否可空说明idintnot null客户等级的id(自增)namevarchar(30)not null客户等级的名称图6.3 客户等级表table tbl_grade4.联系人表 联系人表中包含了联系人的一些基本信息,包含了姓名、性别、联系方式等字段,通过联系人数据的插入,可以迅速的在系统查询联系人的信息。联系人表的定义如表6.4和图6.4所示:表6.4 联系人表table tbl_contact字段名数据类型(数据范围)是否可空说明contactIdintnot null联系人id(自增)namevarchar(20)not null联系人姓名sexintDEFAULT 0联
29、系人性别0男1女contactPositionvarchar(50)not null联系人职位telephonevarchar(20)not null联系人办公电话phonechar(11)联系人手机customerIdintnot null联系人所属的客户id(参照客户表的Id)remarkchar(100)not null备注图6.4 联系人表table tbl_contact5.客户表 客户表的定义中包含了客户的一些基本信息,将客户ID设置成为主键,通过客户ID可以查询到客户的基本信息,其中客户所对应的客户经理需要连接用户表来查询,而客户的等级则需要参照客户等级表来查询。客户表的定义如表
30、6.5和图6.5所示:表6.5 客户表table tbl_customer字段名数据类型(数据范围)是否可空说明customerIdintnot null客户id(自增)customerNamevarchar(50)not null客户名称areavarchar(50)not null客户所处的地区useridintnot null客户所对应的客户经理(参照用户表的Id)gradeintnot null客户等级的id(参照客户等级表的id)pleasedintnot null客户满意度creditintnot null客户信用度addressvarchar(200)not null客户地址zi
31、pchar(6)not null邮政编码phonevarchar(15)not null电话号码faxvarchar(20)not null传真号码websitevarchar(50)not null网址licenseNumvarchar(30)营业执照注册号corporationvarchar(20)not null法人capitalint注册资金(万元)turnoverint年营业额(万元)bankvarchar(100)not null开户银行bankNumvarchar(30)not null银行账号localtaxvarchar(40)地税登记号nationtaxvarchar(40
32、)国税登记号图6.5 客户表table tbl_customer6.服务归档表 通过对服务归档表的创建,可以实现对服务归档信息录入的保存操作,在将来企业的运作中可以及时查询,表中将服务归档ID设置成为主键,需要从已经反馈得瑟服务表中获得数据,这里需要参照服务反馈表的ID来获取数据进行服务归档操作,而服务归档的时间设置成为系统的当前时间。服务归档表的定义如表6.6和图6.6所示:表6.6 服务归档表table tbl_toFile字段名数据类型(数据范围)是否可空说明idintnot null服务归档的id(自增)serviceFeedbackIdintnot null已经反馈的服务的id(参照
33、服务反馈表的id)toFileTimetimestamp(14)not null归档的时间图6.6 服务归档表table tbl_toFile7.销售机会指派表 企业要求对于新开发的销售机会进行指派,由指派的客户经理进行进一步开发,销售机会指派表中的数据获取需要参照销售机会表和用户表,而指派的时间则为系统的当前时间,销售机会指派表的定义如表6.7和图6.7所示:表6.7 销售机会指派表table tbl_sellControlAppoint字段名数据类型(数据范围)是否可空说明sellControlAppointIdintnot null销售机会指派表Id(自增)sellControlIdin
34、tnot null销售机会id(参照销售机会表的id)userIdintnot null指派给员工id号(参照用户表的id)appointTimetimestamp(14)not null指派时间图6.7 销售机会指派表table tbl_sellControlAppoint8.销售机会表 系统对于刚刚获得的销售机会进行存储和操作,需要在系统中录入有关于销售机会的一些基本信息,其中的联系人字段需要参照联系人表中的数据,通过联系人表中的主键联系人ID来连接,创建人则参照创建的用户表中的信息,创建时间为系统的当前时间。销售机会表的定义如表6.8和图6.8所示:表6.8 销售机会表table tbl
35、_sellControl字段名数据类型(数据范围)是否可空说明Idintnot null销售机会id(自增)comefromvarchar(50)机会来源customerIdintnot null客户的id(参照客户表的Id)successintnot null成功机率用0-100之间的数字表示contactIdint联系人id(参照联系人表的id)statevarchar(50)销售机会的状态 冗余字段detailvarchar(200)not null机会描述useridintnot null创建人(参照用户表id)createTimetimestamp(14)not null创建时间图6
36、.8 销售机会表table tbl_sellControl9.销售机会计划表 对于创建的销售机会需要进行销售机会开发计划的制定,以便更好的开发客户,其中的基本数据需要以销售机会指派表的ID来连接获得,用户可以编辑计划内容,计划时间为系统的当前时间。销售机会计划表的定义如表6.9和图6.9所示:表6.9 销售机会计划表table tbl_sellControlPlan字段名数据类型(数据范围)是否可空说明idintnot null销售机会计划id(自增)sellControlAppointIdintnot null销售机会id(参照销售机会指派表的id)planTimetimestamp(14)
37、not null计划时间planContentsvarchar(200)not null计划内容resultvarchar(200)执行结果图6.9 销售机会计划表table tbl_sellControlPlan10.交往记录表 对于企业而言,需要了解客户的一些交往信息,交往记录表中包含了一些有关于客户交往的基本信息,表中将交往记录ID设置成为主键,参照客户表中的客户,定义了与客户交易的时间、地点等属性。交往记录表的定义如表6.10和图6.10所示:表6.10 交往记录表table tbl_transactionRecords字段名数据类型(数据范围)是否可空说明recordsIdintno
38、t null交往记录的id(自增)customerIdintnot null客户的id(参照客户表的Id)transactiontimetimestampnot null交易的时间areavarchar(100)not null交易的地点gistvarchar(100)not null交易的概要detailvarchar(200)交易的详情remarksvarchar(100)交易的备注图6.10 交往记录表table tbl_transactionRecords11.订单表 用于显示和存储有关客户的订单信息,包括了订单时间、订单的送货地点、订单的总金额等等字段,需要在系统中录入,存储和查询。
39、订单表的定义如表6.11和图6.11所示:表6.11 订单表table tbl_orders字段名数据类型(数据范围)是否可空说明idintnot null订单的id(自增)ordertimetimestamp(14)not null订单的时间addressvarchar(100)订单的送货地点totaldoublenot null订单的总金额statusvarchar(20)订单的状态图6.11 订单表table tbl_orders12.商品表 商品表中定义了一些和客户交往有关商品的一些商品信息,表中将商品的ID设置成为主键,包含了商品的名字、商品的单价等属性。商品表的定义如表6.12和图
40、6.12所示:表6.12 商品表table tbl_goods字段名数据类型(数据范围)是否可空说明idintnot null商品的id(自增)namevarchar(100)not null商品的名字unitfloatnot null商品的单价measurementvarchar(10)not null商品的计数单位图6.12 商品表table tbl_goods13.服务表 在客户关系管理系统中,我们可以对客户提出的要求进行服务的创建,将服务ID设置成为主键,包含了类型、概要等一系列属性,表中的客户ID属性需要参照客户表中的ID属性,创建人的ID属性需要参照用户表的ID属性,创建服务的时间
41、为系统的当前时间。服务表的定义如表6.13和图6.13所示:表6.13 服务表table tbl_service字段名数据类型(数据范围)是否可空说明idintnot null服务的id(自增)serviceTypevarchar(20)not null服务的类型gistvarchar(100)not null概要customerIdintnot null客户的id(参照客户表的id)requestvarchar(200)not null服务的请求useridintnot null创建人的id(参照用户表的id)createTimetimestamp(14)not null创建服务的时间图6.
42、13 服务表table tbl_service14.服务分配表 在系统中需要对已经创建的服务进行分配,服务的ID需要参照服务表的中的服务ID来获取数据,同时要分配的对象需要参照用户表数据中的用户ID,服务分配表的定义如表6.14和图6.14所示:表6.14 服务分配表table tbl_serviceAllot字段名数据类型(数据范围)是否可空说明idintnot null服务分配表id(自增)serviceIdintnot null服务的id(参照服务表的id)useridintnot null分配id(参照用户表的id)图6.14 服务分配表table tbl_serviceAllot15
43、.订单详细表 在创建订单表的同时需要创建一张订单详细表来对订单表进行辅助说明,详细数据的获取需要依据订单表的ID,详细表中的商品信息则需要参照商品表中的商品ID,商品的数量默认为一件,订单详细表的定义如表6.15和图6.15所示:表6.15订单详细表table tbl_orderItems字段名数据类型(数据范围)是否可空说明idintnot null订单相信表的id(自增)ordersIdintnot null订单的id(参照订单表的id)goodsIdintnot null商品的id(参照商品的id)amountintDEFAULT 1商品的数量(默认值为1件)图6.15订单详细表tabl
44、e tbl_orderItems16.服务处理表 在系统的处理业务流程中,客户经理需要对已经分配自己的服务进行处理,数据需要参照服务分配表,同时处理人则需要参照用户表中的数据,服务处理时间为系统的当前时间。服务处理表的定义如表6.16和图6.16所示:表6.16 服务处理表table tbl_serviceDeal字段名数据类型(数据范围)是否可空说明idintnot null服务处理的id(自增)serviceAllotIdintnot null处理分配的服务的id(参照服务分配表的id)dealvarchar(200)not null处理的内容dealerintnot null处理人(参照用户表的id)dealTimetimestamp(14)not null服务处理的时间图6.16 服务处理表table tbl_serviceDeal17.服务反馈表 对已经经过客户经理处理过的服务反馈给客户,表中内容需要参照服务处理表中的内容,表中包含了服务处理结果和服务处理满意度属性,服务反馈表的定义如表6.17和图6.17所示:表6.1