BBS论坛数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉理工大学华夏学院课程设计报告书
课程名称:数据库原理与应用
题目:BBS论坛数据库设计开发
系名:信息工程系
专业班级:计网2093班
姓名:王博
学号: 10225509314
指导教师:刘春燕
2011 年 7 月 1 日
课程设计任务书
学生姓名:王博专业班级:计网2093
指导教师:刘春燕工作单位:信息工程系
设计题目:BBS论坛数据库设计开发
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.创建数据库 BBS,数据表,并建立主外键、约束、建立表测试数据;
2.创建视图
3.实现以下功能:
(1)简单查询;
(2)连接查询;
(3)嵌套查询;
(4)创建触发器;
(5)创建存储过程;+
设计报告撰写格式要求:
1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。严格要求自己,要独立思考,按时、独立完成课程设计任务。
2、设计报告:要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录)
时间安排:
消化资料、系统调查 1天
系统分析、总体设计,实施计划、撰写报告3天
演示、验收 1天
指导教师签字:2011年7 月 1 日系主任签字:2011 年7 月 1 日
课程设计报告书
第一章需求分析
1.1 BBS的功能与应用需求
1.1.1BBS的功能
论坛又名BBS,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。它是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的电子信息服务系统。用户在BBS站点上可以获得各种信息服务、发布信息、进行讨论、聊天等等。像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数拥护的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地帖到论坛中。
随着计算机网络技术的不断发展,BBS论坛的功能越来越强大,目前BBS的主要功能有以下几点:
(1) 供用户自我选择阅读若干感兴趣的专业组和讨论组内的信息。
(2) 可随意检查是否有新消息发布并选择阅读。
(3) 用户可在站点内发布消息或文章供他人查阅。
(4) 用户可就站点内其他人的消息或文章进行评论。
(5) 同一站点内的用户互通电子邮件, 设定好友名单
1.1.2应用需求
现实生活中的交流存在时间和空间上的局限性,交流人群范围的狭小,以及间断的交流,不能保证信息的准确性和可取性。因此,用户需要通过网上论坛也就是BBS的交流扩大交流面,同时可以从多方面获得自己的及时需求。同时信息时代迫切要求信息传播速度加快,局部范围的信息交流只会减缓前进的步伐。BBS系统的开发能为分散于五湖四海的人提供一个提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方用户的极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友拓展自己的视野和扩大自己的社交面。
1.2需求设计
根据BBS的功能与应用需求的简要介绍,可以得出设计BBS系统所要的基本实体有BBSUser(用户)、BBSSection(版块)、BBSTopic(主贴)、BBSReply(回复贴)。
1.3数据字典
表1-3-1BBSUsers 用户信息表
表1-3-2BBSTopic主贴信息表格
表1-3-3BBSSection板块信息
表1-3-4BBSReply回帖信息表
第二章概要设计
2.1基本概念介绍
⑴实体:现实世界中的各种事物的抽象。实体可以是具体的各种事物,如学生、教师、仓库、图书馆等;也可以是抽象的概念,如课程、部门、学校等。
⑵联系:两个实体集之间的联系。可以分为三类:
①一对一联系(1:1)
如果对于实体集A中的每一个实体,实体集B中最多有一个实体与之联系,反之亦然,则称实体集A和实体集B具有一对一联系,记作1:1。
②一对多联系(1:n)
如果对于实体集A中的每一个实体,实体集B中最多有n(n≧1)个实体与之联系,对于实体集B中的每一个实体,实体集A中最多有一个实体与之联系,则称实体集A和实体集B 具有一对多联系,记作1:n。
③多对多联系(m:n)
如果对于实体集A中的每一个实体,实体集B中最多有n(n≧1)个实体与之联系,对于实体集B中的每一个实体,实体A中最多有m(m≧1)个实体与之联系,则称实体集A和实体集B具有多对多联系,记作m:n。
⑶属性:描述实体特征或性质。如学生实体的属性有:学号、姓名、性别、年龄等。课程实体的属性有:课程号、课程名、学分等。
2.2实体E-R图
2.2.1用户E-R图
2.2.2主贴E-R图
2.2.3版块E-R图
2.2.4回帖E-R图
2.3实体总体E-R图
3.2实体联系图
第三章详细设计
3.1程序设计
3.1.1创建数据库
create database BBS
on primary
(
name = BBS_data, --逻辑名
filename ='d:\BBS_data.mdf', --物理文件
size = 20MB, --初始大小
filegrowth=10%, --文件增长率
maxsize = 200MB --初始大小
)
log on
(
name =bbs_log, --逻辑名
filename ='d:\bbs_data.ldf', --物理文件
size =10mb, --初始大小
filegrowth = 10%,--文件增长率
maxsize = 100MB --最大尺寸
)
3.1.2创建用户表
create table BBSUsers
(
UID int constraint pk_UID primary key,--用户编号
UName char(8) not null, --用户姓名
UPassword char(16) constraint df_UPassword default '888888',--用户密码
UEmail char(20) not null constraint ck_Uemail check(UEmail like'%@%.%'),--用户Email UBirthday datetime not null,--用户生日
Usex int constraint df_Usex default '1', --用户性别
UClass int constraint df_UClass default '1', --用户等级
UStatement varchar(150)not null, --用户说明
URegDate datetime not null default getdate(), --用户注册时间
UState tinyint constraint df_UState default '1', --用户状态
UPoint int constraint df_UPoint default '20' , --用户积分
constraint ck_UPassword check(UPassword like '______')
)
3.1.3创建版块表
create table BBSSection
(