




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于数据仓库的决策支持系统的分析(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)
基于数据仓库的决策支持系统的分析(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)基于数据仓库的决策支持系统的分析专业:信息管理与信息系统班级:信管本科班学号:姓名:日期:2015年6月30日摘要:数据仓库的出现解决了Dss应用的基础性问题一一数据管理,即通过数据仓库将数据库系统中的原始数据组织成适合决策分析需要的分析型数据。伴随数据仓库技术出现的数据挖掘技术和联机分析处理(OLAP)技术又为数据分析提供了强有力的支持.这样,基于数据仓库的决策支持系统集成了数据仓库、数据挖掘、联机分析处理等多种信息处理技术,是一种新形式的决策支持系统,是辅助企业管理者做出正确决策的理想系统。基于数据仓库的决策支持系统的应用己慢慢开始起步,对其进行理论上的研究将具有很大的实用意义。关键词:决策支持系统;数据仓库;联机分析处理;数据挖掘Abscract:DatawarehousecanmeettherequirementsofthedatabasemanagementsubsystemsofDSSandorganizeprimitivedatainthedatabasestoanalyticaldatasuitedtoadministrativedecision。Withtheemergenceofdatawarehouse,dataminingtechnologyandOLAPtechnologyalsocomeout.Thesetwotechnologiesprovidethepowerfulsupportfordataanalysis。Thus,DSSbasedondatawarehouseintegratesmanykindsofinfomationdisposaltechnology,datawarehousetechnology,dataminingteechnologyandOLAPtechnologyincluded.Itisanewformofperfectsystemassistingcorporativeadministratorswithcorrectdecisionmade。TheapplicationofDSSbasedondatawarehousestandsatanunderwaystage,soThetheoreticalresearchonthesystemwillmakesenseforpractice.Keyword:DSS;DataWarehouse;OLAP;CustomerAnalysis目录TOC\o”1-3"\h\uHYPERLINK\l_Toc101051.绪论PAGEREF_Toc101052HYPERLINK\l_Toc277921.l研究背景PAGEREF_Toc2779221.2研究内容PAGEREF_Toc1418431.3本文的研究内容及意义PAGEREF_Toc2220032.决策支持系统的基本理论PAGEREF_Toc201473HYPERLINK\l_Toc93892。1决策支持系统概况PAGEREF_Toc938932。2决策支持新技术PAGEREF_Toc271173HYPERLINK\l_Toc4693.数据仓库的基本理论PAGEREF_Toc4694HYPERLINK\l_Toc29663.1数据仓库的基本概念PAGEREF_Toc29664HYPERLINK\l_Toc83423.2数据仓库的体系结构PAGEREF_Toc8342458244。基于数据仓库的综合决策支持系统PAGEREF_Toc58245HYPERLINK\l_Toc289184。1传统决策支持系统与新决策支持系统的比较PAGEREF_Toc289185HYPERLINK\l_Toc224394.2综合决策支持系统PAGEREF_Toc224396HYPERLINK\l_Toc3284。3数据仓库技术在决策支持系统中的作用PAGEREF_Toc3286HYPERLINK\l_Toc292405.总结与展望PAGEREF_Toc292406参考文献PAGEREF_Toc29271绪论1。l研究背景随着信息技术的飞速发展,企业内部产生了越来越多的数据,但这些数据并没有产生有用的信息,只是简单的存储在数据库中.为此出现了“数据爆炸,知识贫乏”的窘迫局面。以前,用户常常在数据的管理、数据的收集上下很大功夫,可是今天的用户却发生了很大的变化:人们不仅想得到数据,更多地是想从这些数据中获得更大的收益。因为数据就是数据,没有经过分析的数据是无法决策的,基于数据仓库的决策支持系统正是迎合了这种需要。1.2研究内容研究与本课题相关的理论和技术,包括决策支持系统的相关理论,数据仓库构建的相关理论,联机分析处理技术的相关理论,数据挖掘技术的理论和算法;数据仓库的设计,包括概念模型设计,逻辑模型设计,物理模型设计;数据的转换、清洗和装载方案设计;多维数据集的创建、处理和查询;根据建立的多维数据集来建立数据挖掘模型,利用微软聚类算法来实现分类挖掘任务;用Delphi编写客户端界面以及整个系统的各个模块,最终建立一个展现平台.1。3本文的研究内容及意义安全问题是企业应用电子商务过程中最担心的问题,电子商务系统是建立在计算机网络系统之上的商务系统。对于大多数网民来讲,互联网为人与人、人与企业之间的交流带来了更多的便利,然而也为不法分子获取不法利益提供了更多的途径。数字签名是可以解决电子商务活动中否认、伪造、篡改及冒充等问题的一项技术本文通过对电子商务及电子商务安全的描述,逐一介绍电子商务安全内容及其安全需求,钊一对电子商务安全面临的各种威胁,从安全体系方面说明其应对方式。着重讲解电子商务领域中的数字签名技术及其各种实现方案,对比传统数字签名中的不足,说明安全数字签名的原理及其实现流程.最后重点介绍基于RSA和DES算法的安全数字签名,设计出一种结合RSA和DES算法的安全数字签名方案。2。决策支持系统的基本理论2.1决策支持系统概况决策支持系统作为一门新兴的信息技术,能够为企业提供各种决策信息支持和许多商业问题的解决方案,从而减轻了管理者从事低层次信息分析、处理的负担,使得他们专注于最需要决策方面的工作,从而提高决策的质量和效率。它通过结合个人的智力资源和计算机的能力来改进决策的质量。它是一个基于计算机的支持系统,服务于处理半结构化或非结构化问题的管理决策制定者.不同的人对决策支持系统有着不同的理解.并且决策支持系统基本结构主要由四部分组成,即数据部分、模型部分、推理部分和人机交互部分。2。2决策支持新技术数据仓库、联机分析处理、数据挖掘是20世纪90年代中期在国外兴起的3项决策支持技术。数据仓库是在数据库的基础上发展起来的,数据库用于事务处理,而数据仓库可用于决策分析,而且主要用于决策分析,联机分析处理把数据的组织由二维平面结构扩充到多维空间结构,并提供了多维数据分析方法.数据挖掘则是在人工智能学习中发展起来的,它是从多个数据库中发现知识过程的核心。数据仓库、联机分析处理、数据挖掘的结合开创了决策支持系统的新方向,而数据仓库是3个技术的主体和基础,没有基本的数据支撑,就不可能有科学的决策。3。数据仓库的基本理论3。1数据仓库的基本概念数据仓库是一个用以更好地支持企业或组织决策分析处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。数据库内数据是动态变化的,只要有业务发生,数据就会被更新,而数据仓库则是静态的历史数据,只能定期添加、刷新。数据库中的数据结构比较复杂,有各种结构以适合业务处理系统的需要,而数据仓库中数据的结构则相对简单.数据库中数据访问频率较高,但访问量较少,而数据仓库的访问频率较低但访问量却远高于数据库的访问量。数据库在访问数据时要求响应速度快,其响应时间一般在几秒内,而数据仓库的响应时间则可长达数小时。3.2数据仓库的体系结构数据仓库将独立于业务数据库系统,但是数据仓库又同业务数据库系统息息相关。也就是说数据仓库不是简单地对数据进行存储,而是对数据进行“再组织”。数据仓库的体系结构框架是影响数据仓库性能的关键因素之一,数据仓库的体系结构框架决定了数据加载、访问和传递的方式。在确定数据仓库结构时需要考虑最终用户和数据使用部门的数目、数据的多样性和数量、更新周期,以及存储访问的速度。在数据仓库体系结构中应该设计三个独立的数据层次:信息获取层、信息存储层和信息传递层.信息获取层负责数据的收集、提纯、净化和聚合,以及从外部数据源和业务处理系统中获取数据。这些数据应该是准确的,并且要被用于各个部门进行决策支持,因此需要有通用的含义。信息存储层是一个保存数据的区域,这些信息是在信息传递层次中可以得到的信息.对于支持集成传递要求所必需的性能水平,单一的设计会产生消极影响.所以,数据仓库的一个重要特征就是灵活性,在体系结构中需要利用信息传递层来实现灵活性.信息传递层是数据仓库结构中支持一套共用的表示工具和分析工具的组成部分。它通过生成的报表和查询来提供数据需求。这是最终用户与数据仓库交流的层次,也是数据仓库与用户接触的地点。图1数据仓库的体系结构基于数据仓库的综合决策支持系统在决策支持系统D的研究领域中,以往大多数专家都沿着EDP/MSI/DSS(电子数据处理/管理信息系统/决策支持系统)的路线评价DSS的特征与区别,并且强调DSS对高层决策者和经理人员的信息支持。因此研究的重心大多集中于DSS的模型管理(定量模型和定性模型)、人机界面、智能DSS或基于知识的DSS等。然而,决策支持系统并不仅仅是基于非常复杂的模型的分析与评价,凡是能够提供管理人员所需要任何信息的全部技术支持形式都应该归入决策支持的范畴。4。1传统决策支持系统与新决策支持系统的比较传统的DSS通常是建立在数据库(DB)为基础的关系数据库管理系统(RDBMS)上,但是,随着DSS用户的系统所涉及的数据量的不断增大,查询也越来越复杂,这样传统的基于数据库的DSS的弊端也暴露了出来:(1)数据缺乏组织性:数据库中存储的是大量的企业业务运行数据(oPeartiondat)a,它们来自企业内部不同部门的日常业务操作产生的明细数据,是一种原始数据。这些数据因为各个部门的不同需要,而有着有利于各个部门的不同的组织、存储形式。而DSS需要的则是对这些原始数据进行进一步分类、合并、整理和分析后产生的有组织的信息。(2)数据访问效率低:企业在每一阶段的业务都积累了大量的数据,RDB是面向应用的、事务驱动的。应用本来就是千差万别、零繁琐碎的,而且为了提高性能,数据还常常被分布在多个子系统中,使得RDBMS对这些数据的访问十分困难,更难以进行DSS所需的快速分析。(3)数据处理效率低:企业DSS需要高质量的管理数据,RDB不能提供数据分析,大量的数据不能得到及时的综合分析,使管理信息系统(MSI)的作用不能充分体现,影响了数据处理的效率.(4)数据不能转化为有用的信息:DSS通常需要一段历史时期的数据来分析趋势,而数据库一般只存储短期数据,且各个应用领域的保存期限各不相同,大量的内外运行数据不能转化为管理决策信息为DSS服务。4.2综合决策支持系统把数据仓库、OLAP、数据挖掘、模型库结合起来形成的综合决策支持系统,是更高级形式的决策支持系统。其中数据仓库能够实现对决策主题数据的存储和综合,OLAP实现多维数据分析,数据挖掘用以挖掘数据库和数据仓库中的知识,模型库实现多个广义模型的组合辅助决策,专家系统利用知识推理进行定性分析。它们集成的综合决策支持系统,将相互补充、相互依赖,发挥各自的辅助决策优势,实现更有效的辅助决策。综合体系结构的三个主体既可以相互补充又可以相互结合.它可以根据实际问题的规模和复杂程度决定是采用单个主体辅助决策,还是采用两个或是三个主体的相互结合辅助决策。利用第一个主体的辅助决策系统就是传统意义下的决策支持系统。利用第一个主体和第三个主体相结合的辅助决策系统就是智能决策支持系统。在OLAP中利用模型库的有关模型,可以提高OLAP的数据分析能力.将三个主体结合起来,即利用”问题综合和交互系统"部件集成三个主体,这样形成的综合决策支持系统是一种更高形式的辅助决策系统,其辅助决策能力将上一个新台阶。由于这种形式的决策支持系统包含了众多的关键技术,研制过程中将要克服很多困难,这也是我们今后努力的方向.4。3数据仓库技术在决策支持系统中的作用将数据仓库用于决策支持系统中,主要有以下几个方面的作用:(1)增强了决策支持系统决策的客观性。DSS中数据仓库的数据是面向分析组织的,比面向应用组织的传统数据库更加适合决策分析需求;数据仓库的数据类型丰富、数据容量大、保存时间长,为预测趋势、制定决策战略提供了充足的信息,使决策方案更具客观性。(2)增强了决策支持系统的实用性.DSS中的数据仓库集模型库、方法库、数据库为一体,以数据驱动运行模式代替传统DSS的模型驱动模式,且实现了分析方法与数据结构相分离,使方法库及数据的扩充具有相对独立性。(3)提高了数据查询、分析效率。数据仓库通过提取器自动追加数据及数据视图生成器自动生成数据视图,能及时快速地准备好各层次数据,使查询瞬间完成,可大大提高数据获取效率。(4)具有强大的数据分析工具。利用分析工具OLAP、数据挖掘工具及图形工具等,使决策者能从各角度分析数据,提供更全面、更丰富的战略性辅助信息及被忽略的重要因素。(5)具有动态扩展性能。基于数据仓库的DSS通过内在反馈机制,使用户需求逐渐明确,DSS系统结构日趋完善.总结与展望基于数据仓库的决策支持系统是国外90年代发展起来的新技术,它一经面世就以其巨大的应用价值和可操作性的技术方案得到了企业界、学术界和商业界的高度重视,得到了很快的发展。现在,国内很多企业信息技术应用己达到了一定的阶段,积累了大量的数据,GB级的数据量己经很普遍,有的甚至达到了TB级,这样就为数据仓库打下了坚实的基础。另一方面,随着各个大型数据库公司的数据仓库方案的提出、完善,数据仓库技术的一些难题得到了解决。这些,都是基于数据仓库的决策支持系统得到快速发展的原因所在。参考文献[1]Hhimon著.王志海等译.数据仓库.机械工业出版社.[2]埃里克A海尔菲特著.张建军主译.财务分析技术。中国财政经济出版社,2009.[3]MaXiaoqiang.Suryondatawarehousing.TeehniealReport.2015至2016第二学期期末考试课程:java语言程序设计题目:学生信息管理系统类别:论文□设计√院系:计算机与信息工程系专业班级:信息管理2013级本科1班学号:03,04,07,08,15学生姓名:邱丹丹,范柳,谭鸿儒,何婧,陆瑶任课教师:周方完成时间:2016年6月24日教务处制二○一五年九月目录TOC\o”1—3"\h\z\uHYPERLINK\l”_Toc453617927”1。学生信息管理系统概述21。1研究背景2HYPERLINK\l”_Toc453617929”1。2开发意义2HYPERLINK\l”_Toc453617930”2。1开发环境和软件3HYPERLINK\l”_Toc453617931”2.2系统设计与功能分析3HYPERLINK\l”_Toc453617932”2。3功能层次图43数据库设计43.1系统概念结构设计43。3数据库实现73。3。1数据库关系图73。3.2SQL语句实现74.系统模块详细设计104.2各用户操作模块11HYPERLINK\l”_Toc453617942”4.2。1管理员操作模块(图1)114。2.2教师操作模块(图2)11HYPERLINK\l”_Toc453617944"4。2。3学生操作模块(图3)11_Toc453617946"5.1管理员登录12HYPERLINK\l”_Toc453617947"5.2教师登录15HYPERLINK\l”_Toc453617948"5.3学生登录206.课程设计总结23HYPERLINK\l”_Toc453617950"7.附录(代码)2311学生信息管理系统1.学生信息管理系统概述1。1研究背景学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。1.2开发意义随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。2。系统需求分析2.1开发环境和软件(1)操作系统:Windows7(2)数据库软件:mysql—5。7.13—winx64(3)Java开发工具:Eclipsemysql-connector-java—5(JDBC驱动包)jdk—8u73—windows-x64(java运行环境压缩包)2。2系统设计与功能分析学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好.SQLServer2005数据库高效安全,两者结合可相互利用各自的优势.该系统实现的大致功能:用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限.ID号和密码输入正确即可登录。学生管理界面。提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。教师管理界面.提供了对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。修改密码等功能。管理员管理界面。拥有最高的权限。允许添加教师信息和课程信息等.登录的用户信息分别存储在SQL数据库的“管理员信息表”,“教师信息表",“学籍信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。保证了本学生管理系统的安全性.功能层次图数据库设计3.1系统概念结构设计教师ID教师ID课程号教师课程号教师教师姓名教师姓名课程名称课程登录密码课程名称课程登录密码教师ID教师ID学号课程号成绩学号课程号成绩姓名成绩姓名成绩学号学号管理员ID性别学籍管理员ID性别学籍管理员籍贯管理员籍贯登录密码登录密码班级号班级号班级籍贯班级籍贯登录密码登录密码总人数班级号班级名称总人数班级号班级名称实体属性表:实体属性教师教师ID,教师姓名,登录密码课程课程号,课程名称,教师ID管理员管理员ID,登录密码班级班级号,班级名称,总人数学籍学号,姓名,性别,班级号,籍贯,登录密码成绩学号,课程号,成绩3.2系统逻辑结构设计教师信息表:字段名类型空值约束条件教师IDvarchar(8)notnull主键教师姓名varchar(8)notnull登录密码varchar(8)notnull课程信息表:字段名类型空值约束条件课程号varchar(8)notnull主键课程名称varchar(12)notnull教师IDvarchar(8)notnull外键班级信息表:字段名类型空值约束条件班级号varchar(8)notnull主键班级名称varchar(8)notnull所属学院varchar(6)班级人数nchar(4)管理员信息表:字段名类型空值约束条件管理员IDvarchar(10)notnull主键登录密码varchar(10)notnull成绩信息表:字段名类型空值约束条件班级号varchar(15)notnull主键,外键班级名称varchar(8)notnull主键,外键所属学院smallintnotnull学籍信息表:字段名类型空值约束条件学号intnotnull主键姓名varchar(30)notnull性别char(2)班级号varchar(30)notnull
外键籍贯char(10)
登录密码moneynotnull3。3数据库实现3。3.1数据库关系图SQL语句实现数据表的创建:(1)教师信息表创建:createtable教师信息表(教师IDvarchar(8)primarykey,教师姓名varchar(8)notnullunique,登录密码varchar(8)notnull,)(2)课程信息表创建:createtable课程信息表(课程号varchar(8)primarykey,课程名称varchar(12)notnull,教师IDvarchar(8)notnullforeignkey(教师ID)references教师信息表(教师ID))(3)班级信息表创建:createtable班级信息表(班级号varchar(8)notnullprimarykey,班级名称varchar(8)notnullunique,所属学院varchar(8),班级人数nchar(4))(4)学籍信息表创建:createtable学籍信息表(学号varchar(15)primarykey,姓名varchar(8)notnull,性别varchar(4),班级号varchar(8)notnull,籍贯varchar(5),登录密码varchar(6)notnullforeignkey(班级号)references班级信息表(班级号))(5)成绩信息表创建:createtable成绩信息表(学号varchar(15),课程号varchar(8),成绩smallintprimarykey(学号,课程号)foreignkey(学号)references学籍信息表(学号),foreignkey(课程号)references课程信息表(课程号))(6)管理员信息表创建:createtable课程信息表(管理员IDvarchar(8)primarykey,登录密码varchar(12)notnull)视图的创建:(1)“教师课程详细信息”视图创建:createview教师课程详细信息asSELECT教师信息表.教师ID,教师信息表。教师姓名,课程信息表.课程号,课程信息表。课程名称,教师信息表。登录密码FROM教师信息表JOIN课程信息表ON教师信息表.教师ID=课程信息表.教师ID(2)“学生成绩信息”视图创建:createview学生成绩信息asSELECT学籍信息表。学号,学籍信息表.姓名,学籍信息表。性别,课程信息表。课程名称,成绩信息表.成绩FROM成绩信息表JOIN学籍信息表ON成绩信息表.学号=学籍信息表。学号JOIN班级信息表ON班级信息表.班级号=学籍信息表.班级号JOIN课程信息表ON课程信息表。课程号=成绩信息表.课程号存储过程创建:(1)“单科成绩排名"创建:createproc[dbo].[单科成绩排名]@kechennamechar(8),@classnamechar(8)asselect学籍信息表.学号,姓名,成绩from成绩信息表join课程信息表on课程信息表。课程号=成绩信息表.课程号join学籍信息表on学籍信息表。学号=成绩信息表.学号join班级信息表on班级信息表.班级号=学籍信息表。班级号where课程名称=@kechennameand班级名称=@classnameorderby成绩desc(2)“全班排名"创建:createproc[dbo].[全班排名]@classchar(8)asselect学籍信息表。学号,姓名,avg(成绩)as平均分,sum(成绩)as总分from成绩信息表join学籍信息表on成绩信息表。学号=学籍信息表。学号join班级信息表on班级信息表。班级号=学籍信息表。班级号where班级信息表。班级名称=@classgroupby学籍信息表.姓名,学籍信息表。学号orderbyavg(成绩)desc,学籍信息表。学号4。系统模块详细设计用户登录模块4。2各用户操作模块管理员操作模块(图1)4。2。2教师操作模块(图2)4。2。3学生操作模块(图3)图1图2图35.系统运行与测试5。1管理员登录点击“管理员”按钮。输入正确的ID和密码。验证成功则可进入管理员管理界面.管理员ID号和登录密码存在数据库中的管理员信息表.表中存在的管理员才允许登录。(1)添加教师信息。在弹出的输入栏中输入正确的数据,点击“确认添加”.如果输入重复的信息则会弹出。如果某项未填则弹出.输入的数据会分别写进“教师信息表”和“课程信息表”中。增加的教师信息,允许让更多的教师登录本系统进行管理操作!(2)修改教师信息如果要修改的教师信息不存在,则(3)删除信息修改输入的教师信息不存在,则(4)查询教师信息5.2教师登录在登录界面选择“教师”按钮,并输入正确的ID号和密码,即可登录成功!输入错误则会弹出提示!ID号输入正确,登录成功!进入教师管理的操作界面:(1)显示学生信息。(2)添加学生信息新添加的信息会保存在学籍信息表中!如果输入的信息已经存在,则显示如果输入的数据正确,则(3)修改学生信息,输入正确则显示!(4)删除学生信息,(5)录入学生成绩(6)修改学生成绩(7)删除学生成绩(8)查询学生成绩(9)所有成绩排名(10)单科成绩排名(11)更改登录密码修改成功后即可用新的密码进行登录!5.3学生登录输入正确的ID号和密码,即可正常登录!显示学生信息查询个人成绩(3)单科成绩排名(4)全班成绩排名(5)修改密码修改密码后会更新学生学籍表里面的登录密码,下次就可以用新密码登录。点击后,就可以安全退出学生管理系统了!6.课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多.理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故.通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。7.附录(代码)由于篇幅有限,所以只附上主要功能的代码:登陆界面与主功能界面:publicclassLoginextendsJFrameimplementsActionListener{ JFramemm=newJFrame("您好!请您先登录!"); JTextFieldt2=newJTextField(null,15);JTextFieldt4=newJPasswordField(null,15);publicStringzh=null;JRadioButtonb=newJRadioButton(”教师"); JRadioButtonb1=newJRadioButton("学生”); JRadioButtonb2=newJRadioButton("管理员");publicvoidjiemian(){mm.setSize(300,340);mm。setVisible(true);mm.setLocation(200,300);mm。setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabelt1=newJLabel(”ID号:"); JLabelt3=newJLabel(”密码:”); JButtondenglu2=newJButton(”登录”); denglu2.setContentAreaFilled(false); Containern=mm。getContentPane(); n。setLayout(null); t1.setBounds(42,125,75,35);t2。setBounds(80,125,150,35); t3.setBounds(40,180,75,35);t4。setBounds(80,180,150,35); denglu2。setBounds(102,245,70,30); n。add(t1);n.add(t2);n。add(t3);n.add(t4);n。add(denglu2);b.setBounds(130,85,70,30);b1。setBounds(70,85,70,30);b2。setBounds(190,85,70,30); ButtonGrouprg=newButtonGroup();b.setSelected(false);b1。setSelected(true);b1.setSelected(false); n.add(b);n.add(b2);rg。add(b2);rg。add(b);n。add(b1);rg.add(b1);b.setContentAreaFilled(false);b1.setContentAreaFilled(false);b2.setContentAreaFilled(false); denglu2。addActionListener(this); }publicvoidactionPerformed(ActionEvente){ JButtondenglu2=(JButton)e.getSource();if(b。isSelected()){zh=t2。getText(); Stringmima=t4.getText();try{ Class.forName("sun.jdbc.odbc。JdbcOdbcDriver"); Connectionc=DriverManager。getConnection("jdbc:odbc:学生信息系统"); Statements=c.createStatement( ResultSet。TYPE_SCROLL_SENSITIVE, ResultSet。CONCUR_UPDATABLE); ResultSetr=s.executeQuery(”select*from教师信息表where教师ID=’”+zh+”'and登录密码=’”+mima+"’"); r。last(); if(r。getRow()==1) {mm。setVisible(false); r。beforeFirst();while(r.next()){ JOptionPane。showMessageDialog(null,r。getString("教师姓名")+"老师!您好!欢迎登录教师管理系统!");} JFramemmm=newJFrame(); mmm。setSize(400,420); mmm。setVisible(true); mmm.setLocation(200,300); mmm.setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE); JLabelaaa=newJLabel(”学生信息管理:");JLabelaaa1=newJLabel(”学生成绩管理:"); JButtonb1=newJButton(”显示学生信息");b1。setBounds(40,45,140,30); JButtonb2=newJButton(”添加学生信息");b2。setBounds(200,45,140,30); JButtonb3=newJButton(”修改学生信息");b3。setBounds(40,90,140,30); JButtonb4=newJButton("删除学生信息");b4。setBounds(200,90,140,30); JButtonb5=newJButton("录入学生成绩");b5.setBounds(40,170,140,30); JButtonb6=newJButton("修改学生成绩”);b6。setBounds(200,170,140,30); JButtonb7=newJButton("删除学生成绩”);b7.setBounds(40,215,140,30); JButtonb8=newJButton("查询学生成绩");b8。setBounds(200,215,140,30); JButtonb9=newJButton("所有成绩排名");b9.setBounds(40,260,140,30); JButtonb12=newJButton("单科成绩排名”);b12。setBounds(200,260,140,30); JButtonb10=newJButton("退出系统”);b10。setBounds(60,325,100,30); JButtonb11=newJButton("修改密码”);b11。setBounds(220,325,100,30); aaa。setBounds(15,15,90,30);aaa1.setBounds(15,140,90,30); Containern=mmm。getContentPane(); n。setLayout(null);J_ActionListener1a1=newJ_ActionListener1(); J_ActionListener2a2=newJ_ActionListener2(); J_ActionListener3a3=newJ_ActionListener3(); J_ActionListener4a4=newJ_ActionListener4(); J_ActionListener5a5=newJ_ActionListener5();J_ActionListener7a7=newJ_ActionListener7(); J_ActionListener8a8=newJ_ActionListener8();J_ActionListener9a9=newJ_ActionListener9(); J_ActionListener10a10=newJ_ActionListener10(); J_ActionListener12a12=newJ_ActionListener12(); J_ActionListener11a11=newJ_ActionListener11(); n.add(b1);n。add(b2);n.add(b3);n.add(b4);n.add(b5);n。add(b6);n。add(b7);n。add(b8);n。add(b9);n.add(b10);n.add(aaa);n.add(aaa1);n。add(b11);n.add(b12);b1.addActionListener(a1);b2.addActionListener(a2);b3.addActionListener(a3);b4.addActionListener(a4);b5。addActionListener(a5); b6。addActionListener(a7);b7.addActionListener(a8);b8。addActionListener(a9);b9。addActionListener(a10);b11。addActionListener(a1)b12.addActionListener(a12); b10.addActionListener(newActionListener() { publicvoidactionPerformed(finalActionEvente) {System。exit(0);} }); ((JComponent)mmm.getContentPane()).setOpaque(false);。URLurl=Sql。class。getResource("未命名。jpg"); ImageIconimg=newImageIcon(url); JLabelbackground=newJLabel(img); mmm.getLayeredPane().add(background,newInteger(Integer。MIN_VALUE)); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); }else{JOptionPane.showMessageDialog(null,"教师ID或密码有误!请重新输入!");} }catch(Exceptione1) {e1.printStackTrace();}}}publicstaticvoidmain(Stringargs[]){Loginapp=newLogin(); app.jiemian(); }}向数据库添加新的学生信息:classDataBase{//DataBase类publicstaticConnectiongetConnection()throws SQLException,java.lang。ClassNotFoundException{ //建立本地数据库连接,编码规则转换为正常录入中文) Stringurl="jdbc:mysql://localhost:3306/studentmanagement?useUnicode=true&characterEncoding=GBK"; Class。forName("com.mysql.jdbc.Driver"); StringuserName="root”; Connectioncon=DriverManager.getConnection(url,userName,”"); returncon; }publicvoidAdd(Stringxh,Stringxm,Stringxb,Stringbj,Stringjg,Stringmm)throwsSQLException{//为学籍管理系统添加新记录try{StatementDataBaseCreate=null; Connectioncon=DataBaseCreate。getConnection(); Statements; s=con。createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetr=s。executeQuery(”select*from学籍信息表where学号=’"+xh+"’"); r.last();if(r.getRow()==1) {JOptionPane。showMessageDialog(null,"该学号的学生信息已存在”);}Elseif(xh.equals("")){//判断新输入的学号是否为空 JOptionPane.showMessageDialog(null,"学号不能为空”);}else{s.executeUpdate("insertinto学籍信息表values(’"+xh+”',’"+xm+"',’”+xb+"',’”+bj+"’,'”+jg+"’,'”+mm+"’)");s。close();c.close();JOptionPane。showMessageDialog(null,"〈html>”+"学号:”+xh+"<br>"+”姓名:”+xm+"<br>”+"性别:”+xb+”〈br〉"+”班级号:"+bj+"<br>”+"籍贯:"+jg+"<br〉” +"登录密码:”+mm+"〈br>学生记录添加成功!");} }catch(ClassNotFoundExceptione) {JOptionPane。showMessageDialog(null,”数据添加异常!”);} }publicvoidDisplayAll(ResultSetr){ JFramem=newJFrame(”显示所有学生信息"); m。setBounds(60,70,700,600); m。setVisible(true); JTextAreaaa=newJTextArea(); aa。setBounds(0,0,700,600); Containerc1=m.getContentPane(); c1。setLayout(null); c1。add(aa);try{r.last();aa.append(”\t学号"+"\t"+”姓名"+”\t”+”性别"+”\t"+”班级”+"\t"+"籍贯"+”\n"); r.beforeFirst();while(r.next()) {aa。append(”第”+r。getRow()+”行记录:"); aa.append(r.getString(”学号”)); aa。append("\t"+r。getString("姓名")); aa.append(”\t”+r.getString(”性别”)); aa。append("\t"+r。getString(”班级")); aa。append(”\t"+r.getString(”籍贯”)+”\n"); }}catch(Exceptione) { e.printStackTrace();}}publicvoidDisplayOne(Stringstr22)throwsException {try {StatementDataBaseCreate=null; Connectioncon=DataBaseCreate。getConnection(); Statements; s=con。createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_UPDATABLE); ResultSetr=s.executeQuery("select学号,姓名,性别,班级名称as班级,籍贯from学籍信息表join班级信息表on班级信息表.班级号=学籍信息表.班级号where学号=’"+str22+”'”);//执行查询的SQL语句r。last(); intcc=r.getRow();if(cc==0){ JOptionPane.showMessageDialog(null,"未查询到相关信息!");}else{r。beforeFirst();while(r。next()) {JOptionPane.showMessageDialog(null,”〈html〉”+”学号:"+r.getString("学号”)+”〈br>”+”姓名:”+r.getString(”姓名")+"<br〉” +”性别:”+r.getString("性别")+”〈br>"+"班级:”+r。getString(”班级")+”〈br〉" +”籍贯:"+r.getString("籍贯”)+"〈br〉已查询到相关记录!”); }}}catch(Exceptione) {e.printStackTrace();}}publicvoidDeleteXh(Stringstr11)//执行按学号删除学生记录的操作{try {StatementDataBaseCreate=null; Connectioncon=DataBaseCreate.getConnection(); Statements; s=con。createStatement( ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_UPDATABLE);ResultSetr=s。executeQuery(”select*from学籍信息表where学号=’"+str11+"'"); r。last();if(r。getRow()==1){s.executeUpdate("deletefrom学籍信息表where学号='”+str11+"’"); JOptionPane.showMessageDialog(null,"学生记录删除成功!”); }else{JOptionPane。showMessageDialog(null,”学籍系统中并无相关记录!");} }catch(Exceptione) {}}publicvoidDeleteXm(Stringstr13)//执行按姓名删除学生记录的操作{try {StatementDataBaseCreate=null; Connectioncon=DataBaseCreate.getConnection(); Statements; s=con。createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetr=s.executeQuery(”select*from学籍信息表where姓名='”+str13+”'”); r.last();if(r。getRow()==1) {s.executeUpdate(”deletefrom学籍信息表where姓名='"+str13+"’”); JOptionPane.showMessageDialog(null,"学生记录删除成功!");}else{JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!");} }catch(Exceptione) {}}publicvoidUpdateXh(Stringxg,Stringstr15,Stringstr16){try{StatementDataBaseCreate=null; Connectioncon=DataBaseCreate.getConnection(); Statements; s=con。createStatement( ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetr=s.executeQuery("select*from学籍信息表where学号=’"+xg+”'"); r。last(); if(r.getRow()==1) {s。executeUpdate(”update学籍信息表set"+str15+"=’"+str16+"’where学号='"+xg+”’”);//直接执行SQL语句修改JOptionPane.showMessageDialog(null,”学生记录修改成功!"); }else{ JOptionPane。showMessageDialog(null,”学籍系统中并无相关记录!"); };}catch(Exceptione) {JOptionPane。showMessageDialog(null,”学籍系统中并无相关记录!"); }}publicvoidUpdateXm(Stringstr18,Stringstr19,Stringstr20){try{StatementDataBaseCreate=null; Connectioncon=DataBaseCreate。getConnection(); Statements; s=con.createStatement( ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSetr=s.executeQuery(”select*from学籍信息表where姓名=’”+str18+"'"); r。last(); if(r.getRow()==1) {s。executeUpdate("update学籍信息表set"+str19+"=’"+str20+”'where姓名='”+str18+"’");//直接执行SQL语句修改 JOptionPane。showMessageDialog(null,”学生记录修改成功!");}else{JOptionPane。showMessageDialog(null,”学籍系统中并无相关记录!"); };}catch(Exceptione) {JOptionPane。showMessageDialog(null,"学籍系统中并无相关记录!"); }}publicvoidAddScore(Stringxh,Stringkch,Stringcj){try{StatementDataBaseCreate=null; Connectioncon=DataBaseCreate。getConnection(); Statements; s=con。createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_UPDATABLE);if(xh.equals("”)||kch.equals(””)||cj.equals("")){JOptionPane。showMessageDialog(null,"输入框不允许为空”);}else{ResultSetr=s.executeQuery(”select*from成绩信息表where学号='”+xh+”'and课程号='"+kch+"’”); r.last();inti=Integer。parseInt(cj);if(r.getRow()==1) {JOptionPane.showMessageDialog(null,"该学生该科成绩已存在”);}else{s.executeUpdate("insertinto成绩信息表values(’”+xh+”’,'"+kch+"’,'"+i+"')");JOptionPane。showMessageDialog(null,”<html>”+”学号:"+xh+”〈br〉” +”课程号:"+kch+"<br〉”+”成绩:"+cj+”〈br>学生成绩添加成功!");}}}catch(Exceptione){JOptionPane。showMessageDialog(null,”成绩输入的学号或者课程号不存在!”);}}publicvoidUpdateScore(Stringxh,Stringkch,Stringcj){try{StatementDataBaseCreate=null; Connectioncon=DataBaseCreate。getConnection(); Statements; s=con.createStatement( ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_UPDATABLE);if(xh.equals(”")||kch。equals("”)||cj.equals("”)){JOptionPane.showMessageDialog(null,"输入框不允许为空");}else{inti=Integer。parseInt(cj); ResultSetr=s。executeQuery(”select*from成绩信息表where学号=’”+xh+"'and课程号=’"+kch+"'"); r。last(); if(r。getRow()==1) {s。executeUpdate("update成绩信息表set成绩='"+i+"’where学号='"+xh+”'and课程号=’”+kch+”’”); JOptionPane.showMessageDialog(null,”学生成绩修改成功!");}else{ JOptionPane。showMessageDialog(null,”成绩表中并无相关记录!”); }; }}catch(Exceptione) {JOptionPane。showMessageDialog(null,"学籍系统中并无相关记录!");}}publicvoidDeleteScore(Stringxh,Stringkch){try {StatementDataBaseCreate=null; Connectioncon=DataBaseCreate.getConnection(); Statements; s=con。createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSetr=s.executeQuery("select*from成绩信息表where学号='"+xh+”’and课程号=’"+kch+"'”); r.last();if(r。getRow()==1){ s。executeUpdate(”deletefrom成绩信息表where学号='"+xh+"’and课程号=’"+kch+"’”); JOptionPane.showMessageDialog(null,"学生记录删除成功!”);}else{JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!”);} }catch(Exceptione) {}}publicvoidSearchScore(Stringxh){ JFramem=newJFrame(”学号"+xh+"的各科成绩”); m。setBounds(60,70,326,320); m。setVisible(true); JTextAreaaa=newJTextArea(); aa.setBounds(0,0,326,320); Containerc1=m。getContent
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园区绿色低碳化改造方案
- 工业废弃地生态修复实践案例
- 工业旅游的发展现状及前景分析
- 工业机器人技术培训及故障排除
- 工业自动化设备维护与管理系统
- 工业自动化控制技术案例
- 工业设计在制造业的数字化转型
- 4商铺装修管理制度
- 柴油供油渠道管理制度
- 标杆厂房日常管理制度
- 马工程-公共财政概论-课程教案
- GB/T 25177-2010混凝土用再生粗骨料
- GB/T 17817-2010饲料中维生素A的测定高效液相色谱法
- 中国石化加油站视觉形象(vi)标准手册
- 机场行李输送系统设计论文-本科论文
- 2022年全国工会财务知识大赛参考题库精简600题(含各题型)
- 新教材教科版五年级下册科学全册课时练(课后作业设计)(含答案)
- 广西基本医疗保险异地就医备案登记表-示例样表
- 供应商绿色环保环境管理体系评估表
- GB∕T 11344-2021 无损检测 超声测厚
- 外科无菌操作技术PPT学习教案
评论
0/150
提交评论