数据库课程设计.docx

上传人:b****7 文档编号:8846019 上传时间:2023-02-02 格式:DOCX 页数:39 大小:937.95KB
下载 相关 举报
数据库课程设计.docx_第1页
第1页 / 共39页
数据库课程设计.docx_第2页
第2页 / 共39页
数据库课程设计.docx_第3页
第3页 / 共39页
数据库课程设计.docx_第4页
第4页 / 共39页
数据库课程设计.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

数据库课程设计.docx

《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(39页珍藏版)》请在冰豆网上搜索。

数据库课程设计.docx

数据库课程设计

引言:

3

一.课题目的3

二.开发环境与工具3

2.1平台选择3

2.2系统开发工具3

2.3开发语言—JSP3

2.4数据库—MicrosoftSQLServer20004

三.系统需求分析4

3.1BBS介绍4

3.1.1注册为会员,系统登录4

3.1.2发帖,回帖,浏览帖子4

3.1.3.帖子管理5

3.2功能模块图5

3.2.1整体功能模块图5

3.2.2功能模块细化图5

3.2.3.业务流程6

3.3.E-R图设计7

3.3.1主题帖实体7

3.3.2回帖实体8

3.3.3会员实体8

3.3.4管理员实体9

3.3.5实体联系图:

9

3.4数据库结构设计10

四.主界面设计11

4.1主界面的界面效果及部分相关代码11

4.2数据库SQL语句:

27

4.3各文件详细情况:

28

五.总结30

 

小型BBS论坛

引言:

电子公告板(BBS)是Internet上一种全网开放的服务。

BBS上支持分类讨论区、双人对谈、多人聊天及电子邮件等多种功能。

用户可以在BBS上留言,选择在某个讨论区中阅读其他用户留下的文章、问题和建议,也可以在讨论区中发表文章、回复解答他人的问题等。

BBS中的讨论区涵盖的内容非常广泛,如:

软件开发、技术交流、生活经验、游戏心得、媒体信息反馈等,而且讨论不受时间、空间的限制。

BBS上的用户往往会对讨论区中的某个话题展开激烈的讨论。

    在BBS里,人们之间的交流打破了空间、时间的限制。

在与BBS上其他用户进行交流时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌,健康状况等,而这些条件往往是人们在其他交流形式中无可回避的;同样地,用户也无从知道交谈的对方的真实社会身份,这样,参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨。

    一般的BBS都会具有以下的基本功能:

发表文章;浏览文章;对用户的文章进行分类整理、索引,方便用户快速找到所需的资料。

一.课题目的

灵活地把所学的理论知识和技能应用于该项目的开发实践中,从而加深项目开发与管理的深刻含义

二.开发环境与工具

2.1平台选择

Microsoft软件是日常生活中使用最为广泛的软件,基于这一特点,我们选用的平台是JavaServerPage(简称JSP)+SQL2000数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且SQLServer2000数据库也易操作,从而大大降低了编程难度。

具体如下:

采用了Internet架构,Bowser/Server模式。

Web服务器采用Tomcat6.0服务器,数据库管理系统为SQLServer2000。

开发工具使用Dreamweaver搭建系统页面框架,再用MyEclipse在其中插入JSP语句,JavaBean使用MyElipse编写。

2.2系统开发工具

本系统是基于JSP+SQLServer2000数据库技术实现的,现对JSP技术和SQLServer2000数据库作简要的介绍。

2.3开发语言—JSP

JSP页面由HTML代码和嵌入其中的Java代码所组成。

JavaBean是JSP的技术基础,而且大型的Web应用程序的开发需要JavaBean和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网等特点。

JSP的技术的优势:

一次编写,到处运行。

在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。

系统的多平台支持。

基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。

相比ASP/PHP的局限性是显而易见的。

JSP技术是用Java语言作为脚本语言的。

Java语言是成熟的、强大的、易扩充的编程语言。

高效性与安全性。

JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。

可维护性。

由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。

多样化和功能强大的开发工具支持。

Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.4数据库—MicrosoftSQLServer2000

SQLServer是一个关系数据库管理系统。

SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的较新版本。

SQLServer2000数据库引擎提供完整的XML支持。

它还具备构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。

SQLServer2000关系数据库引擎支持当今苛刻的数据处理所需的功能。

数据库引擎充分保护数据完整性,同时将管理众多并发修改数据库的用户的开销减到最小。

SQLServer2000分布式查询使得以引用来自不同数据源的数据,就好像这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护分布式数据更新的完整性。

三.系统需求分析

3.1BBS介绍

随着网络的快速发展,网上交流已经成为现代人生活中的重要组成部分,网上交流是大家针对一个问题可以发表自己不同的见解,同时通过浏览他人的见解可以拓宽自己的知识面。

网上交流让问题变得更有深度,而不是仅仅局限于一个方面,反应了当代人的思想变化以及精神追求。

在这种条件下,BBS论坛应运而生。

BBS论坛主要是用来网上交流意见的,有人提出一个问题或者见解,他人可以针对不同的方面提出自己的见解。

但是为了保证论坛的安全性,不是任何人都能够发表帖子、回复帖子的,必须是以会员的身份进入系统后,才能够发表。

回复帖子。

因此BBS论坛将用户划分为三类人:

普通游客(非会员),普通会员,管理人员。

一个基本的BBS论坛,可以大致分为以下流程:

用户登录进入论坛(一般为游客,有时还要注册为会员),就某个话题(帖子的主题)展开讨论。

通过发帖功能发布新的话题;通过回帖功能回复已有的话题;管理员通过管理功能创建、编辑、删除论坛的版块;管理注册的用户;管理帖子等。

通过分析,该系统应该能够完成以下的这些功能:

3.1.1注册为会员,系统登录

未注册用户是无权发表帖子和回复帖子的,进入界面后,只显示已经存在的帖子,以供未注册用户浏览。

当注册为会员后,通过会员登录系统(该系统指的是发帖、回帖的系统),匹配正确后才能进入论坛发表、回复、浏览帖子。

3.1.2发帖,回帖,浏览帖子

未注册用户是不能够进入发帖、回帖系统的,只能够浏览帖子。

会员可以根据自己的理解发表帖子或者回复已经存在的帖子。

同时会员一旦发表了新帖,就不能删除该帖子,会员不具有删除帖子功能,防止某些会员恶意扰乱论坛。

3.1.3.帖子管理

这项功能由管理员完成,只有具有管理员身份的人才能删除帖子,管理员通过管理员后台功能实现,能够看到一切可以看到的帖子,可以随便删除帖子。

同时管理员只能删除而不能编辑任意会员发表的帖子。

防止不负责管理员对论坛进行恶意破坏。

3.2功能模块图

3.2.1整体功能模块图

如图1.1所示,为系统整体功能模块图,分为两大部分,前台功能和后台功能。

其中,根据参与者的身份又把前台功能分为普通游客和普通会员的功能,后台功能为管理员的功能。

3.2.2功能模块细化图

如图1.2、1.3、1.4、1.5所示,分别为各参与者具有的功能的细化图。

图1.1系统功能整体功能模块图

图1.2普通游客功能模块图

图1.2普通会员功能模块图

图1.2管理员功能模块图

3.2.3.业务流程

3.3.E-R图设计

3.3.1主题帖实体

3.3.2回帖实体

3.3.3会员实体

3.3.4管理员实体

3.3.5实体联系图:

3.4数据库结构设计

根据E-R图,转换成关系模式:

主题帖(帖子编号、发帖人编号、帖子标题、帖子内容、发帖时间)

回帖(帖子编号、主题帖编号、发帖人编号、帖子内容、发帖时间)

会员(会员编号、会员名字、登陆密码、注册邮箱)

管理员(管理员编号、管理员名字、登陆密码)

主题帖表(topic)表结构

列名

数据类型

长度

是否允许为空值

说明

id

整型(int)

6

×

主题帖的编号,主键

authorid

整型(int)

6

×

发帖人的编号

title

字符型(char)

10

帖子标题

content

文本型(text)

最大

帖子内容

ptime

日期(datatime)

12

发帖时间

回帖表(reply)表结构

列名

数据类型

长度

是否允许为空值

说明

id

整型(int)

6

×

回帖的编号,主键

rootid

整型(int)

6

×

回复的主题帖的编号

userid

整型(int)

6

×

发帖人的编号

content

文本型(text)

最大

帖子内容

ptime

日期(datatime)

12

发帖时间

会员表(bbsuser)表结构

列名

数据类型

长度

是否允许为空值

说明

id

整型(int)

6

×

会员编号,主键

username

字符型(char)

30

会员名字

password

整型(int)

8

登录密码

email

字符型(char)

30

用户邮箱

管理员(bbsadmin)表结构

列名

数据类型

长度

是否允许为空值

说明

id

整型(int)

6

×

管理员编号,主键

username

字符型(char)

30

管理员名字

password

整型(int)

8

登录密码

四.主界面设计

4.1主界面的界面效果及部分相关代码

主界面上面呈现的是一张咸宁学院的logo,中间一条为用户是否需要登

录,或登陆后的移动会员名。

在下面就是发帖按钮。

BBSIndex.jsp:

主页面文件,位于根目录下。

主要功能是显示该论坛的所有主题帖。

该页面具有分页显示功能,非会员不能发表新帖。

BBSShowDetail.jsp:

该页面是一个用来呈现主题帖内容以及该主题帖下的所有回复的,具有分页显示功能,用户可以选择跳转到自己想浏览的页面,在该页面下回复主题帖,回复成功后可以跳转到回复钱浏览的页面。

主要效果如下:

BBSReply.jsp:

回复主题帖的JSP.在该页面下的回复页面效果如下:

<%@pagecontentType="text/html;charset=utf-8"pageEncoding="utf-8"%>

<%@pageimport="java.sql.*,BBS.bean.post.*"%>

useBeanid="DBDemo"class="BBS.bean.post.DB">

useBean>

<%

inttopicId=Integer.parseInt(request.getParameter("topicId"));

Stringtitle=DBDemo.getTopicTitle(topicId);

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">

BBS

--fckeditor-->

window.onload=function()

{

varsBasePath="<%=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+request.getContextPath()+"/fckeditor/"%>"

varoFCKeditor=newFCKeditor('content');

oFCKeditor.BasePath=sBasePath;

oFCKeditor.ReplaceTextarea();

}

--endoffckeditor-->

主题:

<%=title%>

"/>

--需要回复的topic的id号-->

标题:


内容:




//<%=request.getServerName()+":

"+request.getServerPort()+"/"+request.getContextPath()+"/"%>servlet/ShowReply?

topicId=<%=topicId%>">

//<%=request.getServerName()+":

"+request.getServerPort()+"/"+request.getContextPath()+"/"%>servlet/ShowReply?

topicId=<%=topicId%>">返回到主题列表

 

 

BBSReplyDeal.jsp:

回复成功后的页面:

<%@pagelanguage="java"import="java.util.*,java.sql.*,BBS.bean.post.*"pageEncoding="utf-8"%>

<%

inttopicId=Integer.parseInt(request.getParameter("topicId"));

%>

回复成功 

red">5秒钟后自动跳转,如果不跳转,请点击下面链接

functiondelayURL(url){

vardelay=document.getElementById("time").innerHTML;

if(delay>0){

delay--;

document.getElementById("time").innerHTML=delay;

}else{

window.top.location.href=url;

}

setTimeout("delayURL('"+url+"')",1000);//delayURL(http:

//wwer)

}

topicId=<%=topicId%>">

topicId=<%=topicId%>">返回之前浏览的内容

delayURL(jumpSite.value);

BBSPost.jsp:

发新帖页面,该页面允许登陆后的会员发表新的主题帖。

页面效果如下

具体代码:

<%@pagecontentType="text/html;charset=utf-8"pageEncoding="utf-8"%>

<%@pageimport="java.sql.*,BBS.bean.post.*"%>

<%

Stringbbsusername=request.getParameter("bbsusername");

System.out.println(bbsusername);

%>

回复主题

window.onload=function()

{

varsBasePath="<%=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+request.getContextPath()+"/fckeditor/"%>"

varoFCKeditor=newFCKeditor('content');

oFCKeditor.BasePath=sBasePath;

oFCKeditor.ReplaceTextarea();

}

发新帖

">

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1