第十二章. 数据库设计

作者:胡小根

邮箱:hxgqh@haomo-studio.com

版本:0.1

设计总则

对于本项目中的数据库设计,需要遵循如下规则:

1. 系统默认的数据库,表和字段名称均为对应的英文名
2. 系统配置过程中新增的表和字段,名称均为其中文对应的全拼
3. 凡是在后台可以进行配置的内容,涉及到后台数据表的,均可以增删表格的字段。对于删除表格字段的操作,在对应表格字段存在任何数据的情况下,需要进行提醒。

新增业务场景数据库设计

新增业务场景的顺序流程如下:

1. 新增业务场景,例如项目报备
2. 指定业务场景的管理方式:流程管理或阶段管理。默认为阶段管理。
3. 根据管理方式不同,进行如下操作:
    a. 若为阶段管理,需要设计阶段及每个阶段的事件
    b. 若为流程管理,需要采用Activiti设计流程,并将流程跟表单挂钩
4. 自定义表:
    a. 自定义主表字段:主表内包含多个section,每个section下面可以包含多个字段。这些section内的所有字段都包含到数据库中的一张表中。
    b. 自定义明细表字段:明细表不包含section,每张明细表包含多个字段
5. 自定义字段,字段需要包含如下属性:
    a. 字段名称
    b. 字段类型
    c. 字段状态(启用、禁用)
    d. 必填、可选
    e. 是否常用
    f. 是否隐藏
    g. 外链到哪张表的哪个字段(可选)
    h. 外链字段
    i. 是否可人工填写(这个建议删除,会引起巨大的沟通成本)

对于数据库中的自定义表和自定义字段,有如下功能:

1. 有一张单独的表,记录所有自定义表的属性
2. 有一张单独的字段,记录所有自定义字段的属性

业务场景应包括如下字段:

1. 场景名称。场景名称将影响前台CRM的二级菜单,长度不宜超过10个汉字。
2. 场景管理方式:阶段管理或流程管理,默认为阶段管理。
3. 场景描述:描述业务场景的相关信息

数据池概念设计(鸿合项目不做)

对于CRM里的所有二级菜单里的数据(包括客户、联系人、物料、新增业务场景等),均可以选择是否存在数据池的概念(可配置)。

数据池的命名规则为:二级菜单名称+池。例如,对于二级菜单客户,若配置为存在池的概念,则存在对应的“客户池”。同理其他的选项也是如此。

对于类似客户、联系人等数据,若一旦被某个用户创建,则自动存在了“所有人”,且其状态为“1: 正常”。这个“所有人”的只能存在一个!(需要沟通)

但是一定某条非池内数据被回收进入池内,则这条数据将满足以下规则:

1. 状态被设定为“0: 池”,客户的所有人的字段被清除;
2. 客户被池的管理员拥有;可以有多个管理员;
3. 所有的对应池内管理员,均可以对池内的数据进行分配;
4. 不区分池内管理员的权限,池内所有管理员均可以在前台看到所有池内数据,并能够对池内数据进行重新分配。

对于正常数据,数据所有人可以进行的操作如下:

操作类型1:放入数据池。有关退回:退回也可以是放入数据池?不需要区分退回和放入数据池。

对于正常数据,参与人可以进行的操作如下:

操作类型2:

对于数据池数据,管理员可以进行的操作如下:

对于数据池数据,销售人员可以进行的操作如下:

数据库技巧

支持Emoji

将字符集从utf8转换为AL32UTF8

参考资料:

results matching ""

    No results matching ""