APP下载

面向基础软件人才培养的数据库课程实验设计

2020-12-23

中文信息 2020年11期
关键词:实验设计基础实验教学

(苏州大学计算机科学与技术学院,江苏 苏州 215006)

以操作系统、数据库为代表的基础软件在信息系统中起着基础性、平台性的作用。它们对应用不可或缺,决定了应用系统的开发与执行效率,是软件产业链的王冠,承载着软件生态。我国软件产业主要集中在应用层,各类应用系统过多依赖国外或开源的基础软件,导致了“卡脖子”现象和信息安全等问题。

虽然我国政府充分认识到国产基础软件的重要性,大力倡导基础软件研发并给予了资金和项目上的政策倾斜。但是基础软件人才的匮乏严重制约了我国基础软件发展,亟须优化数据库等课程与实验教学,使学生更好地认识数据库系统,理解RDBMS内核架构与功能模块,最终具备包括RDBMS在内的基础软件的设计与开发能力。

在数据库课程以操作系统、数据结构、编译原理和程序设计等为前置课程。实验教学中需要兼顾学生应用技能、系统思维、复杂工程能力的培养。具体来说,我们从RDBMS系统的使用与实现两个角度(即两个模块)来开展课程的实验教学,如图1所示,下面将结合实际教学工作对相关内容分别阐述如下。

图1 课程内容框架

一、RDBMS操作的实验设计

在应用方面,重点培养实际业务场景中的数据库运用能力,以RDBMS的操作与设计为主要内容,包括:

-虚拟机与数据库管理系统的安装与登录,其中数据库可以使用SQL Server/MySQL/PostgreSQL等传统关系数据库,也可以选择OpenGauss作为数据库开展课程实验;

-数据定义语言,包含通过SQL语言完成数据库的创建、更新、删除,完成数据表、索引、视图、完整性约束的创建、更新、删除,了解相关关键参数的设置(例如增量大小等);

-数据操纵语言,包括基于数据库基本表与视图的数据插入、删除、修改、查询等基本操作的运用,以及触发器、存储过程的使用与编程;

-数据库控制,包括访问控制、数据库的备份与恢复、事务隔离级别设置等,理解事务提交、回滚与锁机制;

-数据库性能测试,基于Tpcc等公开数据进行数据库的性能评测;

-数据库设计,基于给定业务场景,画出ER图,基于规范化理论设计合理的关系数据库模式。

二、RDBMS系统实现的实验设计

在系统实现方面,在数据库原理的理解基础上,大型基础软件的设计与实现能力主要目标,从RDBMS模块化功能实现的角度设计课程实践。具体来说,相关实验可以依托SimpleDB等数据库实验资源,以RDBMS的存储、查询处理、事务管理模块为主要内容开展实验教学,具体包括:

-RDBMS存储管理的设计与实现,在该模块中,学生需要理解数据库中数据的表示、访问与管理机制,设计并实现针对性的物理存储结构(包括元组、数据库块、分区的基本结构等),支持包含变长子段元组的持久化存储和连续、随机访问,设计并实现数据字典,对数据库元信息进行有效的表示与管理;

-RDBMS高速缓冲区管理的设计与实现,学习数据的缓存机制,设计并实现数据库高速缓冲区的管理方法,利用LRU等经典策略完成Buffer Pool的数据置换,提升缓冲区数据的命中率以降低I/O;

-RDBMS数据操作的设计与实现,这部分主要针对数据操作,在存储结构之上支持SQL操作,包括select、insert、delete、join、group by、order by等,如课时有限,可以对Group By的功能进行简化;

-RDBMS 查询优化的设计与实现,学习B+树等经典数据索引结构,通过索引技术为系统提供有效的数据存取路径,提升单值查询、范围查询、存在性查询性能,在此基础上,实现基于经典Cost模型的优化器,利用left-deep-tree和动态规划等思想实现Join操作的性能优化;

-RDBMS事务管理的设计与实现,该部分提供数据库的事务管理,保证ACID特性,内容主要包括单粒度/多粒度两阶段封锁、死锁的检测与解除等,基于日志的Redo、Undo及数据恢复可作为实验设计的选做内容。

在课时安排方面,RDBMS操作的实验设计(模块1)预计16-20课时,RDBMS系统实现的实验设计(模块2)预计40-60课时。模块2可以采用SimpleDB等课程资源,也可以基于文件系统选择部分功能进行分组实验。

猜你喜欢

实验设计基础实验教学
“不等式”基础巩固
“整式”基础巩固
不同的温度
有趣的放大镜
电容器的实验教学
哪个凉得快?
无字天书
几何体在高中数学实验教学中的应用
“五抓五促”夯基础