缓存实现的常见方式有本地缓存、分布式缓存。除此之外还有CDN、反向代理等。
移动互联网app开发专业设计网站移动互联网app开发中企动力网站做做网站苏州网站维护app制作软件公司分销商城系统我想建网站深圳网络营销个人网站推广郑州网站制作苏州小程序app开发报价单大连网络推广凡科网杭州手机网站建设公司武汉seo网站优化网站生成系统如何提高百度权重自助建网站seo外贸推广深圳seo公司天津网站推广免费域名的网站网站建网站重庆网络营销网站优化外包公司星子网网络建设公司绿岛网
本章主要讨论的内容包括水果百科动态网站的功能模块设计、数据库系统设计。
本水果百科动态网站从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1水果百科动态网站 系统架构设计图
表现层(UI):又称UI层,主要完成本水果百科动态网站 的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本水果百科动态网站 时的舒适度。UI的界面设计也要适应不同版本的水果百科动态网站以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本水果百科动态网站的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本水果百科动态网站的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本水果百科动态网站 的数据存储和管理功能。
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本水果百科动态网站 中的用例。那么接下来就要开始对本水果百科动态网站的架构、主要功能和数据库开始进行设计。水果百科动态网站根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。
图3-2 水果百科动态网站 功能模块图
后台管理者能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:
图3-3用户用户模块结构图
水果百科动态网站 是一个交流性质的公开平台,用户用户可以在平台上交流,增加用户之间的互动性。但是同时也为了更好的规范留言的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个留言管理模块,具体的结构图如下:
图3-4评论模块结构图
水果百科动态网站是中需要存储不少水果信息,其模块功能结构,具体的结构图如下:
图3-5水果常识模块结构图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
下面是整个水果百科动态网站 中主要的数据库表总E-R实体关系图。
图3-6 水果百科动态网站 总E-R关系图
下面根据水果百科动态网站的数据库总E-R关系图可以得出水果百科动态网站需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。
图3-7买家信息E-R关系图
图3-8 水果推荐E-R关系图
图3-9 水果常识信息E-R关系图
图3-10 水果养生E-R关系图
图3-11 评论E-R关系图
通过上一小节中水果百科动态网站 中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
registered_user表:
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
registered_user_id | int | 11 | 是 | 是 | 注册用户ID |
user_name | varchar | 64 | 是 | 否 | 用户名 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
user_id | int | 11 | 是 | 否 | 用户ID |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
push_classification表: | |||||
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
push_classification_id | int | 11 | 是 | 是 | 推送分类ID |
push_category | varchar | 64 | 否 | 否 | 推送类别 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
fruit_push表: | |||||
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
fruit_push_id | int | 11 | 是 | 是 | 水果推送ID |
title | varchar | 64 | 否 | 否 | 标题 |
fruit_name | varchar | 64 | 否 | 否 | 水果名称 |
push_category | varchar | 64 | 否 | 否 | 推送类别 |
picture | varchar | 255 | 否 | 否 | 图片 |
user_name | int | 11 | 否 | 否 | 用户名 |
place_of_origin | varchar | 64 | 否 | 否 | 产地 |
contact_number | varchar | 64 | 否 | 否 | 联系电话 |
details | longtext | 0 | 否 | 否 | 详情 |
hits | int | 11 | 是 | 否 | 点击数 |
praise_len | int | 11 | 是 | 否 | 点赞数 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
fruit_knowledge表: | |||||
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
fruit_knowledge_id | int | 11 | 是 | 是 | 水果常识ID |
chinese_name | varchar | 64 | 否 | 否 | 中文名 |
alias | varchar | 64 | 否 | 否 | 别名 |
fruit_category | varchar | 64 | 否 | 否 | 水果类别 |
photo | varchar | 255 | 否 | 否 | 照片 |
common_varieties | varchar | 64 | 否 | 否 | 常见品种 |
growth_conditions_ | text | 0 | 否 | 否 | 生长条件 |
cultivation_technology | text | 0 | 否 | 否 | 培育技术 |
nutrients | text | 0 | 否 | 否 | 营养成分 |
details | longtext | 0 | 否 | 否 | 详情 |
hits | int | 11 | 是 | 否 | 点击数 |
praise_len | int | 11 | 是 | 否 | 点赞数 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
fruit_health表: | |||||
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
fruit_health_id | int | 11 | 是 | 是 | 水果养生ID |
title | varchar | 64 | 否 | 否 | 标题 |
fruit_name | varchar | 64 | 否 | 否 | 水果名称 |
nutrients | varchar | 64 | 否 | 否 | 营养成分 |
picture | varchar | 255 | 否 | 否 | 图片 |
reasons_for_recommendation | text | 0 | 否 | 否 | 推荐理由 |
dietary_taboos | text | 0 | 否 | 否 | 饮食禁忌 |
details | longtext | 0 | 否 | 否 | 详情 |
hits | int | 11 | 是 | 否 | 点击数 |
praise_len | int | 11 | 是 | 否 | 点赞数 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
fruit_classification表: | |||||
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
fruit_classification_id | int | 11 | 是 | 是 | 水果分类ID |
fruit_category | varchar | 64 | 否 | 否 | 水果类别 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
comment表: | |||||
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
comment_id | int | 11 | 是 | 是 | 评论ID |
user_id | int | 11 | 是 | 否 | 评论人ID |
reply_to_id | int | 11 | 是 | 否 | 回复评论ID |
content | longtext | 0 | 否 | 否 | 内容 |
nickname | varchar | 255 | 否 | 否 | 昵称 |
avatar | varchar | 255 | 否 | 否 | 头像地址 |
create_time | timestamp | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
source_table | varchar | 255 | 否 | 否 | 来源表 |
source_field | varchar | 255 | 否 | 否 | 来源字段 |
source_id | int | 10 | 是 | 否 | 来源ID |
3.4本章小结
整个水果百科动态网站 的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
">