文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 |
文件标识: |
|
当前版本: |
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........................................................................................................................... 6
5. 安全性设计.................................................................................................................... 6
5.1 防止用户直接操作数据库的方法................................................................................. 6
5.2 用户帐号密码的加密方法........................................................................................... 6
5.3 角色与权限................................................................................................................ 7
6. 优化............................................................................................................................... 7
7. 数据库管理与维护说明................................................................................................. 7
为明确软件需求,统一各位成员的数据操作接口,特编写这个数据库详细设计说明书,本文档供本组开发人员参考
本项目所有开发人员
提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:
[标识符] 作者,文献名称,出版单位(或归属单位),日期
例如:
[AAA] 作者,《立项建议书》,机构名称,日期
[SPP-PROC-SD] SEPG,系统设计规范,机构名称,日期
缩写、术语 |
解释 |
SPP |
精简并行过程,Simplified Parallel Process |
SD |
系统设计,System Design |
|
|
|
|
… |
|
提示:
(1)说明所采用的数据库系统,设计工具,编程工具等
(2)详细配置
提示:
(1)完整并且清楚的说明本数据库的命名规则。
(2)如果本数据库的命名规则与机构的标准不完全一致的话,请作出解释。
提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。如果采用面向对象方法(OOAD),这里实体相当于类(class)。
提示:
(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。
(2)对表结构进行规范化处理(第三范式)。
表名 |
功能说明 |
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(仓库表) |
保存仓库信息 |
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 |
|
|
dict_status |
状态:0-正常、1-删除 |
|
|
|
|
补充说明 |
|
约束条件 : 是否是主键,是否唯一等等
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_mobile |
联系人手机 |
nvarchar(50) |
True |
|
|
chc_desc |
机会描述 |
nvarchar(2000) |
false |
|
|
chc_create_id |
创建人编号 |
bigint |
false |
|
外键 |
chc_create_date |
创建时间 |
datetime |
false |
|
|
chc_due_id |
指派的客户经理编号(sys_user表) |
bigint |
true |
|
外键 |
chc_due_date |
指派时间 |
datetime |
true |
|
|
chc_status |
状态:1--未指派;2--已指派3--开发成功;4--终止开发(开发失败)。 |
char(1)[微软用户1] |
false |
|
|
补充说明 |
|
约束条件 : 是否是主键,是否唯一 等等
cst_activity |
交往记录表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
atv_id |
编号(主键自动生长(1,1) |
bigint |
false |
|
主键 |
atv_cust_no |
客户编号 |
char(17)[微软用户2] |
true |
|
外键 |
atv_date |
交往日期 |
datetime |
false |
|
|
atv_place |
交往地点 |
nvarchar(200) |
false |
|
|
atv_title |
交往概要 |
nvarchar(500) |
false |
|
|
atv_desc |
详细信息 |
nvarchar(2000) |
true |
|
|
补充说明 |
|
cst_customer |
客户信息表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
cust_no-(编码格式为KHyyyyMMddhhmmss+3位序列数) |
客户编号 |
char(17)[微软用户3] |
false |
|
|
cust_name |
客户名称 |
nvarchar(100) |
false |
|
唯一 |
cust_region |
地区 |
nvarchar(50) |
true |
|
|
cust_manager_id |
客户经理编号 |
bigint |
true |
|
外键 |
cust_level[微软用户4] |
客户等级 |
int |
true |
|
|
cust_satisfy |
满意度(1-5),默认为3 |
int |
true |
|
|
cust_credit |
信用度(1-5),默认为3 |
int |
true |
|
|
cust_addr |
地址 |
nvarchar(300) |
true |
|
|
cust_zip |
邮政编码 |
nvarchar(10)[微软用户5] |
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--流失;3--删除。
|
char(1) |
true |
|
|
补充说明 |
|
cst_linkman |
客户联系人表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
lkm_id |
联系人编号(主键自动增长) |
bigint |
false |
|
主键 |
lkm_cust_no |
客户编号 |
char(17) |
false |
|
外键 |
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 |
|
|
补充说明 |
|
cst_lost |
客户流失表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
lst_id |
编号(主键自动增长1,1) |
bigint |
false |
|
主键 |
lst_cust_no |
客户编号 |
char(17) |
false |
|
外键 |
lst_cust_manager_id |
客户经理编号 |
bigint |
false |
|
|
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-暂缓流失(已经做了暂缓处理操作),3-已流失 |
Char(1) |
false |
|
|
补充说明 |
|
cst_service |
客户服务表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
svr_id |
服务编号(主键) |
bigint |
false |
|
|
svr_type |
服务类型 |
nvarchar(20) |
false |
|
|
svr_title |
服务概要 |
nvarchar(500) |
false |
|
|
svr_cust_no |
客户编号,外键 |
char(17) |
true |
|
外键 |
svr_status |
服务状态 |
nvarchar(10) |
false |
|
|
svr_request |
服务请求 |
nvarchar(3000) |
false |
|
|
svr_create_id |
创建人编号 |
bigint |
false |
|
|
svr_create_date |
创建日期 |
datetime |
false |
|
|
svr_due_id |
分配给某人的编号(客户经理编号) |
bigint |
true |
|
|
svr_due_date |
分配时间 |
datetime |
true |
|
|
svr_deal |
服务处理 |
nvarchar(3000) |
true |
|
|
svr_deal_date |
处理日期 |
datetime |
true |
|
|
svr_result |
处理结果 |
nvarchar(500) |
true |
|
|
svr_satisfy |
满意度 |
int |
true |
|
|
补充说明 |
|
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 |
|
|
补充说明 |
|
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 |
|
|
Right_node_type |
权限节点类型0-菜单级别 1-按钮级别 |
Char(1) |
true |
0 |
|
补充说明 |
|
sys_role |
角色表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
role_id |
角色编号(主键) |
bigint |
false |
|
|
role_name |
角色名称 |
nvarchar(50) |
false |
|
|
role_desc |
角色备注 |
nvarchar(50) |
true |
|
|
role_flag |
角色状态 |
int |
true |
|
|
补充说明 |
|
sys_role_right |
角色权限表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
rf_id |
编号 |
bigint |
false |
|
主键 |
rf_role_id |
角色编号 |
bigint |
fasle |
|
外键 |
rf_right_code |
权限编号 |
varchar(50) |
false |
|
外键 |
补充说明 |
|
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 |
|
|
补充说明 |
|
orders |
订单表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
odr_id |
订单编号(自动增长1,1) |
bigint |
false |
|
主键 |
odr_customer_no |
订单客户公司编号 |
char(17) |
false |
|
|
odr_date |
订单日期 |
datetime |
false |
|
|
odr_addr |
地址 |
nvarchar(200) |
true |
|
|
odr_status |
状态(5:已发货 6:已回款) |
char(1) |
false |
|
|
补充说明 |
|
约束条件 : 是否是主键,是否唯一 等等
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 |
|
|
补充说明 |
|
约束条件 : 是否是主键,是否唯一 等等
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 |
|
|
补充说明 |
|
约束条件 : 是否是主键,是否唯一 等等
Storage |
仓库表 |
||||
字段名 |
字段描述 |
数据类型(精度) |
空/非空 |
默认值 |
约束条件 |
stk_id |
仓库编号自动增长1,1 |
bigint |
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 |
|
|
补充说明 |
|
约束条件 : 是否是主键,是否唯一 等等
提示:提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计。
提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。
提示:对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。
提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。
角色 |
可以访问的表与列 |
操作权限 |
系统管理员 |
|
|
|
|
|
|
|
|
销售主管 |
|
1.编辑客户基本信息 2.管理客户的联系人。 3.管理客户的交往记录 4.查看客户的历史订单,5.客户流失预警,6.暂缓客户流失。7.确认客户流失 |
|
|
|
|
|
|
客户经理 |
|
|
|
|
|
|
|
提示:分析并优化数据库的“时-空”效率,尽可能地“提高处理速度”并且“降低数据占用空间”。
(1)分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。
(2)当优化对象(目标)之间存在对抗时,给出折衷方案。
(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。
优先级 |
优化对象(目标) |
措施 |
|
|
|
|
|
|
|
|
|
提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。
[微软用户1]切记修改该字段为char(1)
[微软用户2]客户编号(必须是17位),编码时需要注意
[微软用户3]映射文件的主键ID策略要做修改为assign
[微软用户4]关联了字典表
[微软用户5]建议修改为varchar(10)