广工数据库课程设计报告.doc

上传人:夺命阿水 文档编号:10282 上传时间:2022-06-23 格式:DOC 页数:25 大小:3.04MB
返回 下载 相关 举报
广工数据库课程设计报告.doc_第1页
第1页 / 共25页
广工数据库课程设计报告.doc_第2页
第2页 / 共25页
广工数据库课程设计报告.doc_第3页
第3页 / 共25页
广工数据库课程设计报告.doc_第4页
第4页 / 共25页
广工数据库课程设计报告.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《广工数据库课程设计报告.doc》由会员分享,可在线阅读,更多相关《广工数据库课程设计报告.doc(25页珍藏版)》请在课桌文档上搜索。

1、数据库原理课程设计学 院计算机学院 专 业软件工程 班 级 学 号 姓 名 指导教师 目录数据库原理课程设计1一、课程设计目的5二、背景和可行性分析5三、相关技术介绍5四、需求分析6五、概念结构设计11六、逻辑结构设计11七、物理结构设计12八、数据库实施13九、数据库运行与维护15十、系统安装说明21十一、收获与体会21十二、各模块程序说明附录22一、 课程设计目的本次课程设计的目的在掌握数据库系统概论的基础上,了解数据库系统的设计和应用,掌握数据库系统相关设计方法和思想,希望能通过本次的课程设计,达到巩固和综合应用数据库系统概论的原理和知识,本次要突出一个完整的面向应用的数据库的设计和应用

2、的过程,至于如何实现模块功能细节的则可以省略,通过本次报告的设计撰写情,来达到锻炼的目的。二、背景和可行性分析1、课程设计选题:因为本次课程设计要选择与数据库联系紧密,并且关于数据库的操作丰富的题目,再根据本人所掌握的知识考虑,由于我学过javaweb的程序开发,所以我选择了做的题目的是java web 个人博客系统2、题目描述个人博客的功能主要是为博客用户设计开发的,用户进入博客后,有两种选择,注册新用户、登录。由于是个人所以只支持注册用户查看文章,注册后经由管理员同意即为注册成功,注册成功的用户可以获取自己的博客空间,登陆成功后,用户可以发布、查看、修改和删除自己的博客,也可以浏览别人公开

3、的博客文章,并且对文章进行评论,和点赞,也可以修改自己的个人信息,这个题目对于数据库的操作十分丰富,所以作为本次课程是个十分符合要求的题材三、相关技术介绍1、开发环境(1)、系统环境 Windows 8.1(2)、数据库系统Mysql Server5.25(3)、软件环境 JDK1.7-java开发环境Eclipce for j2ee 4.03 -IDETomcat 7.0-WEB服务器3、系统机构设计传统MVC模式项目的分层可细分为视图层(View),控制器层(Controller),业务逻辑层(Service),和数据访问层(DAO),持久化对象层(PO)视图层(V) 由jsp呈现控制器层

4、(C) 由Servlet充当,用于前端后台进行数据交换中间层(M)业务逻辑层(Service),和数据访问层(DAO), 持久化对象层(PO)组成存放数据数据库服务(MySQL)数据库访问对象业务逻辑的表现层MVC架构的控制器控制业务逻辑层与表现层的交互用户界面,负责业务数据的收集和表示,客户端校验 视图层 控制器层 service层 dao层 (jsp) (servlet)(中间层)四、需求分析个人博客系统1、 系统总体结构用户博客管理系统博客后台管理系统2、 系统用例图即两种用户:(1)、普通用户、(2)、系统管理员3、 系统活动图(1)、普通用户系统(1)、后台管理系统4、 数据流图(1

5、)、个人博客管理信息第一层数据流图之一 普通用户系统(2)、个人博客管理信息第一层数据流图之二 后台管理系统5、数据字典普通用户信息表(t_user)属性类型描述中文英文用户编号idchar(32)主键用户账号usernamevarchar(200)用户密码passwordvarchar(200)用户真实namevarchar(200)用户mobilevarchar(200)用户emailvarchar(200)用户头像地址imageurlvarchar(200)用户类比typevarchar(200)是够同意注册isPassInt关注用户信息表(t_attentionr)属性类型描述中文英文

6、评论编号idchar(32)主键用户编号userIdchar(32)外键,关联用户表被关注用户编号attentionIdchar(32)外键,关联用户表博文信息表(t_article)属性类型描述中文英文博文编号idchar(32)主键用户编号userIdchar(32)外键,关联用户表博文标题titlevarchar(200)博文容contenttext博文发布时间datevarchar(200)博文点赞数目praisevarchar(200)是否公开isPublishvarchar(200)评论信息表(t_comment)属性类型描述中文英文评论编号idchar(32)主键用户编号user

7、Idchar(32)外键,关联用户表博文编号articleIdchar(32)外键,关联博文表评论容contentvarchar(200)评论时间datevarchar(200)五、概念结构设计E-R图六、逻辑结构设计用户表:t_user文章分组表:t_groups文章表:t_article评论表:t_comment关注表:t_attention七、物理结构设计八、数据库实施- Table structure for t_article- -DROP TABLE IF EXISTS t_article;CREATE TABLE t_article ( id varchar(32) NOT NU

8、LL, content text NOT NULL, date datetime NOT NULL, isPublish bit(1) NOT NULL, title varchar(100) NOT NULL, groupId varchar(32) NOT NULL, praise int(11) NOT NULL, userId varchar(32) NOT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KEY FK8FEAC02BD8567870 (groupId), CONSTRAINT FK8FEAC02BD8567870 FOREIGN

9、 KEY (groupId) REFERENCES t_groups (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_attention- -DROP TABLE IF EXISTS t_attention;CREATE TABLE t_attention ( id varchar(32) NOT NULL, attentionId varchar(32) NOT NULL, userId varchar(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY id (id

10、), KEY FK9C91B13FEE22533 (userId), CONSTRAINT FK9C91B13FEE22533 FOREIGN KEY (userId) REFERENCES t_user (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_comment- -DROP TABLE IF EXISTS t_comment;CREATE TABLE t_comment ( id varchar(32) NOT NULL, content varchar(255) NOT NULL, date date

11、time NOT NULL, articleId varchar(32) DEFAULT NULL, userId varchar(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KEY FKF437E194F87EDB05 (articleId), KEY FKF437E194FEE22533 (userId), CONSTRAINT FKF437E194F87EDB05 FOREIGN KEY (articleId) REFERENCES t_article (id), CONSTRAINT FKF437E194FEE2253

12、3 FOREIGN KEY (userId) REFERENCES t_user (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_groups- -DROP TABLE IF EXISTS t_groups;CREATE TABLE t_groups ( id varchar(32) NOT NULL, groupName varchar(32) NOT NULL, userId varchar(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KE

13、Y FK69B62BFFFEE22533 (userId), CONSTRAINT FK69B62BFFFEE22533 FOREIGN KEY (userId) REFERENCES t_user (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_user- -DROP TABLE IF EXISTS t_user;CREATE TABLE t_user ( id varchar(32) NOT NULL, email varchar(50) NOT NULL, imageurl varchar(50) NOT

14、 NULL, mobile varchar(32) NOT NULL, name varchar(32) NOT NULL, password varchar(32) NOT NULL, sex varchar(2) NOT NULL, username varchar(32) NOT NULL, PRIMARY KEY (id), UNIQUE KEY id (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;九、数据库运行与维护(一)用户登录(二)用户注册填写个人信息(三)用户上传头像(四)登录成功显示个人主页,以与管理博文(五)博客园(六)发布博文(七)查看博

15、文(八)评论博文(九)查看评论十、系统安装说明1、往mysql数据库新建blog数据库2、导入源代码中的sql脚步文件:/Blog/blog.sql3、修改程序中的配置文件:/Blog/src/resource/jdbc.mysql.properties修改数据库连接和账号密码4、启动tomcat服务器,程序即启动5、打开浏览器访问:localhost:8080/Blog/十一、收获与体会这次的大作业是一个自己写的java web小项目,用了个小的ORM框架MyBatis,由于最近比较忙,所以很多没时间写,是在以前自己写的代码的基础上重构的,虽然经过一年多的的沉淀自己的能力也成长了不少,在系统

16、的设计的和框架的搭建有了很多的改进,但由于时间有限,所以很多设想好的功能都没时间去实现它,我是专业后台,一个人同时是编写前端后台比较吃力,而且由于技术原因,我目前还是在努力学习中,有很多的地方还写得不是很成熟,代码也写得不是很规,我尽量把精力都放在后台的逻辑代码设计上了,比如网页上很明显有一些还没来得急实现的模块功能,等我技术成熟后我会在以后有时间会尽力完善这些功能。十二、各模块程序说明附录(1)公共类的设计说明 .po.User 用户信息类 .po.Groups 分组信息类 .po.Article文章信息类 .po ment 评论信息类 .po.Attention 关注关系类 .po.Pag

17、e 分页操作用辅助JavaBean .dao.BaseDao 数据操作类公共父类 .dao.UserDao 用户数据操作类 .dao. GroupsDao 分组数据操作类 .dao.ArticleDao 文章数据操作类 .dao mentDao 评论数据操作类 .dao.AttentionDao 关注关系操作类 .service.BaseService逻辑处理类公共父类 .service.UserService用户逻辑处理类 .service.GroupsService分组逻辑处理类 .service.ArticleService文章逻辑处理类 .service mentService评论逻辑

18、处理类 .service.AttentionService关注关系逻辑处理类 .util. MyBatisUtilMyBatis框架工具类 .util. RemoveArtilceHtmlUtil页面显示截短文章工具类 .filter.EncondingFilter字符过滤器 .servlet.LoginCheckServlet检查登录操作的公共父类 .servlet.UpLoadUserHeadImage头像上传控制器 .servlet.ZoomImage头像裁剪控制器 .servlet.RegisterServlet注册信息监测控制器 .servlet.LoginServlet登录控制器

19、.servlet.UpdateUserInfoServlet修改用户信息控制器 .servlet.RedactServlet获取分组信息控制器 .servlet.AddGoupsServlet添加分组控制器 .servlet.DeleteGoupsServlet删除分组控制器 .servlet.LookGoupsArticleServlet查看分组文章控制器 .servlet.PublishServlet发布博文控制器 .servlet. ReadArticleServlet浏览博文控制器 .servlet. CommentServlet评论博文控制器 .servlet. DeleteComm

20、entServlet删除评论控制器 .servlet. FindAllArticleServlet跳转到博客园控制器 .servlet. ReturnIndexServlet返回首页控制器 .servlet. SelectArticleOfUserServlet用户管理博文翻页控制器 .servlet. SelectArticleServlet博客园翻页控制器 .servlet.DeleteArticleServlet用户删除博文控制器 .servlet.AttentionOtherServlet关注博主控制器 .servlet.CancelAttentionArticleServlet取消关

21、注控制器 .servlet.ToOtherUserIndextServlet去其他用户首页控制器 .servlet.FindArticleServlet查找博文控制器 .servlet.LookArticleOfAttentionServle浏览关注所以用户的博客 /resource/mybatis-config.xmlMybatis的配置文件以上的类部的方法的作用和注释都在源代码里面有介绍,所以在这里就不多做介绍,主要就是对DAO层的增删查改的操作,也对这个项目的唯一亮点就是ORM框架的使用,即数据库持久层的也十分对应本次课程设计的主题(2)关键部分源代码(一)MyBatis的配置以与辅助工

22、具类src/resource/jdbc.mysql.properties:jdbc.driver = .mysql.jdbc.Driverjdbc.url = jdbc:mysql:/127.0.0.1/blogjdbc.username = rootjdbc.password =rootsrc/resource/mybatis-config.xml:src/po/user.xml:insert into t_user(id,username, password,name,sex,mobile,email,imageurl) values (#id,#username,#password,#n

23、ame,#sex,#mobile,#email,#imageurl)delete from t_user where id= #idupdate t_user set password = #password,name = #name ,sex = #sex,mobile = #mobile,email = #email,imageurl = #imageurl where id = #idselect * from t_user where username = #usernameselect * from t_user where id = #idselect * from t_user

24、order by rand() limit 9src/po/article.xml:insert intot_article(id,userId,groupId,title,date,content,praise,isPublish)values(#id,#userId,#groupsId,#title,#date,#content,#praise,#isPublish)delete fromt_article where id = #idselect * from t_article where isPublish = 1 order bydate desc limit#firstResul

25、t,#maxResultsselect * from t_article where id = #idselect * from t_article where id = #idselect * fromt_article where isPublish = 1 order by praise desc limit 0,9select * from t_article where groupId = #groupsIdselect * from t_article where userId = #condition order bydate desc limit #firstResult,#m

26、axResultsselect * from t_article where userId = #userIdselect * from t_articlewhere isPublish = 1src/po/comment.xml:insert intot_comment(id,content,articleId,date,userId) values(#id,#content,#articleId,#date,#userId)delete fromt_comment where id = #idselect * fromt_comment where articleId = #condition orderbydate desc limit #firstResult,#maxResultsselect * from t_comment where articleId = #articleIdselect * from t_commentorder by date desc limit 0,3src/po/attention.xml:insert into t_attention (id,attentionId,

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号