数据库课程设计单词小助手模块图文_第1页
数据库课程设计单词小助手模块图文_第2页
数据库课程设计单词小助手模块图文_第3页
数据库课程设计单词小助手模块图文_第4页
数据库课程设计单词小助手模块图文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-装- - 订 -线- 班级 13计算机科学与技术2班 姓名 学号 - 广 东 财 经 大 学 答 题 纸(格式二)课程 数据库应用课程设计 20152016学年第一学期课程代码 116222 课程班级及班号 成绩 评阅人 评语( )评价项目好一般差评分标准程序运行情况(占总成绩20%)能正确运行(20分) 基本能正确运行(10-15分) 能运行但结果不完善(10分)程序功能的完善程度(占总成绩10%)完善(10分);基本完善(8分) 不完善(5分)程序结构的合理性(占总成绩10%)合理(10分);基本合理(8分)不太合理(5分)学生的工作态度与独立工作能力(占总成绩10%)工作态度认真能独立

2、完成任务(10分)工作态度认真但独立性较差(8分)工作态度基本认真但缺乏独立性(5分)对问题的答辩情况(占总成绩30%)概念正确有创新能正确回答所有问题(30分)基本能正确回答(20分)部分问题回答概念不清晰(10分)设计报告撰写的规范性符合规范(20分)基本符合规范(10-15分)规范性较差(10分)总成绩u (题目)数据库应用课程设计课程设计要求:设计目的与任务u 数据库应用课程设计是实践性教学环节之一,通过课程设计,加深学生对数据库系统的基本概念、原理和技术的理解和掌握,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库应用系统的设计与实现,并

3、在此基础上提高实际动手能力和创新能力。主要任务是:(1)、掌握关系数据库的设计方法; (2)、掌握运用软件工程中的软件开发方法进行系统分析、设计与实现;(3)、掌握利用某种语言环境进行程序设计与调试的方法。设计环境u windows操作系统,数据库管理系统sql server、oracle等,以及相关开发工具。(注:开发工具不限,软件开发语言可自选:如vc6.0、vb6.0 、java、asp.net、c#、delphi等)。设计要求u 要求完成一个具有一定实用价值的小型数据库应用系统的设计,(自行选择课程设计题目如:图书管理系统、库存物资管理系统、学生宿舍管理信息系统等)。 要求学生根据所学

4、的数据库系统原理与程序设计的知识,针对选题的数据库应用系统,进行系统的需求分析,系统设计,数据库设计(包括概念结构设计、逻辑结构设计、物理结构设计、数据库实施),编码,测试等设计过程,实现选题要求的功能,从而开发出一个具有一定实用价值的小型数据库应用系统。 主要任务包括:通过相关资料查阅和学习,了解基本的业务流程和系统数据功能要求,完成需求分析,画出数据流图及数据字典。在microsoft sql server 2000/2005/2008等环境下建立小型应用系统所使用的数据库,利用企业管理器或查询分析器建立各种数据库对象,包括:数据表、视图、约束、存储过程和触发器等;利用熟悉的开发工具或语言

5、开发数据库应用程序。要求:使用sql语言进行数据操纵;在设计中要运用视图;功能上应具备与应用有关的对基本数据的输入、修改、删除、查询等操作;应有一定的安全性控制。u 设计不得与他人雷同。(学生设计正文)-英语单词小助手课程设计-前言或题目 英语单词助手模块目录一.概述41.1项目背景41.2编写目的41.3软件定义41.3.1 sql server简介41.3.2 java简介41.4开发环境4二.需求分析52.1需求描述52.2数据流图52.3数据字典6三.概念结构设计73.1 e-r图7四.逻辑结构设计及物理结构设计84.1 初始关系模式8五.软件功能设计9六代码设计和界面设计106.1部

6、分主要功能代码106.2部分主要界面截图12七总结15八参考文献15九附录17一.概述1.1项目背景随着社会的发展,人们对于知识的需求也在不断地增长。美国作为发达国家,在社会地位上占有主要地位根据以英语作为母语的人数计算,英语是最多国家使用的官方语言,英语也是世界上最广泛的第二语言,也是欧盟,最多国际组织和英联邦国家的官方语言,拥有世界第三位的母语使用者人数,仅少于汉语和西班牙语母语使用者人数。在19至20世纪的,英国和美国在文化、经济、军事、政治和科学在世界上的领先地位使得英语成为一种国际语言。如今,许多国际场合都使用英语做为沟通媒介。英语也是与电脑联系最密切的语言,大多数编程语言都与英语有

7、联系,而且随着网络的使用,使英文的使用更普及。英语是联合国的工作语言之一。 一些人认为低地苏格兰语是与英语最接近的一个独立语言,而一些人则认为它是英语的一个方言。与古英语最接近的是古弗里西语,这种语言现在仍然德国北部和荷兰的弗里斯兰省使用。苏格兰语、低地撒克逊语、丹麦语、德语、荷兰语、南非荷兰语和英语也很接近。拥有丹麦血统的法国的诺曼人于11世纪征服英格兰王国,带来数万法语词汇和拉丁语词汇,很大程度地丰富了英语词汇外,相对也驱使不少原生的日耳曼语汇作废。1.2编写目的 英语学习助手换言之也就是英语小词典,做出来的难点之一是词汇的问题,要想做好检索,一定要有一定的词汇量。基本表由3部分组成,总词

8、汇表、例句表、测试题表。前台界面有html(超文本语言)完成,后台的连接由jsp(java sever page)完成。整个界面划分成左右结构,左边用作导航栏,可以直接选择单词检索、单词查询、单词测试的按钮完成整个数据库的操作。而且用web技术完成数据库的设计是较为经济的办法,因为界面简洁而且java语言是一种面向对象的语言,所以思路简单完成起来也很方便。1.3软件定义1.3.1 mysql server简介 mysql是一个关系型数据库管理系统,由瑞典mysql ab公司开发,目前属于oracle公司。mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在

9、一个大仓库内,这样就增加了速度并提高了灵活性。mysql的sql语言是用于访问数据库的最常用标准化语言。mysql软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择mysql作为网站数据库。由于其社区版的性能卓越,搭配php和apache可组成良好的开发环境。1.3.2 java简介java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于pc、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的

10、开发者专业社群。1.4开发环境window 7,eclipse,mysql 二.需求分析2.1需求描述主要内容包括本课程设计题目、课程设计任务及要求、课程设计思想、软硬件运行环境及开发工具。一、本次课设的题目是英语学习助手,设计的主要任务是单词部分:(1) 实现单词的录入、修改、删除等基本操作(2) 实现单词检索、翻译等(3) 根据难度随机生成一份单词测试题目句子部分(1) 实现常用单词例句录入、修改、删除等基本操作(2) 常用英语单词例句检索短文部分(1) 可以检索出短文及其翻译对照表补充部分(1) 实现数据备份和恢复2.2数据流图2.3数据字典数据元素数据类型长度数据来源用户名varcha

11、r45user表密码varchar45user表wordvarchar45contact表 meaningvarchar45contact表sentencevarchar45contact表sayingvarchar45contact表word1varchar45contact1表meaning1varchar45contact1表sentence1varchar45 contact1表saying1varchar45contact1表wordvarchar45contact2表meaningvarchar45contact2表sentencevarchar45contact2表sayingv

12、archar45contact2表类和对象设计如下三.概念结构设计3.1 e-r图 四.逻辑结构设计及物理结构设计4.1 初始关系模式将e-r图转换成关系数据模式,其中,每个实体转换成一个关系模式,多对多联系转换成独立的关系模式,一对多联系并入多端实体,得到以下初始关系模式:user(用户名,密码) 用户名为主键contact(word,sentence,meaning,saying) (word)为主键contact1(word1,sentence1,meaning1,saying1) (word1)为主键contact2(word2,sentence2,meaning2,saying2)

13、(word2)为主键五.软件功能设计单词助手模块登录界面单词助手主界面主界面单词查询单词概览单词录入单词删除单词记录单词测试单词备份修改密码六代码设计和界面设计6.1部分主要功能代码6.1.1连接数据库代码在代码中要注重修改好数据库使用的驱动和数据源名字的一致性,这样才能保证java与我们所需要的数据库是相一致的,在java上的操作就是在数据库的操作,如下代码:try tryclass.forname(com.mysql.jdbc.driver);catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);tryjava.sql.c

14、onnection conn = drivermanager.getconnection(jdbc:mysql:/localhost:3306/zuoye?user=root&password=123456);java.sql.statement sql;其中不难看出我所需要的数据库驱动为mysql serive,适用的当地的local服务器,是使用身份验证连接数据库的,其中帐号为“root”,密码为“123456”,数据库的名称为“zuoye”。通过运行发现数据库连接成功。6.1.2账户登录主要代码public void confirm() throws sqlexception /验证用户

15、和密码是否存在 try/class.forname(sun.jdbc.odbc.jdbcodbcdriver);class.forname(com.mysql.jdbc.driver);catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);try java.sql.connection conn = drivermanager.getconnection(jdbc:mysql:/localhost:3306/zuoye?user=root&password=123456);java.sql.statement sql; / s

16、tatement sql1=sql.con.createstatement(); string uname=t1.gettext().trim();string mima=t2.gettext().trim(); string querymima=select * from user where 用户名=+uname+ and 密码=+mima+; sql=conn.createstatement();java.sql.resultset rs=sql.executequery(querymima); if(rs.next() new words(uname); f.hide(); conn.

17、close(); else joptionpane.showmessagedialog(null,该用户不存在,提示!,joptionpane.yes_no_option); t1.settext(); t2.settext();catch(sqlexception g) system.out.println(e code+g.geterrorcode(); system.out.println(e m+g.getmessage(); 其中user表中的用户名和密码即为登录的正确信息6.1.3单词添加主要代码public void insertrecord()if(tf1.gettext().

18、equals()|tf2.gettext().equals()|tf3.gettext().equals()|tf4.gettext().equals() joptionpane.showmessagedialog(f3,录入单词信息);return;try/class.forname(sun.jdbc.odbc.jdbcodbcdriver);class.forname(com.mysql.jdbc.driver);catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);tryjava.sql.connection conn

19、= drivermanager.getconnection(jdbc:mysql:/localhost:3306/zuoye?user=root&password=123456);java.sql.statement sql;string s=insert into contact values(+tf1.gettext()+,+tf2.gettext()+,+tf3.gettext()+,+tf4.gettext()+);string query=select * from contact where word= +tf1.gettext();sql=conn.createstatement

20、();java.sql.resultset rs=sql.executequery(query);boolean morerecords=rs.next();/判断结果集是否有数据if(morerecords)joptionpane.showmessagedialog(f3,单词已存在,请重新输入);conn.close();tf2.settext();return;int insert=sql.executeupdate(s); if(insert=1)joptionpane.showmessagedialog(null,单词信息录入成功!);tf1.settext();tf2.settex

21、t();tf3.settext();tf4.settext();catch(sqlexception g)system.out.println(e code+g.geterrorcode();system.out.println(e m+g.getmessage();其他功能代码也与此大同小异,如:图书录入:string s=insert into contact values(+tf1.gettext()+,+tf2.gettext()+,+tf3.gettext()+,+tf4.gettext()+);图书删除:string s=delete from contact where word

22、 = +ql ;图书统计:string s=select * from contact where word =+ql +; statement sql1=sql.con.createstatement(); resultset rs=sql.stmt.executequery(s);while(rs.next() string word=rs.getstring(1);string meaning=rs.getstring(2);string saying=rs.getstring(3);string sentence=rs.getstring(4);ari0=word;ari1=meani

23、ng;ari2=saying;ari3=sentence;i+;count=+i+;l.settext(词库一共有+count+个单词);f.repaint();conn.close();6.2部分主要界面截图登录界面主界面单词概览单词录入单词测试备份修改密码七总结1.这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,不然在后续的工作中会遇到很多的问题。2.这次课程设计加深了我对数据库系统概论相关

24、知识、eclipse和sqlserver2008相关功能的理解。使用起来都比以前更熟练了,通过查资料和请教同学也学到了很多之前不知道的知识。3.当然,在实验的过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改数据库和共能界面前面的结果,导致整个工作进行的不是很顺利。4.通过这个单词助手模块数据库,我学到了很多东西,首先是我必须学会去查找有关物料管理这个系统有关的组成部分和相关的需求,只有弄懂了这些才能得出一个比较合理的结果。5.需求分析是最重要的一步,下面的逻辑分析、关系表和表之间都要在这个基础上来设计,由于时间关

25、系,不能做到很完善,包括e-r图的构思。还有数据库要求数据量充足,数据较多,做起来比较繁琐,录数据将就是一个很大的工程了,虽然这次数据库课程设计要求只做后台,但是由于也要完成一个完整的数据库系统功能,所以工作量还是很大的。做数据库不能急于求成,要理清自己的思路,以免半途而废,从新做。 通过这次数据库课程设计不仅使我对以前学过的知识的巩固,也使我学到了很多新的知识,对整个管理系统有了一个清楚的认识。最重要的是与同学讨论了不少问题,也学到了很多的,还有通过查找资料,也学到了很多。八参考文献【1】赵生慧著.java面向对象程序设计.北京:中国水利水电出版社,2010.8【2】百度百科九附录:数据库连

26、接:public class dbutil public statement stmt;public connection con;preparedstatement pstmt;public dbutil() / sql数据库引擎string jdriver = com.microsoft.sqlserver.jdbc.sqlserverdriver;/ 数据源string connectdb = jdbc:sqlserver:/:1433;databasename=book.mdb;try / 加载数据库引擎,返回给定字符串名的类class.forname(jdriver

27、); catch (classnotfoundexception e) system.exit(0);try string user = sa;string password = 123456;/ 连接数据库对象con = drivermanager.getconnection(connectdb, user, password);/ 创建sql命令对象stmt = con.createstatement(); catch (sqlexception e) e.printstacktrace();system.exit(0);system.out.println(success);主界面:主窗

28、口程序:word.javapackage com.wsy;import .*;import java.sql.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import java.util.*;public class words extends jframe implements actionlistenerjbutton queryscore=new jbutton(单词录入);j

29、button jiangfa=new jbutton(单词修改删除);jbutton gaikuang=new jbutton(单词概况);jbutton chaxun=new jbutton(单词查询);jbutton text=new jbutton(单词测试);jbutton gaimima=new jbutton(修改密码);jbutton backup=new jbutton(备份);jbutton btn=new jbutton();jmenubar mb = new jmenubar();/菜单栏jpanel jp=new jpanel();/用来填放子模块jpanel jp2=

30、new jpanel();container cp=getcontentpane();string username;words()words(string username) jlabel l=new jlabel(); icon icon=new imageicon(c:usersmichael-baodesktop1.jpg); /在此直接创建对象 l.seticon(icon); jp2.add(l);this.username=username;mb.add(queryscore);mb.add (chaxun);mb.add(jiangfa);mb.add(gaikuang);mb

31、.add(text);mb.add(gaimima);mb.add(backup); cp.add(mb,north);jp.setborder(borderfactory.createtitledborder(borderfactory.createlineborder(color.blue, 2),null, titledborder.center, titledborder.top);jp.setlayout(new borderlayout();jlabel label1 = new jlabel(new imageicon(c:usersmichael-baodesktop1.png

32、);label1.setborder(null); jp.add(label1);jscrollpane scrollpane=new jscrollpane(jp);cp.add(scrollpane);settitle(欢迎登陆);toolkit kit=toolkit.getdefaulttoolkit();setlocation(400,200);dimension screen=kit.getscreensize();int x=screen.width; /*取得显示器窗口的宽度*/int y=screen.height; /*取得显示器窗口的高度*/setsize(x,y); /

33、*让系统窗口平铺整个显示器窗口*/setsize(618,600);int xcenter=(x-618)/2;int ycenter=(y-600)/2;setlocation(xcenter,ycenter);/*显示在窗口中央*/setvisible(true);cp.setvisible(true);/f3.setvisible(true);setdefaultcloseoperation(jframe.exit_on_close);/注册临听器queryscore.addactionlistener(this);chaxun.addactionlistener(this);jiang

34、fa.addactionlistener(this);text.addactionlistener(this);gaimima.addactionlistener(this);gaikuang.addactionlistener(this);backup.addactionlistener(this);public void actionperformed(actionevent e)string cmd=e.getactioncommand();if (cmd.equals(单词录入)new bookin();if (cmd.equals(单词修改删除)new removewords();i

35、f (cmd.equals(单词查询)new querywords();if (cmd.equals(单词测试)new text(username);if (cmd.equals(单词概况)new wordsbrower().showrecord();if (cmd.equals(修改密码)new updatemima(username);if (cmd.equals(备份)new backup();public static void main(stringargs)new words();单词查询public void showrecord() throws sqlexception pu

36、blic void showrecord()try/class.forname(sun.jdbc.odbc.jdbcodbcdriver);class.forname(com.mysql.jdbc.driver);catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);try/string url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=book.mdb;/直接使用当前类目录下的数据库文件java.sql.connection conn = driverman

37、ager.getconnection(jdbc:mysql:/localhost:3306/zuoye?user=root&password=123456);java.sql.statement sql;/connection conn=drivermanager.getconnection(url);/statement sql;string ql=tf.gettext().trim();string ql1=tf.gettext().trim();string ql2=tf.gettext().trim();string s=select * from contact where word

38、 =+ql +;sql=conn.createstatement();resultset rs=sql.executequery(s);if(rs.next()string word=rs.getstring(1);string meaning=rs.getstring(2);string sentence=rs.getstring(3);string saying=rs.getstring(4);tf1.settext(word);tf2.settext(meaning);tf3.settext(sentence);tf4.settext(saying);elsejoptionpane.sh

39、owmessagedialog(null,您输入的单词不存在,请重新输入,输入错误, joptionpane.yes_no_option);conn.close();catch(sqlexception g)system.out.println(e code+g.geterrorcode();system.out.println(e m+g.getmessage();tf1.seteditable(false);tf2.seteditable(false);tf3.seteditable(false);tf4.seteditable(false);单词概览public void showrec

40、ord()while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;ari6=;ari7=;ari8=;ari9=;ari10=;ari11=;i-;i=0;tryclass.forname(com.mysql.jdbc.driver);catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);tryjava.sql.connection conn = drivermanager.getconnection(jdbc:mysql:/localhost:3306/zuoye?user=root&pa

41、ssword=123456);java.sql.statement sql;sql=conn.createstatement();/connection conn=drivermanager.getconnection(url);string s=select * from contact ;resultset rs=sql.executequery(s); while(rs.next()string word=rs.getstring(1);string meaning=rs.getstring(2);string saying=rs.getstring(3);string sentence

42、=rs.getstring(4);ari0=word;ari1=meaning;ari2=saying;ari3=sentence;i+;count=+i+;l.settext(词库一共有+count+个单词);f.repaint();conn.close();catch(sqlexception g)system.out.println(e code+g.geterrorcode();system.out.println(e m+g.getmessage();单词测试public void actionperformed(actionevent f)string cmd=f.getactio

43、ncommand();if(cmd.equals(简单) tryclass.forname(com.mysql.jdbc.driver);catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);tryint i,j=0;string word=出现意外,请重复操作;string meaning=出现意外,请重复操作;java.sql.connection conn = drivermanager.getconnection(jdbc:mysql:/localhost:3306/zuoye?user=root&password=1

44、23456);java.sql.statement sql;string ql1=text1.gettext().trim();string t=select * from contact ;sql=conn.createstatement();java.sql.resultset rst=sql.executequery(t);/java.sql.resultset rsa=sql.executequery(a);random random = new random(); i=random.nextint(5)+1; / cp1.showmessagedialog(null, meaning

45、, 标题,joptionpane.warning_message); while(rst.next() j=j+1;/system.out.println(j);if(j=i)word=rst.getstring(1);meaning=rst.getstring(2);system.out.println(word);text1.settext(word); trythread.sleep(3000);joptionpane.showmessagedialog(null, meaning, 标题,joptionpane.warning_message); catch(exception ie) /joptionpane.showmessagedialog(null,meaning,提示!,j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论