数据库课程设计报告.docx

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

数据库课程设计报告.docx

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

数据库课程设计报告.docx

数据库课程设计报告

 

本科生课程设计

 

课程名称

数据库课程设计

课程编号

学号

学生姓名

所在专业

计算机科学与技术

所在班级

计科1114

指导教师

成绩

教师签字

年月日

 

课程设计时间:

2013年12月18日

至2013年12月21日

目录

设计总说明I

第1章需求分析3

1.1.具体功能3

1.2.数据流图3

1.3.数据字典3

1.3.1.学生基本信息数据字典3

1.3.2.课程信息数据字典4

1.3.3.学生选课数据字典4

第2章概念结构设计4

第3章逻辑结构设计7

第4章物理结构设计7

4.1.建立索引的依据7

4.2需要建立索引的属性8

4.3确定数据库的存储结构8

第5章系统实现8

优缺点及自我评价8

参考文献8

 

设计总说明

(1)系统开发目的

学生信息管理系统主要用来管理学生基本信息和选课信息。

本系统是一个简单的学生信息管理系统,系统管理的心声主要是学生基本信息、课程信息和学生选课信息。

系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。

(2)开发内容

学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:

◆学生基本信息管理,主要负责管理学生基本信息。

◆学生选课信息管理,主要负责管理学生选课信息。

◆课程信息管理,主要负责课程信息。

◆系统管理,主要负责管理用户信息和用户登陆。

(3)开发要求

学生信息管理系统是学校管理学生的有效方法,也是学生学生查询信息的有效

途径。

一个好的学生信息管理系统应具有以下这些目标:

 

◆ 能够管理所有学生的信息。

 

◆ 能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。

 ◆ 减少学校管理学生的工作任务,降低管理成本。

(4)开发环境及工具

操作系统:

WIN7

数据库管理系统:

SQLServer2005

高级程序设计语言:

JAVA

(5)系统功能简介

本系统的开发主要是针对教师和学生信息管理员来进行的。

主要的功能是实现对学生基本信息、课程信息、学生选课信息的管理。

包括对各个信息模块里面信息的增加,修改,删除还有查询。

 

数据库原理及应用课程设计报告

第1章需求分析

1.1.具体功能

系统开发的总体任务是实现各种信息的系统化、自动化。

系统功能分析是在系统开发的总体任务的基础上完成。

本学生管理系统需要完成功能主要有:

●用户登录:

固定一个管理员用户(目前暂未实现不同用户不同权限功能

●学生基本信息管理:

实现管理人员对学生信息的添加,修改,删除和查询

●课程信息管理:

实现管理人员对课程信息的添加,修改,删除和查询

●学生选课信息管理:

实现管理人员对学生选课信息的添加,修改,删除和查询

1.2.数据流图

 

1.3.数据字典

1.3.1.学生基本信息数据字典

属性名

类型

长度

备注

学号

char

10

学生的学号

姓名

char

10

学生姓名

性别

char

10

男/女

年龄

char

10

系别

char

10

所属系别

1.3.2.课程信息数据字典

属性名

类型

长度

备注

课程号

char

10

主键

课程名

char

10

任课老师

char

10

授课的老师

学时

char

10

所需的课时

学分

char

10

学分分值

1.3.3.学生选课数据字典

属性名

类型

长度

备注

学号

char

10

学生的学号

课程号

char

10

所选课程的课程号

成绩

char

10

选修的成绩

第2章概念结构设计

本学生信息管理系统主要有三个模块,每个模块的基本功能都是实现对本模块信息管理的添加,修改,删除和查询功能。

下面以学生基本信息模块为例进行分析:

查询功能:

N

Y

添加功能:

Y

N

更新功能:

删除功能:

总E_R图:

第3章逻辑结构设计

在概念设计的基础上,根据设计得到系统总的E-R图,按照概念模式与关系表转化的一般规则,结合实际的需要进行逻辑设计,E-R图中的实体、实体的属性和实体之间的联系转换为关系模式。

最后声称的关系及关系表如下:

1.学生信息(学号,姓名,性别,年龄,系别)

2.课程信息(课程号,课程名,任课教师,学时,学分)

3.选课表(学号,课程号,成绩)

第4章物理结构设计

4.1建立索引的依据

所谓选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引、哪些属性列建立组合索引、哪些索引要设计唯一索引等。

根据本信息系统的具体情况,建立索引的依据如下:

1、一个属性经常在查询条件下出现

2、一个属性经常作为最大值或最小值等聚集函数的参数

3、一个属性经常在连接操作的连接条件出现

4.2需要建立索引的属性

属性

对应实体

学号

学生

课程号

课程

4.3确定数据库的存储结构

本部分主要是确定数据库物理结构,即确定数据的存放位置和存放结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。

由于本系统属于极小型系统,而且是单机版的,所以在存取时间、存储空间利用率和维护代价上都没有太大的影响,因此不对其进行细节性分析,所以讲所有文件都统一放在一个文件夹中,便于文件的管理。

第5章系统实现

通过DBMS提供的数据语言(T-sql)及宿主语言(java),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并运行调试。

连接数据库的代码(SqlConnection)

publicclassSqlConnection{

privatestaticConnectionconn=null;

privatestaticStatementstmt=null;

static{

try{

//定义数据库驱动类

Stringdbdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";

//定义数据库连接URL

Stringdburl="jdbc:

sqlserver:

//localhost:

1433;DatabaseName=student";

//定义数据库连接用户名

Stringdbuser="sa";

//定义数据库连接密码

Stringdbpassword="123456";

Class.forName(dbdriver);

System.out.println("数据库驱动程序注册成功");

conn=DriverManager.getConnection(dburl,dbuser,dbpassword);

System.out.println("数据库连接成功");

conn.setAutoCommit(false);//设置自动提交为false

stmt=conn.createStatement();

}catch(Exceptione){

JOptionPane.showMessageDialog(null,"数据库连接失败!

","错误",JOptionPane.ERROR_MESSAGE);//错误提示对话框

System.exit(0);

}

}

//执行对数据库的更新功能

publicstaticintexecuteUpdate(Stringsql){

inti=0;

try{

i=stmt.executeUpdate(sql);

mit();//提交事务

}catch(SQLExceptione){

System.out.println("出错啦");

//e.printStackTrace();

}

System.out.println(i);

returni;

}

//执行对数据库的查询功能

/**

*@paramsql:

T-sql语言

*@return

*/

publicstaticResultSetexecuteQuery(Stringsql){

ResultSetrs=null;

try{

rs=stmt.executeQuery(sql);

}

catch(Exceptione){

System.out.println("执行查询失败");

}

returnrs;

}

//查询学生全部情况

//publicstaticString[]FindAll(DefaultListModeldlm,Stringheader,intcolumnNum,Stringmess){

publicstaticDefaultListModelFindAll(DefaultListModeldlm,Stringheader,intcolumnNum,Stringmess){

ResultSetrs=null;

rs=executeQuery(mess);

StringnewData="";

dlm.addElement(header);

try{

while(rs.next()){

for(inti=0;i

newData=newData+rs.getString(i+1)+"";

}

//newData+=";";

dlm.addElement(newData);

newData="";

}

}catch(SQLExceptione){

e.printStackTrace();

}

//header+=newData;

//String[]StuData=header.split(";");

//jListlist=newlist;

//returnStuData;

returndlm;

}

/**

*@paramsqlString:

T-sql语言

*判断在该查询语句中,是否存在数据元组

*@return

*/

publicstaticbooleanisExists(StringsqString){

ResultSetrs=null;

//运用next()的方法返回结果中的行

try{

rs=executeQuery(sqString);

if(rs.next()){

returntrue;

}else{

//JOptionPane.showMessageDialog(null,"");

returnfalse;

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

//关闭与数据库的连接

try{

rs.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

returnfalse;

}

publicstaticvoidcloseSql(){

try{

conn.close();

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

界面切换的代码块(PanelUtil.java)

publicclassPanelUtil{

privatePanelUtil(){

}

publicstaticvoidchangPanel(JFramejFrame,JPanelnewPanel){

jFrame.getContentPane().removeAll();//清空Panel里原有的内容

jFrame.getContentPane().add(newPanel);//重新加入新的Panel的内容

jFrame.getContentPane().validate();//使Panel的内容生效

jFrame.getContentPane().repaint();//重画界面

}

}

优缺点及自我评价

优缺点

缺点:

本系统目前只能给管理员登陆使用,没有设置给学生登陆查询的功能。

添加信息的时候只能一次添加一条,不能实现一次添加多条的功能;查询信息的时候也是只能一次查询一个,没有实现模糊查询。

优点:

本系统有三个模块,可以分别对学生信息,课程信息和选课信息进行增删改和查询操作,便于管理员对各项信息的管理。

自我评价;

开始做课程设计之前,我完全没有接触过Java的有关知识。

确定要用Java语言进行开发系统之后,先自己找了有关的视频进行自学,花了挺长的一段时间在看视频,后面开始做系统的时候才发现光从看视频学到的知识还是远远不够用的,期间遇到很多不懂的地方,都通过问同学,查API文档还有在网上查找相关知识一一解决了。

不过觉得这个系统的功能还不是特别齐全,今后有时间我会慢慢把它完善。

通过完成课程设计,意识到了自己很多知识都掌握得不够好,今后需要更加努力的学习好专业知识。

参考文献

[1]王珊,萨师煊.数据库系统概论[M].第4版.高等教育出版社,2006.

[2]朱福喜.面向对象与Java程序设计[M].第1版.清华大学出版社,2009.

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

当前位置:首页 > 自然科学

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

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