中国石油大学胜利学院本科毕业设计(论文)
第三章 专题论坛系统设计
1. 数据库设计
在对系统数据库进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,分析得到数据字典;在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到数据库关系模型的E-R图;在逻辑结构设计阶段得到数据库的关系模式并绘制信息表。
1.1 数据库需求分析
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
综合以上分析,要实现上面的所有功能模块,数据库共要设计八个表,它们分别是:
(1)用户表(user):用户ID、用户名、密码、性别、Email、QQ、类型、发帖数、头像地址、注册日期、积分。
(2)版主(master):版主ID、板块ID。
(3)管理员表(admin):管理员ID、管理员姓名、管理员密码。
(4)板块表(plate):板块ID、板块名称、帖子数、板块简介、创建日期。 (5)帖子表(posts):帖子ID、帖子标题、帖子内容、发表日期、发表者、所在版块ID、回复数、点击数。
(6)回复内容表(reply):回复ID、回复者、回复帖子ID、回复时间、回复内容。
(7)公告表(notice):公告ID、公告标题、公告内容、发布时间。 (8)留言信息表(message):留言ID、留言标题、留言内容、留言时间。 通过参考网上比较出名的论坛和查询相应的资料,大体了解了论坛系统的基本流程,因此设计了前台和后台两个模块的层次流程图。
前台层次图如图3-1所示。
11
中国石油大学胜利学院本科毕业设计(论文)
图3-1 前台层次图
后台层次图如图3-2所示。
图3-2 后台层次图
12
中国石油大学胜利学院本科毕业设计(论文)
1.2 数据库概念结构设计
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。
系统E-R图如图3-3所示。
图3-3 系统E-R图
1.3数据库逻辑结构设计
对于关系型数据库,数据库的概念结构设计完毕后,要把E-R图描述的概念数据模型转换为等价的关系模式极其约束。逻辑设计的基本工作主要包括如下的3个步骤。
该设计以概念结构设计中的E-R图为主要依据,这几出相关的整体逻辑结构。
13
中国石油大学胜利学院本科毕业设计(论文)
系统数据流设计如图3-4所示。
图3-4 系统数据流设计图
完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束要求主键必须唯一且不能为空。如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。
14
中国石油大学胜利学院本科毕业设计(论文)
1.4 数据库表设计 用户表如表3-1所示:
表3-1 用户信息表(user)
字段名 UserID(主键) UserName UserPassword UserSex Email Regdate Privilege
QQ ImageAddr UserPostsCount Integral
类型(值) Int(10) Varchar(20) Varchar(20) Varchar(4) Varchar(50)
date Int(10) Varchar(10) Varchar(20) Int(255) Int(255)
说明 用户ID 用户名 用户密码 用户性别 用户Email 注册日期 0:普通用户;1:版主
QQ 头像地址 用户发帖数 积分
板块表如表3-2所示:
表3-2 板块信息表(plate)
字段名
PlateID(主键) PlateName PlateDescribe PlateDate PostsCount
类型(值) Int(10) Varchar(20) Varchar(128) date Int(255)
说明 板块ID 板块名字 板块简介 创建日期 帖子条数
15