收藏 分享(赏)

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

上传人:精品资料 文档编号:10008547 上传时间:2019-09-27 格式:DOC 页数:28 大小:2.50MB
下载 相关 举报
广工数据库课程设计报告.doc_第1页
第1页 / 共28页
广工数据库课程设计报告.doc_第2页
第2页 / 共28页
广工数据库课程设计报告.doc_第3页
第3页 / 共28页
广工数据库课程设计报告.doc_第4页
第4页 / 共28页
广工数据库课程设计报告.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、数据库原理课程设计学 院 计算机学院 专 业 软件工程 班 级 2012 级 4 班 学 号 3112006291 姓 名 林炳城 指导教师 周俭铁 ( 2015 年 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 模式项目的分层可细分

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

5、表示,客户端校验MVC 架构的控制器控制业务逻辑层与表现层的交互业务逻辑的表现层数据库访问对象存放数据数据库服务(MySQL)普通用户登陆注册修改信息发布博文查看博文修改博文删除博文用户信息管理博客信息管理博客园系统功能搜索博文查看博文评论博文关注用户系统管理员用户管理同意注册查看用户信息封禁用户系统管理屏蔽删除博客信息屏蔽删除评论信息置顶文章管理系统图片3、 系统活动图(1)、普通用户系统用户登陆用户注册注册成功管理员同意管理博文管理评论 查看博文退出登录(1)、后台管理系统登陆用户管理博文评论管理 系统配置信息管理4、 数据流图(1)、个人博客管理信息第一层数据流图之一 普通用户系统1 .

6、 0用户信息管理用户信息表博文信息表评论信息表关注用户信息表普通用户登陆 、 注册 、 查看 、 修改用户信息登陆 、 注册 、 查看 、 修改用户信息反馈2 . 0博文信息管理发布 、 查看 、 修改 、 删除博文信息发布 、 查看 、 修改 、 删除博文信息反馈3 . 0评论信息管理评论博文 、 查看 、 删除评论评论博文 , 查看 、 删除评论反馈4 . 0关注用户信息管理关注 、 取消关注关注 、 取消关注用户反馈用户信息表博文信息表 用户信息表用户信息表博文信息表用户信息表(2)、个人博客管理信息第一层数据流图之二 后台管理系统管理员用户5 . 0管理全部用户信息6 . 0系统管理同

7、意用户注册 、 查看 、 屏蔽 、 删除用户信息 用户信息表博文信息表评论信息表查看 、 删除 、 屏蔽信息操作7 . 0系统配置管理系统配置信息表修改系统配置系统配置信息表系统配置信息修改反馈同意用户注册 、 查看 、 屏蔽 、 删除用户信息用户信息表博文信息表评论信息表查看 、 删除 、 屏蔽信息操作5、数据字典普通用户信息表(t_user)属性中文 英文类型 描述用户编号 id char(32) 主键用户账号 username varchar(200)用户密码 password varchar(200)用户真实姓名 name varchar(200)用户电话 mobile varchar

8、(200)用户邮箱 email varchar(200)用户头像地址 imageurl varchar(200)用户类比 type varchar(200)是够同意注册 isPass Int关注用户信息表(t_attentionr)属性中文 英文类型 描述评论编号 id char(32) 主键用户编号 userId char(32) 外键,关联用户表被关注用户编号 attentionId char(32) 外键,关联用户表博文信息表(t_article)属性中文 英文类型 描述博文编号 id char(32) 主键用户编号 userId char(32) 外键,关联用户表博文标题 title

9、varchar(200)博文内容 content text博文发布时间 date varchar(200)博文点赞数目 praise varchar(200)是否公开 isPublish varchar(200)评论信息表(t_comment)属性中文 英文类型 描述评论编号 id char(32) 主键用户编号 userId char(32) 外键,关联用户表博文编号 articleId char(32) 外键,关联博文表评论内容 content varchar(200)评论时间 date varchar(200)五、概念结构设计E-R 图用户用户编号 用户账号 用户密码用户真实姓名用户电话

10、 用户邮箱 用户头像地址1发布 博文nm博文编号博文标题博文内容博文发布时间博文点赞数目是否公开评论sms评论评论编号 评论内容评论时间关注用户关注关注关系编号nm六、逻辑结构设计用户表: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 NULL,content text NOT

11、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 KEY (groupId) REFERENCES t_gro

12、ups (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),KEY FK9C91B13FEE22533 (userId),CON

13、STRAINT 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 datetime NOT NULL,articleId varchar(32) DEFAU

14、LT 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 FKF437E194FEE22533 FOREIGN KEY (userId) REFERENCES t_user (id) ENG

15、INE=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),KEY FK69B62BFFFEE22533 (userId),CONSTRAINT FK69B62BFFFEE2

16、2533 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 NULL,mobile varchar(32) NOT NULL,name varchar(32) NOT NULL

17、,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;九、数据库运行与维护(一)用户登录(二)用户注册填写个人信息(三)用户上传头像(四)登录成功显示个人主页,以及管理博文(五)博客园(六)发布博文(七)查看博文(八)评论博文(九)查看评论十、系统安装说明1、往 mysql 数据库新建 blog 数据库2、导入源代码中的 sql 脚步文件:

18、 /Blog/blog.sql3、修改程序中的配置文件:/Blog/src/com/resource/jdbc.mysql.properties修改数据库连接和账号密码4、启动 tomcat 服务器,程序即启动5、打开浏览器访问:http:/localhost:8080/Blog/十一、收获与体会这次的大作业是一个自己写的 java web 小项目,用了个小的ORM 框架 MyBatis,由于最近比较忙,所以很多没时间写,是在以前自己写的代码的基础上重构的,虽然经过一年多的的沉淀自己的能力也成长了不少,在系统的设计的和框架的搭建有了很多的改进,但由于时间有限,所以很多设想好的功能都没时间去实现

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

20、BaseDao 数据操作类公共父类com.dao.UserDao 用户数据操作类com.dao. GroupsDao 分组数据操作类com.dao.ArticleDao 文章数据操作类com.dao.CommentDao 评论数据操作类com.dao.AttentionDao 关注关系操作类com.service.BaseService 逻辑处理类公共父类com.service.UserService 用户逻辑处理类com.service.GroupsService 分组逻辑处理类com.service.ArticleService 文章逻辑处理类com.service.CommentServ

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

22、监测控制器com.servlet.LoginServlet 登录控制器com.servlet.UpdateUserInfoServlet 修改用户信息控制器com.servlet.RedactServlet 获取分组信息控制器com.servlet.AddGoupsServlet 添加分组控制器com.servlet.DeleteGoupsServlet 删除分组控制器com.servlet.LookGoupsArticleServlet 查看分组文章控制器com.servlet.PublishServlet 发布博文控制器com.servlet. ReadArticleServlet 浏览博

23、文控制器com.servlet. CommentServlet 评论博文控制器com.servlet. DeleteCommentServlet 删除评论控制器com.servlet. FindAllArticleServlet 跳转到博客园控制器com.servlet. ReturnIndexServlet 返回首页控制器com.servlet. SelectArticleOfUserServlet 用户管理博文翻页控制器com.servlet. SelectArticleServlet 博客园翻页控制器com.servlet.DeleteArticleServlet 用户删除博文控制器co

24、m.servlet.AttentionOtherServlet 关注博主控制器com.servlet.CancelAttentionArticleServlet 取消关注控制器com.servlet.ToOtherUserIndextServlet 去其他用户首页控制器com.servlet.FindArticleServlet 查找博文控制器com.servlet.LookArticleOfAttentionServle 浏览关注所以用户的博客com/resource/mybatis-config.xml Mybatis 的配置文件以上的类内部的方法的作用和注释都在源代码里面有介绍,所以在这

25、里就不多做介绍,主要就是对 DAO 层的增删查改的操作,也对这个项目的唯一亮点就是 ORM 框架的使用,即数据库持久层的也十分对应本次课程设计的主题(2)关键部分源代码(一)MyBatis 的配置以及辅助工具类src/com/resource/jdbc.mysql.properties:jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql:/127.0.0.1/blogjdbc.username = rootjdbc.password = rootsrc/com/resource/mybatis-config.xml:src/com/

26、po/user.xml:insert into t_user(id,username, password,name,sex,mobile,email,imageurl) values (#id,#username,#password,#name,#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 = #imageur

27、l where id = #idselect * from t_user where username = #usernameselect * from t_user where id = #idselect * from t_user order by rand() limit 9src/com/po/article.xml:insert intot_article(id,userId,groupId,title,date,content,praise,isPublish)values(#id,#userId,#groupsId,#title,#date,#content,#praise,#

28、isPublish)delete fromt_article where id = #idselect * from t_article where isPublish = 1 order bydate desc limit#firstResult,#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

29、_article where groupId = #groupsIdselect * from t_article where userId = #condition order bydate desc limit #firstResult,#maxResultsselect * from t_article where userId = #userIdselect * from t_article where isPublish = 1src/com/po/comment.xml:insert intot_comment(id,content,articleId,date,userId) v

30、alues(#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/com/po/attention.xml:insert into t_attention (id,attentionId,userId)values (#id,#attentionId,#userId)delete from t_attention where id = #idsrc/com/po/groups.xml:insert into t_groups (id,groupName,userId)values (#id,#groupName,#userId)delete from t_groups where id = #idselect * from t_groups where userId = #userId

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报