CRM客户管理系统(二)搭建CRM项目开发环境

390 阅读2分钟

「这是我参与2022首次更文挑战的第29天,活动详情查看:2022首次更文挑战」。

第2章 搭建CRM项目开发环境

2.1 CRM项目数据库设计

2.1.1 数据库设计原则

我们可以结合项目原型来考虑数据库设计,市场活动,用户,这些都是需要是持久化的,所以都需要设计成表。表和表之间通常还会有一定的关系。看每一个创建表单上都有哪些属性。

1、所有的表来自于需求:

名词,特别是业务相关的名词。理清名词之间的关系。

概念性的名词设计成表、说明性的名词设计成字段。

有些不明显的名词,需要抽象,如数据字典表和数据字典类型表

2、字段:

1、主键:表中有很多字段,如果其中有一组字段能够唯一标识一条记录,则可以把这一组字段设计成主键。一般来讲,都是一个字段做主键,而且是没有业务语义的字段做主键。当然,也有个别情况下使用业务相关的字段做主键。

主键的生成方式:决定主键字段设计成什么类型和主键字段的长度。

a、自增:采用数据库提供的主键生成机制。

Mysql:auto_increment

Oracle:sequence

2、assigned:由程序员负责生成。

3、UUID:采用UUID的算法生成主键。

4、共享主键

b、assigned:外部程序员负责生成。

UUID,

hi/lo,

Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。

c、共享主键:

d、联合主键:

2>、外键:外键用于表示表和表之间的关系。有的运行时不加外键,就是通过程序来保证数据的完整性。

3>、日期型数据的使用char型

2.1.2 数据库结构设计

image.png

2.1.3 初始化数据库

导入 init-crm-data-mysql.sql 脚本文件。