欢迎来到专业的米粒范文网平台! 心得体会 工作总结 工作计划 申请书 思想汇报 事迹材料 述职报告 教学设计
当前位置:首页 > 范文大全 > 公文范文 > 正文

企业级数据库集成应用实践教学体系设计

时间:2022-11-19 09:00:04 来源:网友投稿


打开文本图片集

摘要:按照远程客户端用户连接数据库、访问数据库到输出打印报袁的流程,结合B/S环境下和C/S环境下的两类用户,基于两个经典案例数据库,运用直观演示、剖析内涵和动手实践的教学路线,本着从数据库外部用户到数据库内部编程以及从数据库内部编程到外部打印输出的逻辑步骤,设计了企业级数据库集成应用的实践教学体系和具体教学环节。

关键词:企业级;集成应用;典型架构;职业角色;模块化

0、引言

当前,信息技术的飞速发展,已将我们带入了网络时代。数据库应用也已与网络环境相适应,网络环境下的数据库应用系统不断地增加。当今的网络数据库应用系统,主要有Client/Server(简称C/S)模式、Browser/Server(简称B/S)模式或二者混合3种模式。C/S应用模式是基于Windows应用的,而B/S模式是基于Web应用的。

现代的数据库应用系统是一个集成应用系统。首先,数据库系统自身的查询语言并不能表达所有查询要求,因为SQL不具备通用编程语言一样的表达能力。也就是说,有可能存在一些查询,需要用c、C++、JAVA或Cobol写出,而用SQL做不到。要写出这样的查询,需要将SQL嵌入到一种更强大的语言中。其次,非声明性的动作不能用sQL实现。例如,打印一份报告,和用户交互,或把一次查询的结果送到一个图形用户界面中。一个应用程序通常包含多个部件,查询或者更新只是针对其中一个部件,而其他部件则可用通用编程语言实现。而对于一个集成的应用来说,用编程语言写出的程序必须能够访问数据库。

数据库应用的一个重要方面是建立在数据库之上的管理信息系统,用数据库组织和管理信息系统中的数据资源。开发一个企业级管理系统的典型架构模式是4层体系结构,即从数据库、数据访问层、业务逻辑层再到用户层4个层次,以满足开发、运行和维护管理信息系统工程化之需。依赖企业级数据库开发一个信息系统,要将其分解为若干模块,这需要一个团队来完成。团队中的每个成员负责其中的部分模块。每个成员依据系统设计蓝图,编程实现自己负责的模块。当各个模块完成时,需要进行联调。

综上所述,企业级数据库应用系统从环境看为网络环境,从功能角度看由若干功能模块集成,从层次的角度看由前后相互衔接的分层模块协作完成,这种数据库应用系统被称为集成应用系统。为此,学校模拟企业数据库应用的真实环境来设计实践教学体系,以缩小毕业生实际应用能力与企业实际需求之间的差距,从而向社会输出具有岗位胜任能力的合格劳动力。这样,大学生在校期间就能形成工程化、模块化的概念,使得他们进入企业后无须过长时间的培训即可上手,降低了企业的用人成本,提高了毕业生的社会认可度。

企业级数据库集成应用实践教学体系设计的总体思路是依赖商业银行和电影明星两个对偶数据库,面向Windows和Web两种应用,涉及Client/Server和Browser/Server两种架构,贯穿安全性这一条线索,针对企业级4种职业岗位,设立基础铺垫、直观体验与动手实践的3步教学法,秉承精讲精练的基本立场,坚持工程化的基本导向,以激发学生的学习兴趣,增强学生自主探究的动力,提高学生集成应用的能力,培养学生独立分析问题和解决问题的能力,切实提高教学质量。具体包含4个方面的内容:

①Client/Server架构下远程学生机客户端登录到教师机数据库服务器;

②数据库服务器配置与数据库编程基础;

③Windows客户端与Web客户端借助ODBC与ADO技术访问数据库服务器;

④Windows客户端与Web客户端借助ATLCOM组件访问数据库服务器。

实践网络环境是由80台机器组成的电子教室,其中79台为远程同步教学系统客户端(学生端),1台为远程同步教学系统服务器端(教师端)。计算机的操作系统为Windows XP,数据库系统为Microsoft SQL Server 2005 Management Express。

1、C/S架构下远程学生机客户端登录到教师机数据库服务器

本部分针对系统管理员和数据库管理员,讲述在Windows应用环境下数据库集成应用的网络环境配置。它包含逻辑上紧密相连的3个环节:①学生机与教师机在工作组内互通;②数据库服务器配置远程客户端登录;③学生机登录教师机数据库服务器。经过这3个环节的训练达到如下教学目的:

①学生直观理解工作组的概念;

②学生直观体验C/S架构的概念;

③当学生机客户端无法连接到教师机数据库服务器时,学生可按这3个环节来排查,独立分析问题并解决问题;

④让学生掌握针对C/S架构为Windows XP或Windows 7.0桌面操作系统提供支撑技术。

1.1 学生机与教师机在工作组内互通

从以太网局域网的角度看,学生机与教师机是对等的,不是主/从的概念,也不是客户端/服务器的概念。为确保Microsoft SQL Server客户端能够远程连接到服务器,首先学生机与教师机要在网络中的同一个工作组内相互可见。

为此,学生首先要保证自己的计算机在局域网内的TCP/IP协议层是连通的。确定连通的方法是观察“本地连接”,如果其状态为“已连接上”,则学生机在局域网内TCP/IP协议层是连通的。

然后,学生核实自己的主机名和工作组,确定自己的计算机与教师机在同一工作组。在获知教师机主机名的前提下,学生在本身的“网络邻居”中查看“工作组内的计算机”。如果能看到教师机,便保证了局域网内TCP/IP协议层的相互可见。

教师在教师机内查看自己工作组内的计算机。凡是在教师机端“网络邻居”的“工作组内计算机”能看到的学生机,都具备了组内连通条件。之后,教师将教师机网络连接中的Windows防火墙关闭。

此时,学生可在学生机运行“ping”命令,直观检测远程连接教师机。如果连通,学生机作为SQL Server客户端具备了访问远程登录到教师机服务器的网络环境。

1.2 教师机Microsoft SQL Sewer数据库服务器的配置

我们先阐明服务器(Servet)与客户端(Client)的概念,即Client/Server架构。Client/Server是从应用的角度来区分的,是从服务的提供方和请求方进行的划分。服务器端与客户端都是计算机,在局域网内二者是对等的,不过发送请求的一端被称作客户端,而接受请求并处理相应请求的被称为服务器端。

在理解C/S架构概念的基础上,如何配置教师机Microsoft SQL Server数据库服务器。启动“配置工具”的“SQL Server配置管理器”,分别启动预期的SQL Server实例和SQL ServerBrowser,对应的启用SQL Server实例和SQLServer Browser连接所用的网络通信协议:SharedMemo、Named Pipes和TCP/IP。此外,还需要启动“服务与连接的外围配置管理器”,配置“Database Engine”的“远程连接”为“本地和远程连接”的“同时使用TCP/IP和named pipes”模式。

1.3 学生机客户端远程登录到教师机服务器

为使学生直观体验Microsoft SQL Server Browser登录远程数据库服务器,我们先给学生一个已经配置好的登录名和对应的密码,让学生在学生机端按此登录名登录。

教师机服务器名在局域网工作组内是一个二元组(主机名、数据库服务器实例名)。这样学生在学生机Microsoft SQL Server Browser客户端的“服务器名称”编辑框中输入“SKYFLY-OKkLHB”(SKYFLY-OK为教师机主机名,LHB为数据库服务器实例),在“身份验证”下拉栏中选择“SQL Server身份验证”,最后按指定的登录名和密码登录。

2、数据库服务器配置与数据库编程

数据库服务器配置与数据库编程是针对系统管理员、数据库管理员和数据库程序员的。首先,教师在Windows应用环境下,讲述数据库管理员把数据库服务器的权限授权给其他用户的过程,其次讲解有权限的用户进行数据库编程的4个主要方面,达到如下教学目标:

①让学生树立在数据库服务器管理中以安全为先的观点,并掌握相关的知识;

②让学生按层次脉络系统地掌握数据库的编程知识,树立系统思维,全面提高编程能力。

2.1 数据库服务器配置

数据库服务器的配置有最基本的两个层次:一个是服务器属性的配置,另一个是建立登录名。建立登录名实际上就是建立合法的登录数据库服务器用户并授予其相应的服务器角色、数据库角色和基本的数据库访问、创建和修改功能。在这里,教师要给学生树立一个基本观点:对数据库服务器所属一切资源的访问、创建和更新皆有权限限制,所有的一切不是理所当然的。这样做可以避免在数据库编程调试环节中的许多问题的发生,提高课堂教学效率。

实践教学体系的教师机数据库服务器名称为“TeacherSQLExpress”,它集成两个案例数据库,一个是Branch,另一个是Movies。Branch数据库和Movies数据库的关系模型和记录数如表1所示。

TeacherSQLExpress配置的步骤如下:

1)登录到TeacherSQLExpress。

在教师机端以Windows身份认证或SQLServer的sa用户登录到TeacherSQLExpress。为保证学生机客户端能够登录到TeacherSQLExpress,TeacherSQLExpress属性的最小化配置为服务器的身份验证方式为“SQL Server和Windows身份验证模式”,其他默认。如果更改了TeacherSQLExpress属性则需进行重启动后再登录。

2)依次建立3个登录,目的是让学生登录后进行不同操作以直观理解角色与权限的含义。

①新建“TryBranch”登录,密码为738441242,强制实施密码策略,默认数据库为Branch,服务器角色为“sysadmin”,使用SQL Server身份验证方式,“状态”设置为“授予允许连接到数据库服务器,启用该登录”。

②新建“HeUoBranch”登录,密码为738441242,强制实施密码策略,默认数据库为Branch,没有任何服务器角色,使用SQL Server身份验证方式,“状态”设置为“授予允许连接到数据库服务器,启用该登录”。在“用户映射”选项中选中“Branch”数据库,自动将“HeUoBranch”登录映射为“HelloBranch”用户,自动分配默认架构dbo;接下来设置Branch数据库用户“HelloBranch”的数据库角色为“db owner”和“public”。

③新建“CommonBranch"’登录,密码为738441242,强制实施密码策略,默认数据库为Branch,没有任何服务器角色,使用SQL Server身份验证方式,“状态”设置为“授予允许连接到数据库服务器,启用该登录”。在“用户映射”选项中选中“Branch”数据库,自动将“CommonBranch”登录映射为“CommonBranch”用户,自动分配默认架构dbo;接下来设置Branch数据库用户“HelloBranch”的数据库角色为“public”,“安全对象”中仅授予一个access“表”对象的“select”权限。

3)直观体验。

学生在学生端用TryBranch、HelloBranch、CommonBranch同时连接到TeacherSQLExpress。

观察1:激活TryBranch连接,新建一个数据库、在Branch中添加一个表、在Movies中添加一个表,结果如何?

观察2:激活HelloBranch连接,新建一个数据库、在Branch中添加一个表、双击Movies数据库,结果如何?

观察3:激活CommonBranch连接后都能看到什么?

观察完毕后,教师解释产生这些现象的原因。

4)动手实践。

与创建TryBraach、HelloBronch、CommonBranch3个登录类似,学生动手以Movies为默认数据库创建登录名为“TryMovies学号后两位”、“HelloMovies学号后两位”、“CommonMovies学号后两位”3个登录,之后用自己的3个登录名登录到TeacherSQLExpress,重复观察1、观察2与观察3在Movies上对称操作的现象,由学生解释产生这些现象的原因。值得学生思考的是:用什么登录才能创建新的登录?

2.2 数据库编程基础

数据库编程基础包括附加与分离、建库、备份与还原、建表、完整性约束、简单查询、复杂查询、数据库修改(Insert、Delete、Update)、函数与存储过程、触发器、视图。其中,重点为备份与还原、双重否定实现除操作、函数与存储过程、触发器。

为简化叙述,先给出对偶数据库的概念,在直观体验中教师各个知识点所用的数据库和学生动手实践中各个知识点所用的数据库互为对偶,即教师在具体知识点所用的数据库为Branch,则在学生端训练该知识点的对偶数据库为Movies,反之亦然。

1)直观体验。

(1)附加与分离、备份与还原、建库、建表。教师以TryBranch连接登录到TeacherSQLExpress,先用向导直观演示这些操作应用向导实现的步骤与过程,接着用程序在查询分析器中演示这些操作的程序实现。每执行一个命令程序,让学生观察运行结果。

值得一提的是,命令式完整性约束体现在create table命令中,涉及主码、唯一性、check、非空、参照完整性4类约束。

(2)简单查询,不但涉及基本的SELECT、FROM和WHERE子句,还包括group、having、order bv子句,以囊括聚集函数和字符串匹配。

教师以TryBranch登录,在Branch数据库上给出能够涵盖简单查询10道题目。每道题目涉及至少2个表。分别执行这些查询让学生观察执行结果。

(3)复杂查询,涉及集合间成员关系、集合间的比较、映射基数嵌套子查询3个方面。

教师以TryBranch登录,在Movies数据库上给出这3类复杂查询的3个题目,分别对应3个知识点。每道题目涉及至少3个表,且能同时用连接和嵌套子查询2种方法实现的程序各一套。这样,当数据库中表的记录数多时,直观比较连接和嵌套子查询的运行时间差异。教师深刻阐明现象背后的原因,连接的本质是笛卡尔积。笛卡尔积使连接操作时间开销成指数级地倍增,这样学生能深刻领悟其中的道理。

(4)除操作与数据库修改。除操作是最常用的查询操作。对于初学者而言,也是最难把握的操作。如果除操作能够掌握,一般而言SQL查询就能全部掌握,所以单独拿出1课时来训练除操作。

教师以TryBranch登录,在Branch数据库上给出双重否定实现除操作的3道题目。每道题目涉及至少3个表,2层嵌套子查询,即子查询内还有子查询,分别执行这些查询让学生观察执行结果。

这样直观展示除操作的结果还不够,最终要把每道题目用离散数学的集合论和谓词逻辑来表示查询。这样,从数学的角度描述查询,更加简洁抽象,有助于学生站在概念层和逻辑层来理解除操作的本质。

数据库修改相对除操作而言比较容易。教师以TryBranch登录,在Branch数据库上给出增加、删除和更新的题目各2道。但删除和更新时各自要预设1道违反参照完整性的题目。教师执行这些题目的实现程序,让学生观察结果,解释原因。

(5)函数与存储过程、触发器、视图,从数据库应用的角度看,这几个概念都很重要,从数据库的角度看,这些都是对象。

教师以TryBranch登录,在Branch数据库上给出函数、存储过程、after触发器、instead of触发器、视图的定义题目各2道,给出对应的对象定义实现程序,然后逐个执行各个定义并观察现象。

接着,教师针对每个对象,各给1个应用题目,编写上述定义的应用程序,可以逐个执行,也可以批量执行,并观察现象。

最后,教师讲解背后的语法和相关原理。

2)动手实践。

教师在对偶数据库上布置相应数目的题目,让学生动手实践。

3、Windows客户端与Web客户端借助ODBC与ADO技术访问数据库服务器

本部分内容集成了动态SQL、ODBC、ADO和系统动态链接库5项技术。

1)直观体验。

(1)建立数据源。按照指定的登录名建立数据源,该登录名要满足应用程序的数据使用需求,具有相应的应用权限,直观给出以TryBranch登录数据库,建立数据源的步骤。

(2)在Visual c++6.0中,教师基于C/S架构的双层结构,运用ODBC和ADO技术,分别给出基于Win32控制台应用的支行信息浏览程序2套。教师先演示数据源的建立,再演示2个应用程序的执行结果,对比分析ADO和ODBC的异同点和具体的应用方法。这里,只需要讲清楚运用DataBase以及RecordSet两个类实现应用程序连通数据库即可,不可陷入复杂的Visual c++应用程序细节,以免喧宾夺主。

(3)ASP.NET平台下,教师基于B/S架构的3层结构,运用ADO技术,实现访问数据库Web应用程序的支行信息浏览功能。教师只需给出GridView控件和SqlDataSource控件展示数据和连通数据库的基本功能,无需过多陷入ASENET程序知识,只要以最小的时间开销讲清楚ASENET应用程序如何连通数据库即可。

2)编程实践。

教师在对偶数据库上给出影星信息浏览两种应用程序。

4、Windows客户端与Web客户端借助ATL COM组件访问数据库服务器

本部分内容针对应用程序员,集成ATL COM组件,实现信息系统开发的模块化和工程化。学生不需要在本课程中学习开发ATL COM组件的方法,但应该掌握已经注册的ATL COM组件访问方法,使用ATL COM组件提供的接口服务编制高层的应用程序。

我们提供的ATL COM组件为Administrator ATL.dll,它模拟商业银行的行政办公人员,对外提供了数据库登录、数据库断开、支行信息查询、支行删除、支行增加、支行更新、雇员查询、雇员增加、雇员更新和雇员删除等服务。学生由此访问领悟到ATL COM组件封装了业务逻辑细节以及借助ADO技术访问数据库的细节。学生只要学会在应用程序中引用ATL COM组件的方法即可轻松编制应用程序。

1)直观体验。

①Windows客户端借助ATL COM组件访问数据库服务器。基于C/S架构的3层结构,提供了Win32应用程序模板,给出了支行信息浏览、增加与删除功能。

②Web客户端借助ATL COM组件访问数据库服务器。我们基于B/S架构的4层结构,提供了基于ASENET平台和C#语言的Web应用服务器程序模板,给出了用C#语言封装引用Administrator ATL组件接口的具体方法,具有普适性。

2)编程实践。

教师针对雇员信息浏览、增加、修改与删除,给出相应的Win32应用程序和Web应用程序。

5、结语

我们在开设数据库实验课时,涉及的绝大部分基础铺垫知识在理论课已经完成,只有理论和数据库开发系统实例有差别时,才着重分析这种不同。进一步地,我们正准备编写与该实践体系配套的企业集数据库集成应用系统教材。在该教材中还将集成打印报表功能,真正实现企业级的最基本集成,使得应用型人才培养在数据库实践课程里落地生根。

推荐访问:企业级 实践 体系 集成 数据库

猜你喜欢