投稿问答最小化  关闭

万维书刊APP下载

“101计划”数据库课程的改革探索与实践

2024/1/2 15:03:54  阅读:110 发布者:

1 数据库课程改革起因与目标

数据库是计算机专业的必修课,自 1978 年萨师煊教授率先在国内开设此课程并出版我国第 1 部《数据库系统概论》教材以来,课程内容随着数据库技术的发展而变化。近 10 余年,关系数据库占据主导地位,课程内容趋于稳定,主要是讲授“如何使用数据库”[1-4]。围绕数据库课程的教学改革主要集中在教学方法和教学环节上,例如采用翻转课堂、加强实验环节等。这种情况下,教学内容是否也要改革呢?笔者先后进行了以下 3 个调研。

1)面向数据库相关企业进行人才需求的调研,调查对象包含 33% 的传统数据库生产商、17%的互联网大厂和 50% 的其他企业。这些企业全部都认为目前高校人才培养无法满足企业对数据库人才的要求,毕业生在数据库核心技术的攻关能力上存在欠缺,数据库内核实现的人才难找,入职后企业要花较长时间进行再培养,企业期待高校能加强内核实现人才的培养,为整个行业提供人才红利。

2)依托中国计算机学会数据库专委会进行的调研,调查了国内 98 所高校 170 个数据库课堂,包括 35 所双一流高校和 63 所非双一流高校,调查内容涉及授课内容、实验内容和教材使用。调查结果显示,国内 90% 以上的高校都会讲授数据库的基础概念、关系数据模型、SQL 语言、数据库设计(见表1);93.1% 的高校会开展 SQL 语言实验,79.3% 的高校会开展数据库设计的实验,而只有 7.5% 的高校会开展数据库内核实践的实验(见表2)。根据这些数据,可以把国内高校的数据库课程分成 4 类(见表3):①数据库原理类课程,主要讲授数据库的基本概念、关系模型、SQL 语言等,可能还会讨论数据库管理系统的基础概念。②纯数据库应用开发类课程,主要讲授数据库应用系统的设计与开发。③数据库原理与实践类课程,它是①类课程加上②类课程的内容。④数据库系统类课程,除了讲授数据库的基本概念、关系模型、SQL 语言、数据库管理系统的基本概念外,还会教授数据库内核的实现原理和实现技术。在调研的 98 所高校中,分别有 2 所高校提供①类课程和②类课程(分别占比 2% ),94 所高校提供③类课程(占比 95.92% ),14所高校提供④类课程(占比 14.3% )。可以看到国内高校数据库教学内容主要是教授学生“如何用数据库”,包括交互式地使用数据库以及如何进行数据库应用系统开发,教学生“如何造数据库”的高校很少。

3)针对海外高校、依托人大牵头的“101 计划”数据库系统课程组进行的调研,调查了 26 所海外头部高校的 37 个数据库课堂,包括 13 所美国高校,13 所加拿大、英国、澳大利亚、新加坡等地的高校,如斯坦福大学、卡内基梅隆大学、加州大学伯克利分校、佐治亚理工、麻省理工、杜克、华盛顿大学、UIUC、多伦多大学、爱丁堡大学、新加坡国立大学等,它们全部属于 CS Ranking 数据库领域全球排名前 50 的高校。调研结果如图1所示,19 所高校提供了④类课程(占比 73.1%),11 所高校提供了③类课程(占比 42.3%),2 所高校提供了②类课程(占比 7.7%),1 所高校提供了①类课程(占比 3.85%)。

从上面的 3 个调研结果可以看出,与海外高校数据库课程内容相比较,国内高校数据库课程内容偏基础,人才培养与企业需求间存在较大鸿沟。这主要是因为近年来随着中美对抗加剧,企业对自主研发数据库系统越来越重视,对具有“造数据库”能力的人才需求逐渐加大,而国内高校的数据库教学内容没有及时做出调整,仍然停留在教学生如何用数据库。无论是从国家战略角度,还是从企业需求角度,都需要高校直面“卡脖子”技术,培养数据库内核研发人才。

2 基于知识图谱的数据库课程内容改革

构建数据库知识体系是对数据库教学内容进行顶层设计。101计划”数据库系统课程组在充分调研国内外数据库教学内容的基础上,将课程内容分解为五大知识模块 76 个关键知识点(如图 2 所示),其中数据库系统基础模块包括数据库概述、关系数据模型、SQL  和高级 SQL 4 个知识点;数据库设计与开发模块包括关系数据理论、关系数据库设计以及数据库应用程序开发 3 类知识点;关系数据库管理系统(RDBMS)原理模块包括查询处理与优化、事务管理、并发控制和故障恢复4类知识点;关系数据库内核实现模块帮助学生理解如何从头开始构建 RDBMS,或者数据库核心组件如何在主流的 RDBMS 中工作,该模块包括存储管理、索引、查询处理与优化及执行引擎、并发控制算法和恢复算法的实现技术等知识点;新技术模块是帮助学生了解当前学术前沿的新技术,该模块包括数据库系统的新模型、新架构和新应用 3 类知识点。图中的箭头表示了知识点之间的依赖关系。课程组为每个知识点撰写了详细的教学内容,形成知识点教学手册。

2 的知识图谱是一个完备的数据库知识体系,是进行课程建设与教材建设的指导,但其知识容量超出了一般高校的课时限制,各个高校在设计自己的数据库课程内容时要根据各自的人才培养目标和课时限制对其进行剪裁。

针对数据库零基础的学生,通过对图 2 的知识点进行剪裁与合并,就能够有效地培养学生“造数据库”的能力。具体来说,可以将课程内容分解为两个部分。

1)数据库基础知识,涵盖图 2 中数据库系统基础模块的 15 个知识点以及数据库设计与开发模式的 9 个知识点,用 24 课时完成这部分教学内容。

2)数据库系统实现,对关系数据库管理系统原理模块的 14 个知识点以及关系数据库内核实现模块的 26 个知识点进行重组与合并,形成存储管理、索引技术、查询处理、并发控制、恢复技术 5 部分,用 40 课时完成这部分教学内容。

3 给出 20222023 年度中国人民大学(以下简称我校)数据库系统实现课程的教学计划。在第 14 周,用 16 个学时介绍数据库系统基础模块,将数据库内核实现模块中的存储管理和索引提前到第 56 周,用 8 个学时进行介绍。这样做的目的是出于两个考虑:一是存储管理和索引技术在操作系统课程和数据结构课程中都有介绍,因此前置是可行的;二是将其前置是为了留出更多的时间让学生进行代码实践,第 5 周讲完存储管理后,就可以布置存储管理的实验内容。第 78 周,用 8 个学时介绍数据库设计与开发模块;第 912 周,用 12 个学时介绍查询处理、执行与优化技术;第 1314 周,用 8 个学时介绍事务管理、并发控制实现技术;第 1516 周,用 8 个学时介绍数据库故障恢复的实现技术。

3 数据库类课程教材建设

在上面提到的第 2 个调研中,同时调研了高校数据库教材的使用情况,调查结果见表 4—表 5。可以看到,数据库原理与实践类课程的教材不仅百花齐放,也有被广泛认可、使用的教材;而数据库系统实现类教材还比较少,尤其是国内编写的数据库管理系统实现类教材还很缺乏,因此在进行课程改革的同时,进行数据库管理系统实现类教材建设就成为当务之急。

编写数据库管理系统实现教材的指导思想是,面向数据库零基础的学生,以“如何造出数据库”为目标进行内容组织,有别于国内现有教材围绕“如何用好数据库”的编写思路。教材在知识点选取上秉承更基础、更核心、更前沿的指导思想,首先通过对数据库基础内容的介绍,帮助数据库零基础的学生掌握数据库基本概念和基本理论;然后通过对数据存取、查询处理、事务处理这数据库三大核心组件的介绍,让读者能够深入了解数据库核心组件的基本原理和基本实现技术。

具体来说,全书共分为 4 13 章。第 1 篇为基础篇,包括数据库概述、关系数据模型、关系数据库标准语言 SQL、高级 SQL,共 4 章。第 2 篇为数据存取篇,包括存储管理、索引,共 2 章。第 3 篇为查询处理篇,包括查询处理、查询优化、查询执行,共 3 章。第 4 篇为事务处理篇,包括事务处理概述、并发控制、故障恢复,共 3 章。后续还会撰写与该书配套的实验指导书,让理论与实践联系起来。

4 数据库内核实践平台建设

进行从“用数据库”到“造数据库”的课程改革,遇到的最大挑战是如何配合理论学习进行实践训练,让学生能实实在在地造出一个数据库内核来。

受限于实践课时,从零开始造数据库,对于本科生来说挑战过大。以开源数据库系统为框架,抠去其中的关键功能,让学生来实现,这是一个可行的实践思路,也是 CMU、斯坦福等海外名校的做法,但现有的开源数据库系统,例如 PostgreSQLMySQLCockroachDBTiDB 等,代码量大(百万行起步)、结构复杂,直接用它们作为框架,学生难以在很短的时间内掌握框架代码,并在此基础上构建自己的数据库系统,因此需要一个适合课程教学的开源数据库系统。

为此,以知识点为导向,研制数据库教学平台 RucBase[5],让它为学生提供一个数据库内核框架,学生只要在提供的系统框架的基础上,按照各个实验的要求,以“完形填空”的方式设计数据结构,实现函数逻辑,最终构建一个完整的数据库系统内核。

RucBase 目前包含了存储管理、索引管理、查询处理、并发控制四大实验模块(见表 6)。每个实验模块包含若干任务,每个任务又包含若干子任务,每个子任务对应一个知识点。

RucBase 提供了较为完善的文档,包括环境配置文档、项目结构文档、平台使用文档等,帮助学生了解代码框架、熟悉平台的使用方法。RucBase 为每个实验提供了实验文档和指导文档,帮助学生明确实验任务和相关代码接口;同时它还为每个实验提供了测试框架,自动进行实验评测。

值得一提的是,RucBase 的各个实验模块是可剪裁的,教师可以根据学生情况、实验课时情况选择全部实验任务或挑选其中的部分实验任务让学生完成,它不会影响到整个系统的运行。目前 RucBase 已在 GitHub 上开源(https://github.com/ruc-deke/rucbase-lab),除我校外,西安电子科技大学、厦门理工学院、人大金仓等高校和企业也在使用该平台进行实践教学或企业新进员工培训。

5 结 语

数据库课程改革以调研数据为改革依据,以数据库从用到造为改革目标,以知识图谱为顶层设计,以课程建设与教材建设为核心内容,以实践平台建设为亮点。这项改革自 2020 年开始实施,在我校数据库课程中已经探索并实践了 3 年,过程中经历了许多困难,但最终取得了比较好的教学效果,证明了教零基础的本科生“如何造数据库”是可行的,这也为 2022 年启动的“101计划”数据库课程的改革奠定了坚实的基础。

2023 7 月份,我校在龙岩举办了为期4天的数据库系统课程导教班,系统地分享了课程教学与实践教学,来自全国高校的 34 位教师参加了此次导教班;同时成功地组织了计算机系统能力大赛数据库赛道的比赛,来自全国 89 所高校的 381 支队伍共计 998 位学生参与了此次“造数据库”的大赛,获得初赛功能满分的队伍中,90% 以上的队伍只学习过“如何用好数据库”的课程,但通过大赛掌握了“如何造数据库”的能力,进一步说明面向本科生开展“如何造数据库”教学改革是可行的。期待未来有更多的高校开设数据库管理系统实现的课程,为国家培养解决“卡脖子”技术的人才。

参考文献:

[1] 王珊, 杜小勇, 陈红. 数据库系统概论[M]. 6. 北京: 高等教育出版社, 2022.

[2] 王珊, 张俊. 数据库系统概论习题解析与实验指导[M]. 5. 北京: 高等教育出版社, 2015.

[3] 中国大学MOOC. 数据库系统概论基础篇[EB/OL]. [2017-09-08]. http://www.icourse163.org/course/RUC-488001.

[4] 中国大学MOOC. 数据库系统概论高级篇[EB/OL]. [2017-09-08]. http://www.icourse163.org/course/RUC-1001655006.

[5] GitHub. 实验实训平台RucBase[EB/OL]. [2023-08-08]. https://github.com/ruc-deke/rucbase-lab.

基金项目:国家自然科学基金面上项目(61972403)。

第一作者简介:陈红,女,中国人民大学教授,研究方向为数据管理,chong@ruc.edu.cn

引文格式:陈红,卢卫,杜小勇.101计划”数据库课程的改革探索与实践[J].计算机教育,2023(11):22-28.

转自:“计算机教育”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com