数据库课程设计 CD管理系统.docx
- 文档编号:9664141
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:22
- 大小:287.91KB
数据库课程设计 CD管理系统.docx
《数据库课程设计 CD管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计 CD管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
数据库课程设计CD管理系统
课程设计报告
课程名称数据库课程设计—设计文档
题目个人CD盘管理系统
_________________________________
指导教师田英爱
设计起止日期2010.09.01-11.05
学院计算机学院
系别专业计算机科学与技术
学生姓名邓由由
组员邓由由
班级/学号B计科0701/2007011571
成绩___________________
目录
1概述3
2系统需求分析4
3系统总体结构(概要设计)4
4基本界面设计5
5详细设计8
5.1基本库基本表的建立及维护8
5.2存储过程的定义10
5.3触发器的定义10
5.4应用系统的详细设计11
6系统编码13
7系统测试15
1概述
个人CD盘管理是音乐爱好者管理其正版CD的重要工具,对于海量音乐CD的管理来说至关重要,所以个人CD管理系统应该能够为用户提供充足的信息和快捷的查询手段。
传统的人工方式管理方式效率低,不利于查找、更新和维护。
使用计算机对你喜爱的歌手们的CD信息进行管理,能够极大地提高CD管理的效率,节约CD盘管理所要耗费的精力,这也是适应现代社会快速发展趋势的重要因素。
作为计算机应用的一部分,使用计算机对个人的一些信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高信息存储和管理的效率,也是实现的科学化、正规化管理,与当代社会接轨的重要条件。
因此,开发这样的管理软件成为很有必要的事情。
个人CD盘管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据库一致性和完整性、安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用的特点。
经过分析,使用体积小、速度快的MySQL作为开发工具,利用其提供的各种面向对象的开发工具,特别是其方便的可视化SQL开发工具MySQLWorkbench,尤其是数据库窗口这一功能强大而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原形,然后对初始原型系统进行需求分析,不断修正和改进,直到形成用户满意的可行系统。
个人CD盘管理系统要实现的目标是为音乐爱好者的CD盘管理提供解决方案,具体目标如下:
1) 提高个人CD盘管理效率,节约管理成本。
2) 满足CD盘管理的人员各方面的需要。
3)为将来的功能扩展提供必要的支持。
总之,通过该系统的建设来提高音乐爱好者的管理效率,并在系统设计的过程中学习到更多的数据库及J2EE方面的知识。
2系统需求分析
本系统实现了和数据库(MySQL)的连接,完成一个小型的音乐CD收藏管理系统。
该CD管理系统应该具有以下的功能:
(1)本系统需要登录方可进入主CD管理页面,即有登录功能;
(2)只有合法的用户才能登录到管理系统,为此提供一个注册用户的功能;
(3)进入管理系统后可以添加CD信息;
(4)在管理系统中可以修改注册用户的一些信息;
(5)在管理系统中可以查找到想要的CD信息;
(6)在管理系统中对已经存在的CD信息进行重新编辑;
(7)在管理系统中可以将摸个CD信息删除。
3系统总体结构(概要设计)
4基本界面设计
图1用户注册
图2注册成功
图3注册失败
图4用户登录验证
图5进入管理控制台
图6添加音乐信息
图7查询音乐信息
图8修改用户密码
5详细设计
5.1基本库基本表的建立及维护
以下表格由MySQLWorkbench设计;
Database:
rms;
基本表1CD盘信息表cdinfo
数据字典:
cdId:
cd编号;
cdName:
cd名称;
cdCompany:
cd公司;
cdAlbum:
cd歌手;
cdTypeId:
cd类型的ID
主键:
cdId自动增长;
外键:
cdTypeId引用基本表cdtype中的cdTypeId;
数据库代码:
DROPTABLEIFEXISTS`cdinfo`;
CREATETABLE`cdinfo`(
`cdId`int(10)unsignedNOTNULLauto_increment,
`cdName`varchar(45)NOTNULL,
`cdCompany`varchar(45)NOTNULL,
`cdAlbum`varchar(45)NOTNULL,
`cdTypeId`int(10)unsignedNOTNULL,
PRIMARYKEY(`cdId`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
基本表2CD盘类型cdtype
数据字典:
cdTypeId:
cd类型的ID
display:
cd类型显示(流行音乐或古典音乐)
主键:
cdTypeId引用基本表cdinfo中的cdTypeId
数据库代码:
DROPTABLEIFEXISTS`cdtype`;
CREATETABLE`cdtype`(
`cdTypeId`int(10)unsignedNOTNULLauto_increment,
`display`varchar(45)NOTNULL,
PRIMARYKEY(`cdTypeId`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
基本表3CD盘用户表user
数据字典:
userId:
用户的ID;
userName:
用户名;
userPwd:
用户密码;
主键:
userId
数据库代码:
DROPTABLEIFEXISTS`user`;
CREATETABLE`user`(
`userId`int(10)unsignedNOTNULLauto_increment,
`userName`varchar(45)NOTNULL,
`userPwd`varchar(45)NOTNULL,
PRIMARYKEY(`userId`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
5.2存储过程的定义
存储过程proc_page如下,用于CD查询
----------------------------------------------------------------------------------
--RoutineDDL
----------------------------------------------------------------------------------
DELIMITER$$
CREATEDEFINER=`root`@`localhost`PROCEDURE`proc_page`(
INPageint,
INperPageRecordsint,
INselectValuechar(100),
OUTtotal_pagesint)
BEGIN
select*fromCDinfo
wherecdNamelikeselectValue;
END
5.3触发器的定义
这是一个简单的触发器test,用于插入新的CD盘信息时给出提示信息
--TriggerDDLStatements
DELIMITER$$
USE`rms`$$
CREATE
DEFINER=`root`@`localhost`
TRIGGER`rms`.`Test`
BEFOREINSERTON`rms`.`cdinfo`
FOREACHROW
BEGIN
SET@x='Triggerwasactivated!
';
SET@NEW=new.cdCompany+'COM';
END$$
5.4应用系统的详细设计
本系统是一个典型的数据库管理系统,主要目标是让音乐爱好者使用它管理CD盘,对CD盘的各种基本信息的录入、修改、删除等操作,考虑到用户的安全性问题,特别设计了登录验证模块。
根据需求分析中列出的CD盘管理系统的两个基本模块,设计了如下图所示的CD盘管理系统总体结构示意图。
由上述的系统总体结构图所示,将一个开发的CD盘管理系统分成两大模块,用户模块和CD盘管理模块,他们又具体分为五个子模块:
系统用户登录模块、新增CD盘信息模块、查询和编辑信息模块、登录用户修改密码模块和退出系统模块;通过这些子模块完成各项功能,如用户登录模块用于用户登录验证,CD盘信息管理模块主要完成对CD盘信息的录入、查询、删除与编辑。
根据该系统功能分析,该软件主要有5个功能模块,具体功能描述如下:
(1)系统用户管理:
●添加用户信息,包括用户名和密码。
●修改口令,包括旧密码、新密码和确认密码。
(2)CD盘信息管理:
●添加CD盘的相关信息,包括名字、公司、歌手和类型。
●查询和编辑CD盘的信息,包括查询用音乐名字来CD盘信息,对查询结果进行编辑更新或直接删除。
●修改密码:
修改当前用户的密码,包括旧密码验证、输入新密码和确认密码。
●退出:
注销当前用户,安全退出。
系统组成:
CD盘系统文件结构
文件名
功能
servlet
AddServlet.java
添加CD信息
ChangeServlet.java
修改用户信息
CheckServlet.java
验证用户登录信息
DelServlet.java
删除CD信息
EditServlet.java
编辑CD信息
RegServlet.java
注册用户
SelectServlet.java
查询CD信息
Operater.java
处理用户操作
JavaBean
CDBean.java
用于封装CD的属性
DataBean.java
用于封装与数据库连接及一些功能的方法
UserBean.java
用于封装用户信息
JSP
login.jsp
登录页面
index.jsp
首页控制台
change.jsp
修改用户密码页面
add.jsp
添加CD盘信息页面
del.jsp
删除CD盘信息页面
edit.jsp
编辑CD盘信息页面
reg.jsp
注册用户页面
select.jsp
查询CD盘信息页面
6系统编码
数据库部分:
数据库连接
publicDataBean(){
try
{
Stringurl="jdbc:
mysql:
//localhost:
3306/rms?
useUnicode=true&characterEncoding=utf8";
Stringuser="root";
Stringpassword="876615";
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,user,password);
System.out.println("连接MySQL数据库成功!
!
");
}
catch(SQLExceptionex)
{
System.out.println(ex.getMessage()+"路径错误");
}
catch(ClassNotFoundExceptionex)
{
System.out.println(ex.getMessage()+"驱动错误");
}
}
数据库部分:
过滤非法字符
publicbooleancheckParameter(Stringpara)//过滤非法字符
{
intflag=0;
flag+=para.indexOf("'")+1;
flag+=para.indexOf(";")+1;
flag+=para.indexOf("1=1")+1;
flag+=para.indexOf("|")+1;
flag+=para.indexOf("<")+1;
flag+=para.indexOf(">")+1;
if(flag!
=0)
{
System.out.println("提交了非法字符!
!
!
");
returnfalse;
}
returntrue;
}
数据库部分:
调用存储过程
publicArrayListselectCDBean(StringselectValue,intpage,intcount)//查询分页
{
ArrayListlist=newArrayList();
if(!
checkParameter(selectValue))
{
selectValue="";
}
try
{
proc=conn.prepareCall("{callproc_page(?
?
?
?
)}");
proc.setInt(1,page);
proc.setInt(2,count);
proc.setString(3,selectValue);
proc.registerOutParameter(4,Types.INTEGER);//OUT参数返回总共页数
System.out.println(page);
rs=proc.executeQuery();//接收存储过程的结果集
while(rs.next())//提取结果集的每条记录
{
CDBeancb=newCDBean();
cb.setCdAlbum(rs.getString("cdAlbum"));
cb.setCdCompany(rs.getString("cdCompany"));
cb.setCdName(rs.getString("cdName"));
cb.setCdId(rs.getLong("cdId"));
cb.setCdType(getCDType(rs.getInt("cdTypeId")));
list.add(cb);
}
PAGECOUNT=proc.getInt(4);
}
catch(SQLExceptionex)
{
ex.printStackTrace();
}
returnlist;
}
7系统测试
系统测试图1用户注册登录
数据库里的用户信息:
使用已存在的用户名或者带有非法字符注册显示注册失败信息:
系统测试图2CD信息管理
添加CD盘信息
当前数据库里的CD信息如下:
查询数据库里的CD信息:
图7查询音乐信息
编辑CD盘信息:
数据库里的更新结果:
登录用户修改自己的密码:
图8修改用户密码
至此,系统功能演示完毕,退出系统,返回登录界面。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库课程设计 CD管理系统 数据库 课程设计 CD 管理 系统