工程数据库课程教学的研究

2022-12-09

国家“十五规划”将“以信息化带动工业化”作为我国工业发展的战略, 既熟悉工程技术背景, 又掌握计算机及信息技术的高级专业技术人才尤为重要, 目前我国该方面的专业人才的缺口较大, 为了顺应时代需求, 我校机械学院设置了机械信息化专业方向, 其基础课程之一便是工程数据库, 该课程是以解决工程实际需求为目标, 将数据库的理论与技术应用工程项目的系统设计与实施全过程, 提供数据管理、数据挖掘和图形图像处理等功能。与计算机专业数据库原理课程教学有所不同, 其原因包括: (1) 学习对象是非计算机专业学生, 计算机基础理论和应用系统开发能力相对较缺乏; (2) 学生已具有一定的工程技术背景, 初步具备了制造行业的业务知识, 但对数据库技术在工程中的应用仍缺乏总体认识。因此, 在本课程教学过程中, 需要补充相关的计算机基础知识, 如:数据库设计的原理、软件工程学等, 让学生熟悉至少一种数据库管理系统及应用系统开发语言, 补充机械行业信息化系统应用实例, 以使学生能够利用所掌握机械行业的业务知识和信息化系统的基本开发技能, 构建相应信息系统。

1 教学目标与教学内容

1.1 教学目标与教学内容

本课程的教学目标是:通过本课程的学习和实践, 学生能够掌握数据库及其管理系统的基本概念和知识;初步具备独立管理数据库的基本技能, 培养学生较全面的分析、设计以及实施数据库应用系统的能力, 具体教学内容如下:

(1) 使学生掌握数据库系统的基本知识, 提高学生的理论知识和水平。这些基本知识包括:数据库系统的组成、模式结构和体系结构、实体联系模型等;关系数据库数学模型, 如关系模型、关系代数、关系演算等;关系数据库设计理论, 如函数依赖、关系模式的规范化理论、函数依赖的公理系统等。

(2) 使学生掌握基本的数据库操作、使用和维护等技术和方法, 培养学生的实际动手能力。这些技术和方法包括:数据库的设计方法, 数据库的安全保护技术和关系数据库查询语言SQL等, 并能够运用一种流行的数据库管理系统D B M S (D a t a B a s e M a n a g e m e n t System, 如:Microsoft SQL Server 2000) 来设计数据库及其数据处理等操作。

(3) 使学生能够利用数据库技术及计算机程序开发语言, 从概念设计到系统实现, 让学生设计和开发一个数据库应用系统, 提高学生的综合素质。在这个过程中, 学生需要运用软件工程学、高级程序设计方法学和网络技术等相关知识, 应加强对该部分知识的介绍。

(4) 使学生了解当前数据库的发展及其趋势, 培养学生的科研素质。在学习和应用开发过程中, 让学生学习和掌握一些当前计算机领域的新技术, 如面向对象技术、分布式数据库、设计模式和数据库访问方式。

由于工程数据库是一门实用性较强的课程, 结合理论教学, 设置了30学时的上机指导实验, 具体内容包括:数据库、表和视图的创建、Transact-SQL编程、数据库的备份与恢复、用户权限与角色管理、存储过程和触发器编写。通过上机实践, 配合课堂教学内容, 加深对数据库的基本概念和基本技术的理解, 熟悉数据库系统设计的基本思想和基本步骤, 掌握Transact-SQL语言, 认知一些典型的关系数据库应用系统, 使学生的动手能力有较大的提高。

1.2 教学难点

本课程的教学难点是:怎样让学生理解基础理论, 并将基础理论应用于具体的信息管理系统数据库系统设计中, 包括理论和应用两个方面的教学难点, 其中理论方面如关系数据库数学模型和设计理论;在应用方面有:触发器和存储过程SQL语句、数据访问方式和应用系统的设计模式。例如在理论方面, 关系数据库中属性间的函数依赖较难确定, 关系模式的求码、范式规范以及分解均与属性间的函数依赖关系有关, 它的合理设计有理解关系数据理论的基础, 是正确设计关系模式的第一步, 如果函数依赖关系设计失误, 将影响整个数据库系统。在该知识点教学过程中, 笔者结合一个学生管理系统, 给学生讲述了学生、课程和学院间的关系模式, 即S A (学号, 姓名, 学院名, 学院负责人, 课程号, 课程名, 成绩) 中, 就有以下函数依赖集:

F={学号→姓名, 学号→姓名, 系名→系负责人, 课号→课名, (学号, 课号) 成绩}包含:完全函数依赖, 如:, 即:成绩由 (学号, 课程号) 两者全部才能确定。

部分函数依赖, 如: (学号, 课号) 姓名, 即:成绩由 (学号, 课程号) 关系中的学号确定, 只存在部分函数依赖。

传递函数依赖, 如: (学号) 学院负责人, 即学生的学号确定该生所处的学院, 而确定了所处学院, 该学院的负责人也相应确定了, 该过程就是一个传递依赖过程。

在SQLSERVER 2000中的教学难点在于Transact-SQL语言、存储器和触发器的设计, 在SQL查询过程中, 结合SQL Sever2000自带的pubs数据库讲述SQL语言的设计, 通过设置不同的查询条件, 在一个表或多个表中进行S E L E C T、I N S E R T、U P D A T E和D E-LETE操作。与在客户端调用、编写TransactSQL程序集合相比, 结合笔者的信息管理系统项目实施经验, 着重讲解了存储过程的执行速度快和安全机制控制好等优点, 结合pubs数据库, 现场编写了一个带输入和输出参数, 并利用输出参数进行流程控制的一个存储过程的设计, 使学生掌握了存储过程的语法规则。

触发器设计也是教学难点, 主要是让学生理解在数据库操作语言所执行过程创建的inserted或/和deleted临时表, 以UPDATE操作为例, 将其分解成D E L E T E和I N S E R T两个步骤, 即捕获数据前像 (before image) 的DELETE语句, 和捕获数据后像 (after image) 的INSERT语句。当在定义有触发器的表上执行UPDATE语句时, 原始行 (前像) 被移入到deleted表, 更新行 (后像) 被移入到inserted表。触发器检查deleted表和inserted表以及被更新的表, 来确定是否更新了多行以及如何执行触发器动作。

2 教学手段与考评方式

2.1 教学手段

由于该课程内容与实践联系较强, 如果采用单纯的知识体系教学, 教学效果势必受到影响, 同时学生的听课积极性也会减弱。对此, 采用理论讲授、实践训练和互动讨论相结合的方式进行教学, 具体为:结合实际信息管理系统的项目实施经验与教训, 将理论融于实践, 利用现代化的多媒体教学手段以及程序现场编写、调试和运行的教学方式, 向学生介绍工程数据的理论知识。

以笔者自己开发实施的一个健身会所方面的会员管理系统, 数据库管理系统是SQL SERVER 2000, 程序开发工具为VB6.0, 结合该系统讲解了ODBC (Open Database Connectivity) , DAO (Data Access Objects) , RDO (Remote Data Objects) , OLE DB (Object Linking and Embedding Database) , ADO (Active X Data Objects) 等数据库访问方式间的区别与联系, 同时, 结合该系统的实际开发过程, 讲解了ADO编程模型中的关键部分, 如连接、命令、参数、记录集、字段、异常、属性、集合和事件等对象。以笔者开发的一个机械行业企业的ERP系统, 结合该系统, 串联了工程数据库课程的全部讲解内容, 着重讲解了企业信息化系统的设计、实施过程和注意事项, 为学生展示了实实在在企业应用的ERP系统, 使学生真正了解该课程如何为机械行业的企业信息化服务。

2.2 考评方式

结合该课程的实际情况, 笔者将考试分为两部分, 理论考试 (占70%) 和实际系统开发 (30%) , 其中由于理论考试主要考查学生对该课程基础理论, 基本知识和基本技能的理解和综合运用能力, 因此考试形式为开卷考试, 允许并鼓励学生多带参考资料入场, 以避免学生落入死记硬背的圈子里。

实际系统开发布置的题目为“学生信息管理系统的开发”, 数据库管理系统为SQL SERVER2000, 应用系统开发语言自定, 允许学生1~3人/组, 开发时间为一个月左右, 要求学生将所学理论体现在整个系统实现过程中, 做到学以致用。

3 教学效果

在实际系统开发方面, 虽然学生在程序设计语言方面有所欠缺, 但学生仍然表现出浓厚的兴趣, 并通过参阅相关书籍来解决自身开发语言方面的弱点。图3是学生信息系统开发分组情况, 全班37人中, 共有31人选择单独开发, 仅3个2人/组为合作开发, 而没有3人/组的设计小组, 可知:学生对此表现出较强的自主开发欲望, 希望在系统开发过程中, 将所学知识巩固加深, 提高自己的系统设计和开发能力。通过对数据库理论知识的系统分析能力、系统功能的实现情况及界面设计的美观程度等方面进行考查, 结果表明:大多数同学较好地的满足了设计要求, 达到了考查目的。

4 结语

以实际的项目经验为基础, 将工程数据库中的理论知识用于案例分析中, 积极引导学生主动参与讨论并解决问题, 培育了学生系统分析、设计和开发能力, 加深了学生对机械信息化系统地认识, 具体包括以下方面:

(1) 师生互动, 学生由被动接受变成主动参与, 提高了知识接受和应用能力。

(2) 以项目案例中遇到的问题为切入点, 通过引导学生对问题的讨论和分析, 提高了学生解决问题的能力。

(3) 基于项目案例分析为基础, 通过课堂教学和上机指导两方面的强化, 培育了对工程数据库系统的开发兴趣, 以实际工程信息系统开发为锻炼目的, 提高了学生的系统分析、设计、开发和实施能力。

摘要:讨论了工程数据库的教学目标、教学内容和教学难点。基于工程项目案例为讨论对象, 阐述与数据库理论和信息系统设计开发相结合的教学手段与考评方式, 分析在该教学模式下的教学效果。

关键词:工程数据库,课程教学,信息系统

上一篇:浅谈安全工程体系的建构下一篇:矽肺患者的健康教育体会