第3章 系统概要设计
article-文章ID-文章标题-文章内容-文章分类-文章发表时间+文章评论() 图3-8文章评论的类图
3.6功能模块设计
(1)用户登录模块:网站博客用户用个人注册的帐号和密码登录到博客系统。系统检测用户的帐号和密码是否错误和判断用户是博主还是普通用户并给予其相应的权限对系统进行操作。
(2)用户注册模块:由于只有注册博客用户才能进入系统,所以游客必须先注册,将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户。
(3)文章的管理模块:已注册的博客用户可以在博客主页中发表、修改、删除文章,同时评论感兴趣的文章,也可以查看其他评论和进行评论。
(4)照片管理模块:已注册博客用户可以在博客主页中上传图片、删除图片等操作。 (5)视频影音管理模块:已注册博客用户可以在博客主页中上传影音、删除影音等操作 (6)留言管理模块:已注册博客用户可以进行好友留言,留言的回复、删除等操作。 (7)好友管理模块:已注册博客用户可以进行好友的查询、添加和删除操作。 (8)互加好友模块:已注册博客用户可以互加好友来体现SNS社交网络的模式。 这些都是在用户登录以后有的。
(1)未注册用户访客模块:用户不需要注册就有的功能。该模块要求如下:
(2)文章的浏览模块:未注册的用户以匿名的身份可以在博客中对喜欢的文章进行浏览查阅、浏览等操作。
(3)文章的评论模块:未注册的用户以匿名的身份可以在在博客中对喜欢的文章进行评论等操作。
(4)图片的浏览模块:未注册的用户以匿名的身份可以在博客中进行浏览博主上传的图片信息等操作。
(5)视频的浏览模块:未注册的用户以匿名的身份可以在博客中进行浏览博主上传的视频信息等操作。
(6)留言及评论模块:未注册的用户以匿名的身份可以在博客中对博主的进行评论及留言等操作。
- 26 -
第3章 系统概要设计
(7)浏览推荐的博客模块:未注册的用户以匿名的身份可以在博客首页浏览已注册的用户博客。 3.7数据库设计
一个设计良好的数据库,可以使系统的实现变得非常的简单。同时,也可以使系统的执行速度变得很快。反之,一个设计混乱的数据库,不仅增加了吸引的管理实现过程,同时在系统的执行过程中,使得检索变得很慢,降低效率。所以数据库的设计是一个系统设计很重要的步骤。 3.7.1数据库需求设计
创建SNS博客数据库的第一步是制定实施计划,该计划可以在实现数据库时做向导,也可以在数据库实现完成后,用做数据库的功能说明。数据库设计的复杂性和细节由数据库的应用程序的复杂性、大小及用户使用情况确定。
下面详细介绍将数据库设计的基本步骤:
(1)采集信息
在创建SNS博客数据库之前,必须对SNS博客信息有一个透彻的理解。与SNS博客网中所涉及的每个人进行交流,以找出他们所作的工作及他们需要从数据库中获得的内容,这是很重要的。另外,了解该SNS博客系统是否符合实际要求及找出相关系统的问题、限制和屏蔽也很重要。
(2)表示对象
在采集信息的过程中,必须标识将由SNS博客数据库管理的主要对象或实体。对象可以是一个有形的实体(如用户),也可以是一个无形的项目(文章、相册等)。通常会有几个主要对象,在标识了这些对象之后,相关的项目就会变得清晰。数据库中每个不同的项目都应有一个对应的表。 (3)建立对象实体
标识了SNS博客系统中的对象后,使用该博客系统的一种直观表示方式对这些对象进行记录是很重要的。在数据库实现期间,可以使用数据库实体作为参考。 (4)标识每个对象的信息类型
标识必须为各对象存储的信息类型,这些信息是对象的表中的列(实际上就是数据表字段的类型)。 (5)标识对象之间的关系
关系数据库的一个优势是它具有联系或关联数据库中各种项目有关信息的能力。可以单独地存储独立的信息类型,但数据库可以在必要时组合数据。在设计过程中,表示
- 27 -
第3章 系统概要设计
对象间的关系需要查看各种表,以确定它们逻辑相关的方式及添加管系列以建立表与另一个表间的关系。
3.8数据库概念设计——E-R模型
概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体-联系模型,即E-R模型,它是用E-R图来描述现实世界的概念模型。下列E-R图清楚简便的描述出了本系统实体与其属性之间的关系:
N好友1管理N日志用户评论N1查看N相册
图3-9 数据库概念模型E-R图
3.8.1 数据库逻辑设计—关系模型
下面将图3.9数据库E-R图转换为关系模型。
用户信息(ID,用户名,密码,昵称,地址,电话,E-mail地址,性别,头像) 文章信息(标题,内容,用户ID,发布时间,浏览量) 相册信息(ID,标题,内容,发布时间,用户ID)
评论信息(ID,评论者姓名,评论者联系方式,评论者QQ,评论时间,文章ID) 好友管理(ID,好友ID) 3.8.2 数据库选型
本系统使用SQL Server 2008关系型数据库。
SQL Server是由微软出品,基于关系型数据库的大型数据库系统,该版本数据库具有独立于硬件平台、对称的多处理器结构、抢占式多任务管理、完善的安全系统和容错功能,更具有使用方便、可收缩性好与相关软件集成程度高等优点。
- 28 -
第3章 系统概要设计
3.8.3 数据库表结构设计
本SNS博客系统后台数据库中总共设计了8张数据表,分别为用户信息表(users)、文章信息表(article)、相册信息表(photo)、留言信息表(word)、媒体信息表(media)、好友信息表(friend)、推荐连接信息表(Link)。具体结构设计如下: (1)用户信息表(users)
用户信息表主要用于存放用户的信息,主要字段包括:用户ID,用户账号,密码,状态,地址,QQ,头像等。
表3-1用户信息表
字段名 ID user-name User-pswd User-ico User-motto User-sex User-QQ User-emai User-from User-blogName User-hitNum Int 用户点击量 50 NULL 数据类型 int varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar 字段描述 用户ID 用户姓名 用户密码 用户头像 用户个性签名 用户性别 用户QQ 用户邮件 用户地址 用户博客名字 4 50 20 50 50 2 15 100 100 100 长度 约束 NOT NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
(2)文章信息表(article)
文章信息表主要用于存储用户添加的文章信息,主要字段包括:文章编号、标题、内容。
表3-2文章信息表
字段名 ID Art-whoID Art-title Art-fenlei 数据类型 Int Int Varchar Varchar 字段描述 用户ID 文章ID 文章标题 文章分类 4 4 50 50 长度 约束 NOT NULL NULL NULL NULL - 29 -
第3章 系统概要设计
Art-content Art-pubTime Art-count Ntext Datetime Int 文章内容 文章发表时间 文章点击量 1000 NULL NULL NULL
(3)相册信息表(photo)
表3-3 相册类型信息表
字段名 ID Photo-whoid Photo-src Photo-info 数据类型 Int Int Varchar Varchar 字段描述 用户ID 图片ID 图片地址 图片描述 图片更新时间 4 4 200 1000 长度 约束 NOT NULL NULL NULL NULL NULL Photo-uptime Datetime (4)评论信息表(word)
评论信息表主要用于对文章的评论信息,主要字段包括:评论时间,评论内容,评论者姓名。
表3-4 评论信息表(word)
字段名 ID Word-whoid Word-content Word-author Word-time 数据类型 Int Int Varchar Varchar Datetime 字段描述 用户ID 评论者ID 评论内容 评论者姓名 评论时间 4 4 2000 50 长度 约束 NOT NULL NULL NULL NULL NULL
(5)好友信息表(friend)
好友信息表主要用于用户的好友信息,主要字段包括:用户ID、好友ID。
表3-5好友信息表(friend) 字段名 ID Friend-whoid User-id 数据类型 Int Int Int 字段描述 用户ID 好友ID 用户ID 4 4 4 长度 约束 NOT NULL NULL NULL (6)媒体视频信息表(media)
媒体视频信息表主要用于博主长传视频,主要字段包括:用户ID、媒体ID、媒体标题、媒体地址、媒体描述内容、媒体更新时间、媒体观看点击量。
- 30 -