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