CRM数据库设计
客户关系管理系统
数据库设计报告
文件状态:文件标识:Company-Project-SD-DATABASE [ √ ]草稿当前版本:X.Y
[ ]正式发布作者:
[ ]正在修改完成日期:Year-Month-Day
Company Information
版本历史
版本 /状态作者参与者起止日期备注
目 录
0. 文档介绍 ............................................................................................................................
4 0.1 文档目的 ....................................................................................................................... 4 0.2 文档范围 ....................................................................................................................... 4 0.3 读者对象 ....................................................................................................................... 4 0.4 参考文献 .. (4)
0.5
术语与缩写解释 ............................................................................................................
4 1. 数据库环境说明 .................................................................................................................
5 2. 数据库的命名规则 ............................................................................................................. 5 3. 逻辑设计 ............................................................................................................................ 5 4. 物理设计 ............................................................................................................................
5 4.0 表汇总 ........................................................................................................................... 5 4.1
表 A ...............................................................................................................................
6
4.N
表 N .............................................................................................
错误!未定义书签。
5. 安全性设计 .......................................................................................................................
13 5.1 防止用户直接操作数据库的方法..............................................................................
13 5.2
用户帐号密码的加密方法
..........................................................................................
13
5.3 角色与权限 ................................................................................................................. 13
6. 优化 ..................................................................................................................................
14 7. 数据库管理与维护说明...................................................................................................
14
0.文档介绍
0.1 文档目的
为明确软件需求,统一各位成员的数据操作接口,特编写这个数据库详细设计说明书,本文档供本组开发人员参考
0.2 文档范围
0.3 读者对象
本项目所有开发人员
0.4 参考文献
提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:
[ 标识符 ]作者,文献名称,出版单位(或归属单位),日期
例如:
[AAA]作者,《立项建议书》,机构名称,日期
[SPP-PROC-SD]SEPG ,系统设计规范,机构名称,日期
0.5 术语与缩写解释
缩写、术语解释
SPP精简并行过程,Simplified Parallel Process
SD系统设计,System Design
?
1.数据库环境说明
提示:
(1)说明所采用的数据库系统,设计工具,编程工具等
(2)详细配置
2.数据库的命名规则
提示:
(1)完整并且清楚的说明本数据库的命名规则。
(2)如果本数据库的命名规则与机构的标准不完全一致的话,请作出解释。
3.逻辑设计
提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD )。如果采用面向对象方法(OOAD),这里实体相当于类(class)。
4.物理设计
提示:
(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间
的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们
并不一定是一一对应的。
(2)对表结构进行规范化处理(第三范式)。
4.0 表汇总
表名功能说明
bas_dict (字典表)保存条目,地区,服务类型
cst_activity (交往记录表)保存客户和企业的交往信息
cst_customer (客户信息表)保存客户的详细信息
cst_linkman (客户联系人表)保存客户的联系人记录
cst_lost (客户流失表)保存客户流失的原因
cst_service (服务表)保存企业为客户的服务记录
sal_chance (机会表)保存企业和公司建立关系的机会
sal_plan (计划表)保存企业为开发客户所做的计划
sys_right (权限表)保存本系统的所有权限模块
sys_role (角色表)保存本系统中所有的角色
sys_role_right (角色表和模块保存角色表和模块表的主键
表的关联表)
sys_user (用户表)保存用户的信息
orders (订单表)保存客户的订单信息
orders_line (订单明细表)保存订单明细
Product (商品表)保存商品的信息
Storage (仓库表)保存仓库信息
4.1 bas_dict(字典表)
bas_dict(字典表)
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件dict_id编号bigint false主键自动
增长dict_type类别nvarchar(50)false
dict_item条目nvarchar(50)false
dict_value值nvarchar(50)false
dict_is_editable是否可编辑1- 可以; 0- 不可 bit false
以
补充说明
约束条件:是否是主键,是否唯一等等
4.2 sal_chance(销售机会表)
sal_chance机会销售表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件chc_id主键自动增长(1, 1)bigint false主键chc_source机会来源nvarchar(50)true
chc_cust_name客户名称nvarchar(100)false
chc_title概要nvarchar(200)false
chc_rate成功机率int false
chc_linkman联系人nvarchar(50)true
chc_tel联系电话nvarchar(50)true
chc_desc机会描述nvarchar(2000)false
chc_create_id创建人编号bigint false外键chc_create_by创建人(可省略)nvarchar(50)false
chc_create_date创建时间datetime false
chc_due_id指派给编号bigint true外键chc_due_to指派给的人(可省略)nvarchar(50)true
chc_due_date指派时间datetime true
chc_status状态: 1-- 未指派; 2-- 已指派;char(10)false
3-- 开发成功; 4-- 终止开发。
补充说明
约束条件:是否是主键,是否唯一等等
4.3 cst_activity(交往记录表)
cst_activity交往记录表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件atv_id编号(主键自动生长( 1,1) bigint false主键
atv_cust_no客户编号char(17)true外键
atv_cust_name客户名称(可省略)nvarchar(100)true
atv_date交往日期datetime false
atv_place交往地点nvarchar(200)false
atv_title交往概要nvarchar(500)false
atv_desc详细信息nvarchar(2000)true
补充说明
4.4 cst_customer(客户信息表)
cst_customer客户信息表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件cust_no客户编号char(17)false
cust_name客户名称nvarchar(100)false
cust_region地区nvarchar(50)true
cust_manager_id客户经理编号bigint true外键
cust_manager_name客户经理(可省略)nvarchar(50)true
cust_level客户等级int true
cust_level_label客户等级(可省略)nvarchar(50)true
cust_satisfy满意度int true
cust_credit信用度int true
cust_addr地址nvarchar(300)true
cust_zip邮政编码char(10)true
cust_tel电话nvarchar(50)true
cust_fax传真nvarchar(50)true
cust_website网址nvarchar(50)true
cust_licence_no营业执照注册号nvarchar(50)true
cust_chieftain法人nvarchar(50)true
cust_bankroll注册资金bigint true
cust_turnover营业额bigint true
cust_bank开户银行nvarchar(200)true
cust_bank_account银行账号nvarchar(50)true
cust_local_tax_no地税登记号nvarchar(50)true
cust_national_tax_no国税登记号nvarchar(50)true
cust_status客户状态: 1-- 正常; 2--char(1)true
流失; 3-- 删除。
补充说明
4.5 cst_linkman(客户联系人表)
cst_linkman客户联系人表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件lkm_id联系人编号(主键自动增长)bigint false主键lkm_cust_no客户编号char(17)false外键lkm_cust_name客户名称(可省略)nvarchar(100)true
lkm_name联系人名称nvarchar(50)true
lkm_sex性别nvarchar(5)true
lkm_postion职位nvarchar(50)true
lkm_tel办公室电话nvarchar(50)false
lkm_mobile手机nvarchar(50)true
lkm_memo备注nvarchar(300)true
补充说明
4.6 cst_lost(客户流失表)
cst_lost客户流失表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件lst_id编号(主键自动增长1,1)bigint false主键
lst_cust_no客户编号char(17)false外键
lst_cust_name客户名称(可省略)nvarchar(100)true
lst_cust_manager_id客户经理编号bigint false
lst_cust_manager_na客户经理nvarchar(50)false
me
lst_last_order_date上次下单时间datetime true
lst_lost_date确认流失时间datetime true
lst_delay暂缓措施nvarchar(4000)true
lst_reason流失原因nvarchar(2000)true
lst_status流失状态 1- 警告, 2- 暂缓varchar(10)false
流失, 3- 已经流失
补充说明
4.7 cst_service(客户服务表)
字段名svr_id
svr_type
svr_title
svr_cust_no svr_cust_name svr_status
svr_request svr_create_id svr_create_by svr_create_date svr_due_id
svr_due_to
svr_due_date cst_service客户服务表
字段描述数据类型 ( 精度 )空 /非空默认值约束条件服务编号 (主键 )bigint false
服务类型nvarchar(20)false
服务概要nvarchar(500)false
客户编号,外键char(17)true外键
客户名称(可省略)nvarchar(100)false
服务状态nvarchar(10)false
服务请求nvarchar(3000)false
创建人编号bigint false
创建人名称nvarchar(50)false
创建日期datetime false
分配给某人的编号(客户经bigint true
理编号 )
分配给某人的名称(客户经nvarchar(50)true
理名称 )
分配时间datetime true
svr_deal服务处理nvarchar(3000)true
svr_deal_id处理人编号bigint true
svr_deal_by处理人名称nvarchar(50)true
svr_deal_date处理日期datetime true
svr_result处理结果nvarchar(500)true
svr_satisfy满意度int true
补充说明
4.8 sal_plan(客户开发计划表)
sal_plan客户开发计划表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件pla_id计划编号bigint false主键
pla_chc_id机会销售编号bigint false外键
pla_date日期datetime false
pla_todo计划项nvarchar(500)false
pla_result执行结果nvarchar(500)true
补充说明
4.9 sys_right(权限表)
sys_right权限表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件right_code权限编号 (主键 )varchar(50)false
right_parent_code模块父编号varchar(50)true
right_type权限类型varchar(20)true
right_text权限名称varchar(50)true
right_url url( 权限对应功能的访问url) varchar(100)true
right_tip显示varchar(50)true
补充说明
4.10 sys_role(角色表)
sys_role角色表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件role_id角色编号 (主键 )bigint false
role_name角色名称nvarchar(50)false
role_desc角色备注nvarchar(50)true
role_flag角色状态int true
补充说明
4.11 sys_role_right(角色权限表)
sys_role_right角色权限表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件rf_id编号bigint false主键
rf_role_id角色编号bigint fasle外键
rf_right_code权限编号varchar(50)false外键
补充说明
4.12 sys_user(用户表)
sys_user用户表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件usr_id编号(自动增长)bigint false主键
usr_name名称nvarchar(50)false
usr_password密码nvarchar(50)false
usr_role_id角色编号bigint true外键
usr_flag状态 (0: 已删除 ,1: 正常 )int false
补充说明
4.13 orders(订单表)--B
orders订单表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件odr_id订单编号(自动增长1, 1)bigint false主键odr_customer订单公司名称nvarchar(100)false
odr_date订单日期datetime false
odr_addr地址nvarchar(200)true
odr_status状态(5:已发货6:已回char(1)false
款 )
补充说明
约束条件:是否是主键,是否唯一等等
4.14 orders_line(订单明细表)--B
orders_line订单明细表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件odd_id明细编号bigint false主键odd_order_id订单编号bigint false外键odd_prod_id商品编号bigint false外键odd_count数量int false
odd_unit单位nvarchar(50)true
odd_price价格money true
补充说明
约束条件:是否是主键,是否唯一等等
4.14 Product(商品表)--B
Product商品表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件prod_id商品编号(自动增长1, 1) bigint false主键prod_name商品名称nvarchar(200)false
prod_type商品类型nvarchar(100)false
prod_batch批号nvarchar(100)true
prod_unit单位nvarchar(50)true
prod_price价格money true
prod_memo备注nvarchar(200)true
补充说明
约束条件:是否是主键,是否唯一等等
4.15 Storage(仓库表)--B
Storage仓库表
字段名字段描述数据类型 ( 精度 )空 /非空默认值约束条件stk_id仓库编号自动增长1, 1bigint false主键
stk_prod_id商品编号bigint false外键
stk_warehouse仓库名称nvarchar(50)false
stk_ware货位nvarchar(50)false
stk_count数量int false
stk_memo备注nvarchar(200)true
补充说明
约束条件:是否是主键,是否唯一等等
5.安全性设计
提示:提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计。
5.1 防止用户直接操作数据库的方法
提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操
作数据库。
5.2 用户帐号密码的加密方法
提示:对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。
5.3 角色与权限
提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色
拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户
的权限等于他所兼角色的权限之和。
角色可以访问的表与列操作权限系统管理员
1. 编辑客户基本信息
2. 管理客户的联系
销售主管人。 3.管理客户的交往记录 4.查看客
户的历史订单, 5. 客户流失预警, 6.暂缓
客户流失。7.确认客户流失客户经理
6.优化
提示:分析并优化数据库的“时-空”效率,尽可能地“提高处理速度”并且“降低数据占用空间” 。
( 1)分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。(2)当优化对象(目标)之间存在对抗时,给出折衷方案。
(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。优先级优化对象(目标)措施
7.数据库管理与维护说明
提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。