基于SpringBoot的装饰工程管理系统源码数据库-第4章 系统设计

时间:2024-06-09 07:10:08

用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。

4.1 功能结构设计

图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理合同信息,管理合同报价,管理立项项目,管理预算报价,管理装修进度,管理员工,管理客户等信息。

图4.2即为设计的员工功能结构,员工权限操作的功能包括对合同信息,合同报价信息,立项项目信息,预算报价信息,装饰材料总计划信息,装修进度信息等进行新增并管理。

图4.2 员工功能结构

图4.3即为设计的客户功能结构,客户权限操作的功能包括查看合同报价,查看合同信息,查看立项项目,查看预算报价,查看装修进度,查看公告信息等。

图4.3 客户功能结构

4.2 数据库设计

装饰工程管理系统——项目立项子系统运行中产生的数据需要按照提前设置的存储规则进行保存,设计出一个符合项目的最优数据存储格式,因为它能减少用户的等待时间,还可以对系统的请求在最短时间内进行响应。所以,对数据库设计时,需要对功能需求进行详细的拆分,以及对业务状态的细分,然后设计具体的存储规则,保证数据库能正常运作,缩短数据处理时间,并在一定程度上降低数据冗余,节省存储空间。

4.2.1 数据库概念设计

实体-联系图还有一个名称即E-R图,是Entity Relationship Diagram各英文单词首字母的缩写,它这种概念模型通常用于对现实世界进行描述。同时它还是一种能够直观表达数据中实体,联系,属性的有效手段。绘制E-R图能够选择的工具也有很多,但是Office Visio 这款软件在E-R图的绘制上一般都是作为首选工具,因为它是基于可视化处理,使用它创建E-R图非常简单。使用基本的E-R图构成元素,比如椭圆,菱形,矩形,还有实线段来表达对应的信息,椭圆代表属性,即实体的特征,矩形代表实体,即数据库中的一个具体数据表,菱形代表实体中相互关系,实线段主要是完成椭圆,矩形,菱形的连接。

(1)图4.4即为客户这个实体所拥有的属性值。

图4.4 客户实体属性图

(2)图4.5即为立项项目这个实体所拥有的属性值。

图4.5 立项项目实体属性图

(3)图4.6即为员工这个实体所拥有的属性值。

图4.6 员工实体属性图

图4.7即为装修进度这个实体所拥有的属性值。

图4.8即为管理员这个实体所拥有的属性值。

图4.8 管理员实体属性图

图4.9即为上面介绍的实体中存在的联系。

图4.9 实体间关系E-R图

4.2.2 数据库物理设计

本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。

表4.1 合同管理表

字段

注释

类型

id (主键)

主键

int(11)

lixiangxiangmu_id

立项项目

int(11)

hetong_name

合同名称

varchar(200)

hetong_file

合同文件

varchar(200)

hetong_text

合同详情

text

insert_time

添加时间

timestamp

create_time

创建时间

timestamp

表4.2 合同报价表

字段

注释

类型

id (主键)

主键

int(11)

hetong_id

合同

int(11)

hetongbaojia_money

报价金额

decimal(10,2)

insert_time

添加时间

timestamp

create_time

创建时间

timestamp

表4.3 客户表

字段

注释

类型

id (主键)

主键

int(11)

username

账户

varchar(200)

password

密码

varchar(200)

kehu_name

客户姓名

varchar(200)

kehu_photo

头像

varchar(255)

sex_types

性别

int(11)

kehu_phone

联系方式

varchar(200)

kehu_email

邮箱

varchar(200)

kehu_delete

假删

int(11)

create_time

创建时间

timestamp

表4.4 立项项目表

字段

注释

类型

id (主键)

主键

int(11)

lixiangxiangmu_uuid_number

项目编号

varchar(200)

lixiangxiangmu_name

项目名称

varchar(200)

yonghu_id

员工

int(11)

kehu_id

客户

int(11)

lixiangxiangmu_types

项目类型

int(11)

lixiangxiangmu_file

项目文件

varchar(200)

lixiangxiangmu_yesno_types

审核结果

int(11)

lixiangxiangmu_yesno_text

审核原因

text

create_time

创建时间

timestamp

表4.5 公告信息表

字段

注释

类型

id (主键)

主键

int(11)

news_name

公告标题

varchar(200)

news_types

公告类型

int(11)

news_photo

公告图片

varchar(200)

insert_time

公告时间

timestamp

news_content

公告详情

text

create_time

创建时间

timestamp

表4.6 管理员表

字段

注释

类型

id (主键)

主键

bigint(20)

username

用户名

varchar(100)

password

密码

varchar(100)

role

角色

varchar(100)

addtime

新增时间

timestamp

表4.7 员工表

字段

注释

类型

id (主键)

主键

int(11)

username

账户

varchar(200)

password

密码

varchar(200)

yonghu_name

员工姓名

varchar(200)

yonghu_photo

头像

varchar(255)

sex_types

性别

int(11)

yonghu_phone

联系方式

varchar(200)

yonghu_id_number

员工身份证号

varchar(200)

yonghu_email

邮箱

varchar(200)

yonghu_delete

假删

int(11)

create_time

创建时间

timestamp

表4.8 预算报价表

字段

注释

类型

id (主键)

主键

int(11)

lixiangxiangmu_id

立项项目

int(11)

yushuanbaojia_money

报价金额

decimal(10,2)

insert_time

添加时间

timestamp

create_time

创建时间

timestamp

表4.9 装饰材料总计划表

字段

注释

类型

id (主键)

主键

int(11)

lixiangxiangmu_id

立项项目

int(11)

zhuangshicailiao_name

材料名称

varchar(200)

zhuangshicailiao_photo

材料图片

varchar(255)

zhuangshicailiao_money

材料价格

decimal(10,2)

zhuangshicailiao_types

材料类型

int(11)

zhuangshicailiao_number

采购数量

int(11)

zhuangshicailiao_danwei

单位

varchar(255)

zhuangshicailiao_text

材料详情

text

insert_time

添加时间

timestamp

create_time

创建时间

timestamp

表4.10 装修进度表

字段

注释

类型

id (主键)

主键

int(11)

lixiangxiangmu_id

立项项目

int(11)

zhuangxiujindu_name

进度标题

varchar(200)

zhuangxiujindu_photo

进度图片

varchar(255)

zhuangxiujindu_text

进度详情

text

insert_time

添加时间

timestamp

create_time

创建时间

timestamp