肖 宇,袁宏博
(上海对外经贸大学统计与信息学院,上海 201620)
数据库是一个与时俱进的领域,然而高校的非计算机类专业数据库课程普遍存在诸多问题[1]。例如,数据库软件的选取与市场主流数据库发展脱节,实操内容过于陈旧且缺乏创新型设计,课程内容仅局限于关系型数据库等[2]。学生难免对陈旧的教学内容质疑,学习积极性遭受打击。因此,非常有必要深入探讨非计算机类专业数据库课程的改革。
以下内容首先分析了当前非计算机专业数据库教学现状,进而引出新的教学目标,然后探讨了面向大数据处理与分析的数据库教学的内容和方法改革,最后对本文进行总结。
考虑到数据库教学工作的重要性,以下从数据库的发展趋势,未来企业数据库技能需求和目前传统的教学内容等三方面进行分述,以多角度厘清非计算机专业数据库教学的发展方向。
自首款企业级数据库诞生以来,数据库技术的发展主要经历了三个阶段:前关系型数据库(1960-1970)、关系型数据库(1970-2008)和后关系型数据库(2008至今)[3]。前关系型数据库的主角模型主要采用网状模型和层次模型,其中网状模型克服了层次模型中非根结点仅能拥有一个父结点的缺陷。关系型数据库以关系模型作为数据模型,这个阶段基于“三层模式和二级映象”的设计实现了外模式、模式和内模式的分离,从而使得各层相对独立。当前大部分企业级数据库仍属于关系型数据库或者支持关系操作。
后关系数据库阶段主要致力于模型拓展于架构解耦,以解决高并发读写、海量数据处理、数据结构不统一、横向拓展能力受限、数据存储能力受限等问题。受此驱动,数据库逐渐走向分布式、多模处理和存算分离的方向演进,其中涌现出诸如键值模型(例如 Redis)、图模型(例如neo4j)、文档模型(例如MongoDB)等非关系数据模型。另外,随着云计算技术的不断成熟,云数据库占数据库市场份额迅速增加,而线下数据库市场竞争愈加激烈。
据2021年6月中国信息通信研究院统计分析,数据库服务市场主要集中在金融、电信、政府、制造、交通等五个行业,总占比超过了80%[1]。经过对主流求职网站的调查发现,数据分析类就业岗位普遍要求职工掌握关系型数据库。对于非计算机类专业大学生而言,未来工作中数据库应用场景更多地集中在对数据的查询和存储,或是围绕其业务数据进行数据插入或者修改。例如MySQL、SQL Server或PostgreSQL等。此外,企业就业技能要求中通常会要求掌握Python和R等计算编程语言,因此在数据库教学中,应介绍在这些编程环境中管理数据库的方法。
教学内容包括理论和实践两方面。理论知识分为基础理论和进阶理论。基础知识包括关系数据库理论,包括关系的定义、关系的运算、关系演算和关系的范式等内容。进阶理论包括数据库的内模式设计,事务管理,锁机制,以及分布式数据库等。实践教学包括演示数据库的安装和配置、数据库的备份和还原、数据库的创建和修改、数据表的定义和修改、数据插入、数据更新和数据删除、数据库用户管理和权限控制等内容。数据库是不断演进的一门课程,需要教师能够及时跟进最新技术发展。
当前高校的数据库教学一般分为具有计算机专业背景的教师或非计算机专业背景教师授课。若计算机系教师承担授课数据库课程授课任务,则对于围绕数据库课程的基本知识要求应该不存在问题,教师的理论知识储备足以应对非计算机类数据库课程,重点应做好数据库发展和新型NoSQL数据库等方面的教学准备。若由非计算机专业背景授课,则需要在理论和实践、基础和进阶、历史和未来等方面充分做好教学准备。
结合实际来看,基于需求的酒店管理系统内容框架设置,必须从顾客角度出发,从其到店、入住、退房等全过程所需经历环节进行实时分析,以此设置专业、合理、到位的服务需求方案。体现在酒店管理系统上时,即对前台管理系统、消费管理系统、收银管理系统、客房服务系统设置来体现,使其做成一套完整的酒店管理系统框架,明确其个分项功能,使酒店顾客需求得到有效满足。
为了给非计算机类专业学生打下坚实的数据库技术基础,应对未来工作中大数据处理中的数据库操作需求,从教学内容的调整、教学方法的改进和考核方式等三个角度探索非计算机类专业数据库教学改革思路。
从上一节的分析中可以看出,当前数据库市场发展迅速,这将带来未来企业应用的变化,因此在教学中应考虑到这一发展趋势。另外,目前就业市场对大学生提出了新的要求,需要从业者能够更加深入地掌握数据库操作方法。传统的教学内容和目标显然和现实是脱节的,因此综合调整课程的教学目标。非计算机类数据库课程的教学目标大致如下:掌握关系型数据库高级操作方法、理解数据操作之间的效率差异、掌握典型NoSQL数据库、了解典型的云数据库服务,具有自主学习高级数据库技术的能力。
当前,大部分数据库课程都包含了关系数据库理论和SQL语言,属于教学内容的“基本盘”。考虑到数据库当前发展趋势,以及各行业的数据库相关技能需求,非计算机类专业需要从以下三个方面对教学内容进行调整。
(1)深入讲解数据查询部分。数据查询部分包含简单查询和复杂查询。在教学过程中,通常使用简单数据库作为示例数据库,在此基础上开发单表查询、聚合和分组查询、多表查询等。在生产环境下,通常涉及分组后的组内排序查询、窗口函数等内容。因此,在教学内容设计时,可以有针对性地增加高级查询部分,让学生更加深入地了解数据库的优势。此外,将SQL与Python等通用编程语言联系起来,详细讲解通用编程语言的数据库接口,以加深学生的理解,增强工作情境中的应用能力。
(2)加入主流NoSQL数据库。NoSQL数据占据的市场份额逐级增大,MongDB和Redis等典型代表在生产环境中应用范围广泛,很多数据都存在NoSQL数据库中。特别地,NoSQL数据库由于不需考虑数据表的范式,因此使用门槛较低,在爬虫应用中使用广泛。在NoSQL教学过程中,不能将这部分内容与关系型数据库对立起来,而应将它们的概念和数据操作对照起来教学[4]。例如,MongoDB中的大部分概念都在SQL中有对应物,具体对应关系如表1所示。因此,在对NoSQL数据库的教学中,应与SQL中的操作对应起来。各种数据库的操作语言存在着差异,但操作流程具有共性。
表1 SQL和MongoDB概念的对应关系
(3)加入云数据库。当前,数据很有可能存储在本文,更可能存在公有云或私有云中。因此,需要能够连接到这些云数据库中然后进行操作,在教学内容上应有体现。具体教学过程中,首先要讲述云数据库相对于本地数据库的优势和缺点;然后,介绍当前主流的云数据库服务商,以及云数据库的种类;最后,以某一云数据库为案例展示其使用过程,通过实践展示完整的操作流程让学生对数据库有更加直接全面的认识。
(4)加入包含大批量数据的案例数据库。大数据是当前乃至未来的必然趋势,在具体工作情境中尤为如此。传统教学中一般使用包含较少数据表较少数据的数据库作为演示数据库,这和现实是脱节的。为此,建议积极利用各种途径构建大数据库。第一种方法是利用网络爬虫获取大批量数据。当然在数据采集过程中应遵守法律法规和道德规范,不能泄露他人隐私信息。第二种方法是和企业合作,由企业提供脱敏大批量数据。
教学内容的调整也应带来教学方法的改变,应该从以下四方面改进教学方法。
(1)围绕云数据库构建教学案例。云数据库是未来的数据库产业发展趋势之一。围绕云数据库构建教学案例有以下两个优势:第一,减少了学生在个人笔记本电脑上配置数据库的,从而降低学生在配置环境中可能遭遇的受挫感,提升学生早期学习的积极性;第二,可进行围绕大数据的数据库操作,部分涉及大批量数据的操作难以在计算和存储能力有限的个人电脑上开展,而云数据库没有该限制。
(2)合理利用开源平台。开源社区是当前技术发展的重要趋势之一。相应地,在教学过程中可考虑使用开源数据库,例如MySQL和MongoDB等[5]。更加重要的是,需要向学生传递开源精神,让学生懂的知识分享可促进知识创新。另外,可以利用中国最流行的代码共享平台Gitee分享课件和代码。鼓励学生在平台上提出更好地解决方案,修改发现的课件或代码错误,促进师生之间的沟通。
(3)构建面向大数据操作的案例应用。在未来的工作实践中,如何更加有效、更加快速的操作数据库关系到最终的工作效率。为此,在获取大数据库之后,需要根据典型的工作场景抽出关键的数据操作,进而汇集成案例库。然后,结合理论知识部分,可以探索各种数据库操作的效率问题,例如插入效率、删除效率和查询效率等,为优化打下基础。
(4)构建开放、平等的师生交流平台。当前MOOC平台有着丰富的数据库课程资源,学生可以方便地获取这些资源。然而,与学校小班教学相比,线上课程也有针对性差、交流互动性不及时等缺点。因此,在课堂上,建议允许学生充分提出课程相关问题或疑问,老师和其他学生应积极参与到问题的讨论中,及早解决问题;在课后,建议基于BB教学平台或则Gitee等开源平台构建更加自由的交流平台。
课程教学评价关系到学生最终的成绩,如何合理评估在数据库课程中的表现关系到学生的学习积极性。教学内容和教学方法的改革也对教学评价带来了新的机遇和挑战,以下从评测考核和过程考核两方面探讨如何加强教学评价。
(1)过程考核。学习是一个较为漫长的过程,对于数据库学习而言尤为如此。以评测为导向的考核目标简单且易操作,但不能体现学生在学习过程中涌现出的一些好方法和好行为。例如,少数学生十分擅长解决一些课程中的疑难杂症、乐于给同学提供帮助,教师应对类似行为予以鼓励,但这部分成绩是难以在评价中衡量的。建议教师构建学生行为数据库,记录学生在课堂或者线上行为,构建综合指标评测学生。最后,也要着重考查学生的动手能力,应在构建数据库系统中观察学生的表现。
(2)评测考核。考虑到数据库课程的理论性为了体现考核的公平性和有效性,可以采用多次考核的形式,布置多次课后和课堂作业。调整平时作业和期末考试的成绩比例,凸出学生的自主学习过程。特别地,在评测中,应该就加强体现学生的主动性。例如,可以布置具有开放性和
试验性的课后作业给学生完成,重点考察其主动思考和创新能力。
本文首先从数据库产业发展、就业技能需求和传统教学内容等三个方面分析了大数据背景下非计算机专业数据库课程变革环境。然后,从当前存在的一些问题切入,提出包括教学目标、教学内容、教学方法和教学评价在内的四位一体的课程改革思想。最后,本文必然存在一些考虑不全面的地方,但希望能够为非专业数据库课程改革提供借鉴。