基于java的CRM客户关系管理系统(四)

目录

第四章 数据库设计

4.1 系统和数据的关系

4.2 数据库结构设计

4.2.1 业务实体设计

4.2.2 设计域模型 

4.3 数据库逻辑结构设计

 4.4 本章小结 


前面内容请移步

基于java的CRM客户关系管理系统(三)

资源+毕业设计+毕业论文+源代码请移步

CRM客户关系管理系统+毕业论文+毕业设计+源代码

第四章 数据库设计

        数据库的存在意义就是存储数据,根据需求分析就是客户信息和产品信息,最明显的表现形式就是表结构的存在。然而设计数据库的初衷就是为应用程序提u供后台支持,把代码和系统能分离出来,良好的数据库设计有很多,可以降低数据之间的冗余,提高数据库的可维护性,同时也能提高系统运行时的速度和系统的稳定性,实现数据之间的共享。可是根据系统的功能需求设计数据库并不是那么简单,需要反复的分析功能需求,逐步的研究和推敲出最为合理的数据库表,把表和表之间的潜在的关系通过E-R图表现出来。

4.1 系统和数据的关系

图4.1 数据库与系统的管理

4.2 数据库结构设计

        下图就是数据库表的设计的E-R图,就是实体-联系,通过E-R图,可以清楚的了解系统的表与表之间的结构关系,从概念上反应数据库信息组成情况。

图4.2 数据库E-R逻辑

4.2.1 业务实体设计

        业务实体在应用程序是实体对象的表现形式存在,在后台数据库存在的形式就是表和表之间的关系那么业务实体的实现有下面的三个步骤

  1. 设计域模型,创建域模型实体对象
  2. 设计关系型数据模型
  3. 创建对象、关系映射文件

4.2.2 设计域模型 

        生成一张客户关系记录需要上述的这些表。下面是详细的定义出这些数据库表字段代表的意思

  1. 部门表(hr_department):部门信息的记载。主要的属性有:部门主键(id),部门名称(d_name),上级分类ID(parentid),负责人(d_employee),电话(d_telephone),地址(d_address),邮箱(d_email),描述(d_description)。
  2. 职务表(hr_postion):对职务信息的记载。属性有:职务ID(ID),职务名称(postion_name),职务次序(postion_order)。
  3. 岗位表(hr_post):岗位信息的描述。属性有:岗位ID(ID),岗位名称(post_name),岗位描述(hr_descript)。
  4. 系统角色表(sys_role):记录的是角色的枚举值。属性有角色ID(ID),角色名称(rolename),权限说明(rolescript),当前权限可以操作(childmenus),权限排序(rolesort)。
  5. 员工表(hr_employee):员工信息的记录。属性有:员工ID(ID),用户名(uid),密码(pwd),姓名(name),身份证(idcard),生日(birthday),邮箱(email),性别(sex),电话(telephone),地址(address),备注(remarks)。
  6. 省市表:(param_city):作为省市参数的枚举表。属性有:省市ID(ID),上级ID(parentID),城市名称(city)。
  7. 客户表(crm_customer):客户信息(主要是集团客户)的记录。主要的属性有:客户表主键(ID),客户序列号(serialnumber),公司名称(customer),公司地址(address),公司电话(tel),公司网址(site),公司描述(descript),备注(remarks)。
  8. 产品类别表(crm_product_category):记录产品的分类,属性有客户类型主键(ID),父类型id(parentId)。
  9. 产品信息表(crm_product):记录的是产品信息。属性有产品id(product_id ),产品名称(product_name),产品规格(specifications),状态(status),单位(unit),备注(remarks),价格(price)。

上文和图4-2反应了各个表之间的关系。

4.3 数据库逻辑结构设计

        部门类,职务类,客户类等这些对象都需要持久化,这些类在数据库上都有对应的表结构产生意义对应的是部门表,职务表,客户表等,设计出的数据库包含这些表。如下为各个表的建表语句以及表结构。

CREATE TABLE `hr_department` (

  `id` int(8) NOT NULL AUTO_INCREMENT COMMENT '部门主键PK',

  `d_name` varchar(50) DEFAULT NULL COMMENT '部门名称',

  `parentid` int(8) DEFAULT NULL COMMENT '上级分类ID',

  `d_employee` varchar(50) DEFAULT NULL COMMENT '负责人',

  `d_telephone` varchar(50) DEFAULT NULL COMMENT '电话',

  `d_address` varchar(255) DEFAULT NULL COMMENT '地址',

  `d_email` varchar(50) DEFAULT NULL COMMENT '邮箱',

  `d_description` varchar(255) DEFAULT NULL COMMENT '描述',

  `d_order` varchar(50) DEFAULT NULL COMMENT '部门次序',

  `isdelete` int(1) DEFAULT '1' COMMENT '是否已删除0/1',

  `delete_time` date DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`)

)

 表 4-1 部门表结构 

hr_department

部门表

字段名

字段描述

数据类型

空/非空

默认值

约束条件

id

联系人编号

int

false

主键

D_name

姓名

Varchar(250)

true

null

parentid

上级分类

Varchar(250)

true

null

D_employee

负责人

Varchar(50)

true

null

D_telephone

电话

Varchar(50)

true

null

D_address

地址

Varchar(255)

true

null

D_email

邮箱

Varchar(50)

true

null

D_description

描述

Varchar(250)

true

null

D_order

部门次序

Varchar(50)

true

null

需求概述 1.1.1 坐席(用户)登录系统,根据用户的角色和权限,得到相应功能 1.1.2 客户电话呼入,坐席定位客户信息(未查找到),如果客户为新客户,首先增加新客户,针对该客户进行业务咨询或者订单预定请求处理,为客户提供个性化服务。 1.1.3 客户电话呼入,坐席定位大客户信息(查找到),针对客户进行业务咨询或者订单预定请求处理,为客户提供个性化服务。 1.1.4 根据客户请求坐席进行订单管理: 订单受理:生成订单(含客户信息、用户信息、订单信息、产品等) 订单查询:根据客户要求进行订单查询,包括订单状态等查询; 订单处理:根据客户请求,进行订单修改,包括订单信息修改,订单 产品的增加、修改及删除等; 1.1.5 坐席对产品进行管理: 产品查询:订单受理及处理中,选择查询产品; 产品增加:增加新产品信息; 产品修改:修改产品规格及状态信息; 1.1.6 根据订单确认需要,坐席查询订单列表,生成电话回呼列表( CallBack List),准备进行电话回呼及电话营销。 1.1.7 根据公司新产品市场推广需要,通过对客户资料的挖掘,筛选电话营销的客户群,批量生成电话营销列表( CallBack List),准备进行电话营销。 1.1.8 外呼坐席(用户)拥有电话营销角色及权限,进入电话回呼列表页面,选择相应的外呼任务,针对客户进行个性化的营销活动,如果客户接受则下订单,并且记录营销结果。 1.1.9 统计报表:生成座席订单业务量统计 、座席产品销售情况统计 、产品销售情况统计、外呼情况统计等报表(暂不实现); 主要需求环节: 坐席登录系统——〉客户电话打入——〉坐席响应服务——〉 坐席定位客户信息(客户管理)——〉客户下定单(订单管 理)——〉选择订购产品(产品管理)——〉订单处理 (订 单管理)——〉生成电话营销信息 ——〉坐席电话营销 —— 〉营销成功生成订单 ——〉 记录电话营销结果 ——〉 生成统计报表(暂不实现)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值