SCI论文(www.lunwensci.com):
摘要:PL/SQL是一种针对Oracle数据库、具有强大处理能力的高级数据库设计语言,运用PL/SQL编程以进行高效率的数据库操作是大数据背景下高水平工程人才必需拥有的技能。为了培养高水平的计算机专业高校人才,本文提出了一种“案例,实践,实验”三位一体的教学方案。依托同济大学的内存计算与内存数据库课程为载体,针对课程中的特点与难点,本文提出PL/SQL编程的教学方案的相关思想内容,以及在本科教学中的实践经验进行了介绍。
关键词:软件工程;数据库;PL/SQL;实践教学;实验教学
本文引用格式:袁时金,等.PL/SQL编程实践教学方法探索[J].教育现代化,2019,6(96):191-194,216.
一 背景
PL/SQL(Procedure Language&Structured Query Language)[1]是一种过程化语言,该语言主要为Oracle数据库服务,是一种专用于各类环境下对Oracle数据库访问操作的高级数据库程序设计语言。由于其允许数据操作语言和查询语句包含在块结构和代码过程语言中的特性,PL/SQL获得了强大的事物处理能力。在相关数据操作过程中,如若执行程序不经过PL/SQL编译,Oracle就会反复处理SQL声明,这会极大降低系统响应效率。因此PL/SQL的运用以及其高性能计算[2-4]已成为Oracle及其相关数据库产品开发研究的重要领域。
随着大数据时代的到来,高效率的数据库访问与交互操作变得愈发重要,PL/SQL编程作为提高数据库交互效率的有效手段,全球各大高校都陆续在课程中甚至是独立出课程对其开展授课[5]。作为国内软件工程专业的顶尖学院并在第四轮全国学科评估中获得A类学科的评分,同济大学软件学院于建院之初便开展了数据库相关内容的教学,并与2016年正式开展内存计算与内存数据库作为软件工程与管理专业的本科选修课程,为学生们进行内存数据库与PL/SQL编程的相关训练。为了培育符合企业工程要求的人才,使学生紧跟技术发展前沿,课程中特聘了Oracle资深专家包正堂先生,为同学们进行PL/SQL相关技术与案例解析的授课。随着企业开发中数据量的迅猛增加,为了培养符合企业工程化要求的高质量人才,PL/SQL编程的教学的重要性愈发凸显。
二 课程特点与难点
作为一门实践性极强的课程,PL/SQL编程的授课过程面临着许多挑战。首先,PL/SQL作为一种数据库的内嵌语言,直接在数据库中编程与JAVA,C#一类的语言有所区别,如何让同学们适应这种模式需要好好设计。其次,作为一种高效的编程方式,如何让同学们正确且有效的利用该技术同样是课程的一个要点。最后,作为数据库的优化技术课程,与其他类型的数据库与相关技术的比较,能够拓宽同学们的知识面,可以加入到课程计划中。良好的解决这些问题,则能为同学们带来有效的课程体系,为同学们筑建坚实的数据库技术知识架构。
(一)差异化的编程方式
因课程开放在大三学期,同学们大多已经习惯了JAVA,C#一类编程语言过渡的项目,作为一门实践性的课程,若是同样是直接以项目进行训练,同学们可能涉及的PL/SQL编程较少,而大多会采用JAVA与C#一类语言通过中间程序完成项目。因此,如何强调PL/SQL编程的过程,并使同学们在教学与项目中都能对PL/SQL编程产生切实的体验,需要教师进行良好的设计。相关的知识体系,教师也应该花费时间去学习,努力将前沿的,有趣的知识切实有效地传递给同学们。
(二)高效技术的体验
作为一种高效的编程方式,PL/SQL因为过程化,模块化以及大量的程序包等技术使得通过PL/SQL编译的项目拥有极高的性能。但如何能使同学们体会到这些技术发挥的作用,使他们能够切实的考虑技术的使用场景则需要更多的设计。假如同学们仅仅是刻板的被灌输知识,而没有真正体会到该项技术的用途,则课程的意义则极低。因此,在课程的教学过程中,要让同学们认识到PL/SQL技术的高效性,并将高效的运用方式,运用场景带给他们需要在课程中进行有效地设计。
(三)不同的数据库比较
PL/SQL是一种为Oracle及其相关产品服务的高级数据库编程语言,其拥有高度的对口特性。那么PL/SQL编程对于不同的Oracle产品的作用以及使用PL/SQL编程与不使用PL/SQL编程是可预见的拥有区别的。因此,为了使同学们进一步的认识到PL/SQL编程的优越性,学习到PL/SQL编程技术,要合理的为同学们引入不同数据库的内容。举例来说,同为Oracle的产品,Oracle数据库与TimesTen内存数据库在使用此类相关技术时可能带来的差异,又或者Oracle数据库与Mysql数据库这一类不同开发架构的数据库之间的差异。通过学习与实践这些不同数据库之间的差异,同学们能够更好地了解到数据库层面上的优化技术,学习到技术可以应用到的场景。通过这种方式,培养出符合企业工程化要求的高技术人才。
通过解决上述课程难点,切合实际与潮流的课程实际可以不被有效构建,PL/SQL作为一种有效的性能优化技术能够有效地传递给学生们,开拓学生们的启发式思维,同时通过合作实践的方式能够全方面地培养学生们的个人能力。
三 教学思路
作为内存计算与内存数据库教学中的一部分,PL/SQL遵循着“案例性,实践性,与实验性”的教学思路。在课程中通过案例、实践与实验三种模式,使同学们通过案例的讨论,自身的项目实践以及实验比较优化三种方式,对相关技术进行进一步了解并进行自身的思考,实践与反馈,解答。通过该教学思路,同学们能够在课程中,锻炼自身的思考能力,编程能力,合作能力,并拓宽自身知识面与思维方式,在深入代入课程的同时,有效地提升个人水平。
(一)案例性
该特性主要是为了给同学们代入切合实际的优质案例,通过这些案例为同学们建立合理有效的技术基础。在一开始接触一项新技术时,同学们往往对其充满迷茫,大多数课程仅仅教授给了同学们相关的技术,而没有向同学们传递技术运用的场景,这样的教学方式往往会使得同学们虽然学到了技术,却往往用在不适合的场景,反而降低了整个项目的技能。因此,通过案例教学,除了有效技术运用方案,相关的技术应用场景也应教授给同学们。由此,在同学们拓宽知识面的同时,还能让同学们拥有卓越的企业工程化思维方式与处理能力。
(二)实践性
该特性主要是为了让同学们能够切实锻炼到PL/SQL编程的能力,通过分组项目的形式给同学们切实的体会。在了解技术的使用场景与运用方式后,如果缺少具体的实践,教学效果是极低的。因此,课程进行过程中,在案例教学后要求同学们分组思考项目的场景,运用PL/SQL编程的技术将项目进行具体实践,使同学们能够有效理解这门技术,并提高同学们的编程能力。
(三)实验性
该特性主要是为了让同学们能够进一步理解PL/SQL编程的优势。假如仅仅是完成项目,可能会出现PL/SQL技术运用较少,或是没有深入体会到技术高效性优点的情况。因此,在同学们完成项目的同时,也要求相关的PL/SQL编程技术的实验设计。技术的不同运用方式不同运用场景在这些实验中被涉及。通过该方式,同学们在了解到技术优势与运用场景的同时进一步优化了项目。在高度实践的同时,有效地提高了同学们的科研能力与工程能力。
四三位一体的教学方法探讨
正如教学思路部分所指出的一样,本课程教学过程中贯彻了“案例,实践,实验”三位一体的教学方法。在教师多年的教学过程中,该教学方式具有良好的效果,同学们对此反馈极高。
(一)案例教学
在课程中提出多个符合实际的案例,要求同学们考虑如何将所学技术运用到案例中,如何选择技术中有效的部分,通过对案例的分析,同学们能够快速掌握技术的运用特点与运用场景,这种模糊到清晰的过程能够使学习过程极富趣味性,使学生更加高效地学习。举例来说,通过提供电话会议系统的数据库管理员导出的全年的通话清单,同学们使用PL/SQL编程语言进行分析操作,运用SQL、procedure、function、package、sequence、job等Oracle知识点来解决问题,通过运用Oracle的schema创建、权限分配等知识点来创建独立的Oracle数据库环境来执行此项任务,并运用sqlldr、sqlplus知识点实现外部文件导入和数据库命令行操作等方式来解决问题,构建知识与技术架构。
这种教学方式,能够将企业中遇到的现实问题呈现在学生们的面前,强调多分析,多动手,为学生了节省了大量课下自我寻找案例分析的时间,使同学们能够去更深入地学习技术,并通过与企业专家的实际探讨,为学生解答问题。这种互动性的教学模式能够增进学生与教师间的交流,提升学生们的主动性和积极性。
(二)实践教学
在学生们对PL/SQL编程技术有了一定了解后,对学生进行分组,需要通过之前所学的知识,思考运用场景,完成一个有关PL/SQL编程运用场景的项目。通过规划明确的设计、实现、答辩阶段,锻炼学生的计划完成能力,同时在完成项目的过程中,锻炼了学生的编程能力,技术理解度,合作交流能力。
(三)实验教学
本门课程在同学们完成项目期间,要求同学们以项目为基础,进行技术相关的实验来分析技术的优越性并提升项目性能。因为多数同学们还未具体接触过规范化的科研实验,学生们需要规划实验方案,与教师探讨后,不断改进实验方案,并在项目结题时提交实验报告,展示相关技术优点及项目优化性能,实验可具体从以下方向进行考虑:
1)并发实验:通过负载工具,测试海量数据(千万级以上)在项目中的运行情况进行合理优化。
2)性能对比实验:通过设计合适框架,分析技术在不同数据库间的性能,以及运用PL/SQL编程与不运用编程技术的性能,进行合理优化。
3)语句优化实验,通过设计合理的索引结构,相关的编程运用的技术,优化语句使用,分析优化结果,进行合理优化。
(四)优秀学生作品
在三位一体教学方案的进行过程中,学生们展现了他们优秀的创造力,思考与时间能力,大量优秀的作品涌现了出来。图1-图3是一些具有代表性的学生作品。
该项目(图1)实现了一套电信业务系统,电信领域一向对数据库效率有着高层次的要求,该组则由此对PL/SQL编程在海量电信业务数据处理上的性能问题做了深入的研究。在项目中,该组模拟了多种覆盖在电信业务中的场景,对数据库进行了大量监控、对比实验。通过丰富的PL/SQL测试实验,该组清晰展示了不同PL/SQL编程下技术的优劣,为他们的系统提供了坚实的基础,项目性能得到极大优化。
该项目(图2)是一个轻量级的股票数据展示、分析平台。项目分别使用了TimesTen、Oracle两种数据库,Spring Boot、Mybatis和Angular.js搭建了项目框架,模拟实现了金融数据查询、分析系统,并利用LSTM算法对股票的未来趋势进行了分析、预测。通过此类事务处理,高并发测试与查询优化测试,有效地分析PL/SQL技术,提升了项目性能。
该项目(图3)对数据库中与电影相关的表格,根据用户的需求对海量数据进行筛选、计算、排序,并生成榜单、图像化统计报表等。使用Mysql、Oracle、TimesTen三种数据库以及相关优化技术进行对比分析。该项目特色在于,通过PL/SQL Developer等一系类工具,合理具体有效地分析了各类SQL语句,索引结构等数据库技术对项目性能的作用,以及影响机制,深入探讨了各项技术的基础理论与发展前景,对PL/SQL相关编程的进一步研究提出见解。
(五)考核方式
作为“案例,实践,实验”三位一体的教学方案,考核主要也由此三方面开展。考核主要由三项内容考核,考核的三项内容如下所示。
上述三项内容在方案与报告中涉及的学生们对于案例与实验的体会,实现中锻炼了学生们的时间能力,切实达到了三位一体目标,借此调动了学生的能力,并对他们的知识体系,思维方式与时间能力进行了拓展提高。
(六)课程效果
作为PL/SQL教学方案的载体,内存计算与内存数据库课程自2016年开课以来,于2016-2017学年,2017-2018学年两年连续获得“同济大学软件学院教学质量考核”第一名。Oracle外聘专家对该方案给予了极高的评价。同时,学生们同样表示该教学方案,让他们对PL/SQL编程技术有了具体而深入的认识,整个课程中,技术的运用场景,运用方式都清晰展现在了他们面前,这种教学方式极大地调动了积极性。
五结语
PL/SQL编程实践教学方案以同济大学软件学院内存计算与内存数据库为载体进行开展。方案通过“案例,实践,实验”三位一体的教学使同学们对PL/SQL编程运用场景与方式获得充分的理解学习,并能够将学到的技术有效运用到各类工程项目中。PL/SQL编程实践教学方案的效果被得到了充分的验证。在今后的发展中,该类教学方案如何继续拓展完善,并运用到各类课程中,可以进行进一步的有效设计,以培养广知识面,高水平的软件工程优秀人才,满足当代需求。
参考文献
[1]Feuerstein S.Oracle PL/SQL Programming[M]//Oracle PL/SQL programming/.2015.
[2]Vamsi Krishna Myalapalli,,Bhupati Lohith Ravi Teja,.[IEEE2015 International Conference on Pervasive Computing(ICPC)-Pune,India(2015.1.8-2015.1.10)]2015 International Conference on Pervasive Computing(ICPC)-High performance PL/SQL programming[C]//International Conference on Pervasive Computing.2015.
[3]刘继敏.基于PL/SQL语言实现数据验证平台中的事务处理[J].数字技术与应用,2017(10):101-101.
[4]梁敬彬.探讨动态SQL扩展的应用[J].福建电脑,2018(3).
[5]徐洪丽,王志军.工科大型数据库Oracle教学体系及教学模式研究[J].教育教学论坛,2016(24):184-185.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/30063.html