4 系统设计

4.1系统概要设计

厨艺交流平台并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4.1就是开发出来的程序工作原理图。

图4.1 程序工作的原理图

4.2系统功能结构设计

下图就是系统功能结构图。

图4.1 系统功能结构图

4.3数据库设计

4.3.1数据库E-R图设计

程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。

下面就展示厨艺交流平台的实体E-R图。

(1)下图就是商品信息实体E-R图

图4.7 商品信息实体E-R图

(2)下图就是菜谱分类实体E-R图

图4.8 菜谱分类实体E-R图

(3)下图就是商品分类实体E-R图

图4.9 商品分类实体E-R图

4.3.2 数据库表结构设计

本次程序开发选用的数据库管理工具是MySQL数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序厨艺交流平台的数据表结构信息。

表4.1 菜谱分类

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

caipufenlei

varchar(200)

菜谱分类

表4.2 菜谱信息

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

caipinbianhao

varchar(200)

NULL

菜品编号

caipinmingcheng

varchar(200)

NULL

菜品名称

caipufenlei

varchar(200)

NULL

菜谱分类

kouwei

varchar(200)

NULL

口味

nandu

varchar(200)

NULL

难度

pengrenshizhang

varchar(200)

NULL

烹饪时长

tupian

varchar(200)

NULL

图片

yuancailiao

longtext

NULL

原材料

caipinjieshao

longtext

NULL

菜品介绍

thumbsupnum

int(11)

0

crazilynum

int(11)

0

clicknum

int(11)

0

点击次数

表4.3 购物车表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

tablename

varchar(200)

shangpinxinxi

商品表名

userid

bigint(20)

用户id

goodid

bigint(20)

商品id

goodname

varchar(200)

NULL

商品名称

picture

varchar(200)

NULL

图片

buynumber

int(11)

购买数量

price

float

NULL

单价

discountprice

float

NULL

会员价

表4.4 健康文章

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

wenzhangbiaoti

varchar(200)

NULL

文章标题

wenzhangfengmian

varchar(200)

NULL

文章封面

wenzhangleixing

varchar(200)

NULL

文章类型

fabushijian

datetime

NULL

发布时间

wenzhangneirong

longtext

NULL

文章内容

表4.5 美食日志

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

rizhibianhao

varchar(200)

NULL

日志编号

rizhibiaoti

varchar(200)

NULL

日志标题

rizhifengmian

varchar(200)

NULL

日志封面

yonghuzhanghao

varchar(200)

NULL

用户账号

yonghuxingming

varchar(200)

NULL

用户姓名

fabushijian

datetime

NULL

发布时间

meishirizhi

longtext

NULL

美食日志

thumbsupnum

int(11)

0

crazilynum

int(11)

0

表4.6 订单

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

orderid

varchar(200)

订单编号

tablename

varchar(200)

shangpinxinxi

商品表名

userid

bigint(20)

用户id

goodid

bigint(20)

商品id

goodname

varchar(200)

NULL

商品名称

picture

varchar(200)

NULL

商品图片

buynumber

int(11)

购买数量

price

float

0

价格/积分

discountprice

float

0

折扣价格

total

float

0

总价格/总积分

discounttotal

float

0

折扣总价格

type

int(11)

1

支付类型

status

varchar(200)

NULL

状态

address

varchar(200)

NULL

地址

tel

varchar(200)

NULL

电话

consignee

varchar(200)

NULL

收货人

表4.7 商品分类

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

shangpinfenlei

varchar(200)

商品分类

表4.8 商品信息

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

shangpinmingcheng

varchar(200)

NULL

商品名称

shangpinbianhao

varchar(200)

NULL

商品编号

shangpinfenlei

varchar(200)

NULL

商品分类

tupian

varchar(200)

NULL

图片

shangpinxiangqing

longtext

NULL

商品详情

price

float

价格

onelimittimes

int(11)

-1

单限

alllimittimes

int(11)

-1

库存

表4.9 食材分类

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

shicaifenlei

varchar(200)

食材分类

表4.10 食材信息

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

shicaimingcheng

varchar(200)

NULL

食材名称

shicaichandi

varchar(200)

NULL

食材产地

shicaididian

varchar(200)

NULL

食材地点

shicaireliang

varchar(200)

NULL

食材热量

fabushijian

datetime

NULL

发布时间

shicaifengmian

varchar(200)

NULL

食材封面

shiyongyiji

longtext

NULL

食用宜忌

xuangoujiqiao

longtext

NULL

选购技巧

thumbsupnum

int(11)

0

crazilynum

int(11)

0

表4.11 收藏表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

userid

bigint(20)

用户id

refid

bigint(20)

NULL

收藏id

tablename

varchar(200)

NULL

表名

name

varchar(200)

收藏名称

picture

varchar(200)

收藏图片

表4.12 管理员信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

username

varchar(100)

用户名

password

varchar(100)

密码

role

varchar(100)

管理员

角色

addtime

timestamp

CURRENT_TIMESTAMP

新增时间

表4.13 用户

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

yonghuzhanghao

varchar(200)

用户账号

yonghuxingming

varchar(200)

用户姓名

mima

varchar(200)

密码

xingbie

varchar(200)

NULL

性别

nianling

int(11)

NULL

年龄

lianxidianhua

varchar(200)

NULL

联系电话

dianziyouxiang

varchar(200)

NULL

电子邮箱

money

float

0

余额


5 系统实现

5.1食材分类管理

管理员管理食材分类,可以添加,修改,删除食材分类信息。下图就是食材分类管理页面。

 

图5.1 食材分类管理页面

5.2 用户信息管理

管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。

 

图5.2用户信息管理页面

5.3 菜谱分类管理

管理员管理菜谱分类,可以添加,修改,删除菜谱分类信息。下图就是菜谱分类管理页面。

 

图5.3 菜谱分类管理页面

5.4菜谱信息管理

管理员管理菜谱信息,可以添加,修改,删除菜谱信息信息。下图就是菜谱信息管理页面。

 

图5.4 菜谱信息管理页面

5.5食材信息管理

管理员管理食材信息,可以添加,修改,删除食材信息信息。下图就是食材信息管理页面。

 

图5.5 食材信息管理页面

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐