数据库原理课程设计学院计算机学院专业软件工程班级2012级4班学号3112006291姓名林炳城指导教师周俭铁(2015年1月)目录数据库原理课程设计......................................................................................................................1一、课程设计目的...................................................................................................................5二、背景和可行性分析...........................................................................................................5三、相关技术介绍...................................................................................................................5四、需求分析...........................................................................................................................6五、概念结构设计.................................................................................................................11六、逻辑结构设计.................................................................................................................11七、物理结构设计.................................................................................................................12八、数据库实施.....................................................................................................................13九、数据库运行与维护.........................................................................................................15十、系统安装说明.................................................................................................................21十一、收获与体会.................................................................................................................21十二、各模块程序说明附录.................................................................................................22一、课程设计目的本次课程设计的目的在掌握数据库系统概论的基础上,了解数据库系统的设计和应用,掌握数据库系统相关设计方法和思想,希望能通过本次的课程设计,达到巩固和综合应用数据库系统概论的原理和知识,本次要突出一个完整的面向应用的数据库的设计和应用的过程,,至于如何实现模块功能细节的则可以省略,通过本次报告的设计撰写情,来达到锻炼的目的。二、背景和可行性分析1、课程设计选题:因为本次课程设计要选择与数据库联系紧密,并且关于数据库的操作丰富的题目,再根据本人所掌握的知识考虑,由于我学过javaweb的程序开发,所以我选择了做的题目的是——javaweb个人博客系统2、题目描述个人博客网站的功能主要是为博客用户设计开发的,用户进入博客网站后,有两种选择,注册新用户、登录。由于是个人网站所以只支持注册用户查看文章,注册后经由管理员同意即为注册成功,注册成功的用户可以获取自己的博客空间,登陆成功后,用户可以发布、查看、修改和删除自己的博客,也可以浏览别人公开的博客文章,并且对文章进行评论,转载和点赞,也可以修改自己的个人信息,这个题目对于数据库的操作十分丰富,所以作为本次课程是个十分符合要求的题材三、相关技术介绍1、开发环境(1)、系统环境Windows8.1(2)、数据库系统MysqlServer5.25(3)、软件环境JDK1.7---------------java开发环境Eclipceforj2ee4.03---------------IDETomcat7.0---------------WEB服务器3、系统机构设计——传统MVC模式项目的分层可细分为视图层(View),控制器层(Controller),业务逻辑层(Service),和数据访问层(DAO),持久化对象层(PO)视图层(V)——由jsp呈现控制器层(C)——由Servlet充当,用于前端后台进行数据交换中间层(M)——业务逻辑层(Service),和数据访问层(DAO),持久化对象层(PO)组成视图层控制器层service层dao层(jsp)(servlet)(中间层)四、需求分析1、系统总体结构2、系统用例图即两种用户:(1)、普通用户、(2)、系统管理员个人博客系统用户博客管理系统博客后台管理系统用户界面,负责业务数据的收集和表示,客户端校验MVC架构的控制器控制业务逻辑层与表现层的交互业务逻辑的表现层数据库访问对象存放数据数据库服务(MySQL)普通用户登陆注册修改信息发布博文查看博文修改博文删除博文用户信息管理博客信息管理博客园系统功能搜索博文查看博文评论博文关注用户系统管理员用户管理同意注册查看用户信息封禁用户系统管理屏蔽删除博客信息屏蔽删除评论信息置顶文章管理系统图片extendsusesusesusesextendsextendsextendsextendsextendsextendsextendsextendsextendsextendsextendsusesusesextendsextendsextendsextendsextendsextendsextends3、系统活动图(1)、普通用户系统用户登陆用户注册注册成功管理员同意管理博文管理评论查看博文退出登录(1)、后台管理系统登陆用户管理博文评论管理系统配置信息管理4、数据流图(1)、个人博客管理信息第一层数据流图之一————普通用户系统1.0用户信息管理用户信息表博文信息表评论信息表关注用户信息表普通用户登陆、注册、查看、修改用户信息登陆、注册、查看、修改用户信息反馈2.0博文信息管理发布、查看、修改、删除博文信息发布、查看、修改、删除博文信息反馈3.0评论信息管理评论博文、查看、删除评论评论博文,查看、删除评论反馈4.0关注用户信息管理关注、取消关注关注、取消关注用户反馈用户信息表博文信息表用户信息表用户信息表博文信息表用户信息表(2)、个人博客管理信息第一层数据流图之二————后台管理系统管理员用户5.0管理全部用户信息6.0系统管理同意用户注册、查看、屏蔽、删除用户信息用户信息表博文信息表评论信息表查看、删除、屏蔽信息操作7.0系统配置管理系统配置信息表修改系统配置系统配置信息表系统配置信息修改反馈同意用户注册、查看、屏蔽、删除用户信息用户信息表博文信息表评论信息表查看、删除、屏蔽信息操作5、数据字典普通用户信息表(t_user)属性类型描述中文英文用户编号idchar(32)主键用户账号usernamevarchar(200)用户密码passwordvarchar(200)用户真实姓名namevarchar(200)用户电话mobilevarchar(200)用户邮箱emailvarchar(200)用户头像地址imageurlvarchar(200)用户类比typevarchar(200)是够同意注册isPassInt关注用户信息表(t_attentionr)属性类型描述中文英文评论编号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)主键用户编号userIdchar(32)外键,关联用户表博文编号articleIdchar(32)外键,关联博文表评论内容contentvarchar(200)评论时间datevarchar(200)五、概念结构设计E-R图用户用户编号用户账号用户密码用户真实姓名用户电话用户邮箱用户头像地址1发布博文nm博文编号博文标题博文内容博文发布时间博文点赞数目是否公开评论sms评论评论编号评论内容评论时间关注用户关注关注关系编号nm六、逻辑结构设计用户表:t_user文章分组表:t_groups文章表:t_article评论表:t_comment关注表:t_attention七、物理结构设计八、数据库实施------------------------------Tablestructurefor`t_article`------------------------------DROPTABLEIFEXISTS`t_article`;CREATETABLE`t_article`(`id`varchar(32)NOTNULL,`content`textNOTNULL,`date`datetimeNOTNULL,`isPublish`bit(1)NOTNULL,`title`varchar(100)NOTNULL,`groupId`varchar(32)NOTNULL,`praise`int(11)NOTNULL,`userId`varchar(32)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`id`(`id`),KEY`FK8FEAC02BD8567870`(`groupId`),CONSTRAINT`FK8FEAC02BD8567870`FOREIGNKEY(`groupId`)REFERENCES`t_groups`(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--------------------------------Tablestructurefor`t_attention`---------------------