图4 系统管理员流程图
4 系统数据库设计
4.1 数据库需求分析
创建校园二手交易网站数据库第一步是制定计划,该计划可以在实施数据库时做向导,也可以在数据库实现完成后,用做 数据库的功能说明。数据库的复杂性和细节有数据库的应用程序的复杂性,大小及用户实用情况确定。本文的数据库是一个相对简单的数据库,其基本步骤如图所示。
图5 数据库设计的基本步骤
13
4.2 数据库E-R图设计
E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。
它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。
E-R模型中包含“实体”、“联系”和“属性”。
根据以上对系统所做的需求分析和系统设计,规划出本文使用的数据库的实体分别为用户实体、二手信息实体、留言板实体、管理员实体。以下图示数据库实体的E-R图: 1)用户信息实体
用户信息实体包括邮箱、照片、电话、学校、备注、QQ号、注册时间、账号、密码,用户信息实体E-R图如下图所示:
图6用户信息实体E-R图
2)二手物品信息实体
二手物品信息实体包括物品名称、发表时间、物品编号、价格、用户账号、物品介绍、浏览次数、类别,二手物品信息实体E-R图如下图所示:
图7 二手物品信息实体E-R图
14
3)留言板信息实体
留言板实体包括用户账号、编号、标题、发表时间、回复、内容,留言板信息实体E-R图如下图所示:
图8 留言板实体E-R图
4)管理员信息实体
管理员信息实体包括账号、权限标志、密码,管理员信息实体E-R图如下图所示:
图9 管理员实体E-R图
15
4.3 数据库逻辑结构设计
本文中,一共需要创建7个数据表。这7个数据表中存放了建设校园二手交易网站所需要的数据。其中表Login是用来存放管理员和会员的登录日志,表Category是用来存放商品类别的信息,表Comment是用来存放用户对物品信息进行的评价,表News是用来存放网站的新闻,表Users是用来存放用户的个人信息,表Goods是用来存放已发布的物品的信息,表Administrator是用来存储管理员的信息。
表1 数据库表
序号 1 2 3 4 5 6 7 数据库表名 数据库存储的内容 存储登录日志 存储信息的类别 存储物品的评论 存储网站新闻 存储相关会员信息 存储物品发布信息 存储管理员的状态信息 Login Category Comment News Users Goods Administrator 数据关系图如下(PK为主键):
图10 数据表关系图
16
数据库表的详细设计如下:
用户信息表(Users)中包含了用户账号,用户密码,找回密码提问,移动电话,座机,所在学校,电子邮箱,注册时间,QQ,标志的等键,其中用户账号为主键,相关图如下:
表2 用户信息表(User)
字段 user_account user_date user_qq user_mark user_school user_mphone user_photo user_email
类型 Null 默认 主键 0 备注 用户账号 用户密码 注册时间 QQ号 备注 所在学校 联系电话 个人照片 电子邮箱 Varchar(30) 否 user_password Varchar(30) 否 datetime Int(11) 否 否 Varchar(80) 否 Varchar(60) 否 Varchar(30) 否 Varchar(30) 否 Varchar(30) 否 类别信息表(Category)中包含了类别名称,大类中小类,小类中大类等键,其中类别名称是主键,相关表如下:
表3 类别信息表(Category)
字段 category 类型 Null 默认 主键 0 0 备注 类别名称 大类中的小类 小类中的大类 varchar(20) 否 category_order int(11) 否 category_cid int(11) 否 登录日志信息表(Login)中包含了登录名,登录IP,登录时间,登录状态,判断是否管理员等键,其中登录名为主键,相关表如下:
表4 会员与管理员登录日志信息表(Login)
字段 user_account login_ip login_time login_state login_judge
Null 类型 varchar(20) 否 varchar(20) 否 datetime 否 int(11) int(11) 否 否 默认 主键 0 0 备注 用户账号 登录IP 登录时间 登录状态 判断是否管理员 17