APP下载

基于openGauss 的数据库实验教学体系设计与实现

2022-03-03李晶晶李春英叶海山

广东技术师范大学学报 2022年6期
关键词:数据库系统数据库实验教学

汤 娜,李晶晶,李春英,汤 庸,叶海山

(1.华南师范大学 计算机学院,广东 广州 510631;2.广东技术师范大学 计算机科学学院,广东 广州 510665)

1 绪论

近年来国产软件生态体系的建设和发展已成为我国信息产业发展的战略重点[1],过去我国数据库系统原理的课程教学过程中,实践环节以国外数据库管理系统为主,例如mySQL,SQL Server,oracle 等,而针对国产数据库软件展开的理论讲授和实践应用不是很普遍[2].2020 年9 月2 日,教育部高等教育司发布《关于在有关高校建设教育部—华为“智能基座”产教融合协同育人基地(2020 年度)的通知》,北京大学、清华大学等72 所高校入选基地建设高校名单,华南师范大学也是入选高校之一.在新工科人才培养的大框架下,基于华为技术有限公司自主研发的国产数据库软件openGauss,华南师范大学与华为合作共建了“数据库系统原理”课程,课程的共建目标是探索如何应用openGauss 数据库来讲授“数据库系统原理”课程,如何应用openGauss 数据库来作为数据库系统原理课程的教学实验平台进行数据库人才的培养.由于基于openGauss 产教融合共建创新实践课程的建设目前还处于起步的阶段,教学内容、教学资源、教学模式都还处于探索的初期,如何逐步将国产数据库软件融合到数据库教学中以及如何培养国产数据库技术的系统开发、应用开发人才,目前这些教学研究的方向都是教学改革的研究热点.本数据库教学团队通过近两年的实践教学摸索,逐步形成了基于openGauss 多种实验环境的线上线下混合式实验教学体系.

2 基于openGauss 的多种实验环境的设计

计算产业的架构发生了一系列的变革.在硬件架构上,以CPU 为中心的架构,走向了以数据为中心的对等计算架构;在软件的体系架构上来看,从单机升级为多机多核多算力面向数据中心的软件体系架构,从而使计算基础软件的原生架构云化、集群化.同时考虑到学生机器性能和配置的复杂性,2021 年将基于云数据库的体系架构引入到当前的数据库教学中,实验教学的实施选择了基于云平台的openGauss,通过云数据库实践平台完整地开展了数据库的实验教学,帮助学生更好地触摸到时代前沿和新技术.但由于云平台的教学免费使用受限于优惠券的发放,一方面学生会有省着用的心态,导致探索的自由度降低,而且开发和使用的难度增加,所以如果仅仅采用openGauss 云数据库上开展实验会导致实验方式单一、存在着一定的局限性.

2022 学年的实验则将实验环境设计为基于openGauss 的多实验环境,实现了云平台与本地平台下的多种实验环境.包括(1)openGauss云数据库平台,(2)本地windows 环境下docker的openGauss 命令行模式,(3)本地windows环境下navicat 连接openGauss 的图形化实验环境,即本地采用命令行和图形化两种实验平台开展实验教学.当然也可以通过navicat 连接openGauss 的云数据库平台.

图1 三种实验环境

基于windows 环境下安装openGauss 的方式可以有两种,一种是在虚拟机上安装centos,再部署openGauss 数据库官网提供的安装包进行手动安装.这种安装openGauss 的方式有几个缺点:由于这种方式的配置易出错,需要编写相应的配置文件,如果在本地搭建的话,系统如果不符合官方标准,需要修改系统的配置,相对来说,安装过程比较复杂;对学生机器性能的要求比较高,尤其是内存,否则运行速度比较慢.第二种方法为在window 环境下安装docker,然 后直 接在docker 上拉 取openGauss数据库镜像.安装好docker 和openGauss 数据库之后,就可以采用数据库的图形化管理工具Navicat 来进行数据库的连接和使用.同时也支持连接和管理openGauss 的云数据库.Navicat作为一种图形化管理工具,用户界面 (GUI) 设计良好,让用户可以以安全且简单的方法创建、组织、访问和共享信息,对数据库初学者来说比较容易上手,而且其功能足以符合专业开发人员的所有需求.但是对于备份等一些数据库的高级管理功能就无法在navicat 中进行,所以有一些实验则需要在docker 的openGauss 命令行模式下才能开展.

3 实验内容的设计与实施

整个教学系统的建设过程经过“迁移与设计—实践—改良”三个阶段.由于华为公司提供的实验内容还比较基础,需要扩充和扩展相应的内容才能达成相应的教学目标.而原来的数据库实验内容是基于其他数据库产品的,但是相关的原理和教学目标是相似的,所以可以根据教学目标的要求,将基于其他数据库产品的实验内容进行产品迁移,同时结合云数据库以及openGauss 的特性,对实验内容和学时安排进行重新设计.

我校数据库系统原理课程的课时安排按照15 学时来进行,集中在学期末的后五周开始,一方面课堂学时中要完成所有的实验教学,学时是不够的,同时为了更好的配合理论课程的节奏,让实验课程和理论课程互相呼应起来,更好地促进学生对理论知识的吸收和运用,所以将课程实验分为课堂部分和课外部分.通过课上实验和课后实验这两部分的有机组合来完成数据库系统原理里课程教学大纲的教学目标.云端命令行的使用、配置都相对难一些,所以云端命令行的实验环境是课上实验的主实验环境,通过老师现场的指导,学生更容易上手完成实验,达成实验目标.表1 为课堂实验的安排以及在什么实验环境下开展.

表1 课堂实验(15 个学时)

表2 是课后需要完成的实验教学安排.教学环境的设计上,课后的实验以本地的实验环境为主.

表2 线上线下混合式教学实验安排

课后的实验部分分为三类:(1)复杂度较高、时间可变的实验,(2)需要深入练习巩固的实验,(3)综合性实验[3].通过采用线上线下的混合模式来帮助指导学生顺利地开展实践活动.目前,线上线下混合式教学模式是提升教学质量与效果的重要模式[4],这种教学模式通过将传统的课堂教学与现代网络信息教学手段有机融合在一起,可以将课堂从教室内延申到教室外;通过制定一定的教学目标,学生可以针对自己的实际情况,例如学习能力、基础知识、时间安排等来灵活地安排自己的学习过程,这样的教学模式能够实现以学生为中心,需要个性化地开展过程性教学,为复杂时间可变的实验、深入练习巩固的实验以及综合性实验提供了更为灵活和完整的教学过程.

对于复杂时间可变的实验,我们采用“线上视频讲解 +自行安装+微信实时答疑+Q&A问题归档”的实验教学模式来实现.实验的过程在课后由学生自主完成,例如学生需要安装docker+opengauss+navicat 三个实验环境,这个安装过程学生会出现各种各样的问题,最终导致无法安装成功,所以我们将这个复杂、时间可变的实验让学生自主完成.但是这个过程首先会给出明确的实验指导和线上视频讲解,学生可以一步步进行环境的搭建.如果出现问题可以在微信群中提问,教师和同学都可以及时解答,并鼓励学生相互回答问题.问题解决后鼓励学生将问题及解答放在在线课程教学平台的讨论区中.一轮课程结束后,教师将常见问题及解答归档,形成3 个实验环境安装常见问题的Q&A,将Q&A 发布在教学平台中.学生发现问题首先可以查看相应实验环境安装的Q&A,如果找不到解决方案再去微信群中提问.

SQL 语言部分的教学则是需要学生多做练习来巩固和深入,虽然在课堂实验课中我们已经讲解过SQL 语句的编译环境的使用,因为课堂时间有限,所以后续还需要给学生提供更多的课后练习来帮助他们巩固和深入,最终能达到灵活运用解决实际问题的目标.但布置给学生很多的课后练习,如果是把答案交给学生自己去校对,学生很难发现自己的错误;如果是老师来手工批改,一方面教师批改的时候也会有批改疏忽的情况,另外大量的练习的批改也给教师带来了很大的工作量,所以我们开发了SQL Online Judge(简称SQL OJ)系统给学生学生,教师在系统中给学生布置练习,学生在系统上直接答题,SQL OJ 系统会直接判定学生所作的结果是否正确,并给与学生反馈.通过SQL 在线评判系统,一方面减少了教师的工作量,同时也帮助提高了批改的精准度.通过”课堂讲解实验+课后SQL OJ 在线习题练习加深”的实验模式很好地实现了SQL 语言部分的实验教学.

对于综合性实验,我们采用“课堂实验+线上视频讲解 +模板代码+线下实操探索+样本案例展示”的实验教学模式来实现.综合性实验需要引导帮助学生建立系统观[5],所以实验的内容涉及到很多教学内容的综合和深入运用,同时也是学生运用所学再创作的过程.这类实验完成的时间跨度相对比较长,所以首先通过课堂实验帮助学生掌握综合实验所需的基本实践技能,各个环节中涉及到的一些补充知识技能通过线上视频讲解,并提供相应的模板代码,让学生掌握开展综合实验各基本实践技能,然后学生可以开始根据需求运用基本技能开始设计和实现的再创作过程.最后向学生展示优秀的样本案例,通过对比优秀作品学生可以感受到差距,并实现设计和实现水平的提升.

4 基于openGauss 的实践教学体系

(1)建立配套的教学资源体系.根据教学过程将所需建设的资源分为两大类:教学实施资源、教学评价资源,教学实施资源主要是辅助教师完成教学过程所需要的资源例如ppt、微课、教材、实验指南等.教学评价资源主要是辅助教师完成对学生各环节中的评估,例如习题、综合案例、综合实验设计项目.通过建立配套的教学资源体系更好地赋能教学全过程.我们首先设计了基于openGauss 的“数据库系统原理”课程内容,并在两年的教学中不断完善和修改实验教学内容,并在这个过程中去编写配套的实验指南、开发相应的微课.并编写了基于openGauss 的理论教材,实验教材也正在编写的过程当中,逐步形成了基于openGauss 数据库的“数据库系统原理”课程体系的教材体系.

(2)建立基于过程性和总结性评价相结合的考核方式.增大平时成绩的比例,对每一教学阶段采用不同方式进行评估摸底,及时了解学生对知识点、章节体系内容的掌握程度,根据反馈信息采取有针对性的教学策略,以及在在课程总体时间一定的前提下,灵活把控教学进度.通过课堂作业、章节实验观察和判定知识点的掌握程度;通过章节课后作业和和章节综合案例观察章节的掌握程度,通过综合系统设计来全盘观察综合运用的能力,通过点、线、面三个维度的观察和判定对学生的学习过程的持续观察、记录、和反馈来帮助学生有效调控自己的学习过程.

5 总结及下一步工作

本文研究了如何将国产数据库openGauss的技术应用于传统数据库教学当中,并基于openGauss 数据库来设计数据库实验教学的环境和教学内容.同时采用线上线下混合式教学模式来开展实验教学,通过线上线下混合式教学模式将实验课堂延伸到线下,帮助学生个性化地开展教学、更为灵活有效地实现实践教学的教学目标.

整个教学系统的建设过程经过“迁移与设计—实践—改良”,已经形成了基于openGauss的多实验环境的实验体系,目前已经在华南师范大学计算机学院的两期课程中实践,学生反应良好,并且进一步建设了相关的配套教学资源来更好地完善教学.同时建设的过程中注重高校之间的联动,与多高校的数据库团队建立科研、教学合作,建立数据库虚拟教研室,通过共建教材等教学资源、教学研讨等方式共同推进课程建设.基于openGauss 的实验设计和内容目前也在广东技术师范大学等高校逐步推广和应用.

数据库人才培养的方向正从过去的数据库库软件使用者管理者拓展到当前新时代所需要的国产数据库内核开发者,培养未来国产数据库系统软件开发的高端人才需要大力培养数据库的内核开发人才.通过与产业结合的方式引导学生进行开源数据库系统的内核开发,从而大力培养数据库内核开发人才,这将是数据库教学研究与实践的下一步更高的着力点.

猜你喜欢

数据库系统数据库实验教学
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
Oracle数据库系统的性能优化研究
微细铣削工艺数据库系统设计与开发
江苏省ETC数据库系统改造升级方案探讨
数据库
几何体在高中数学实验教学中的应用
数据库
数据库