数据库管理实验平台的设计与实现

2018-01-11 14:35郭芸俊叶瑶
数字技术与应用 2017年11期
关键词:数据库系统视图语句

郭芸俊+叶瑶

摘要:探讨了利用网络实现数据库实验环境建设的方法;以windows操作系统为平台,使用.NET和系统自带的Web服务器作为开发工具和运行环境,采用C#语言和jQuery等脚本语言实现动态交互,设计了基于B/S的三层架构的通用数据库管理系统,构建了一个操作简便的异构数据库管理实验平台。

关键词:数据库管理;三层架构;B/S

中图分类号:TP392;G642 文献标识码:A 文章编号:1007-9416(2017)11-0162-03

实验实践是培养学生创新能力极其重要的环节,对应用型本科院校更是如此。目前,随着数据库技术的广泛应用,很多世界知名软件企业发布了各种通用数据库管理系统(DBMS)。同时,大多数本科院校的计算机及相关专业也都开设了数据库类课程[1-3],但实验实践环境往往是单一的某种数据库管理系统,究其原因主要是因为各种数据库管理系统的基本功能都是对数据库表进行各种“增删改查”操作[4],但其操作界面与使用习惯却各有不同,对结构化查询语言(SQL)的支持也各有增改,且各个DBMS动辄几个GB的安装需求,为达成基本正常运行条件也对硬件系统有较高的要求。因此,学生在单一数据库管理系统平台上完成学习后,往往形成数据库就是该管理平台的错误认知,同时,因缺少与前台应用软件的连接训练,导致学生在学完数据库相关课程后,并不知道如何去应用[5]。随着网络技术的快速发展,各种远程管理技术的不断创新,远程数据库系统、云端数据库系统的逐渐普及,对数据库系统的远程管理需求也在不断提高。数据库系统的远程管理可以通过DBMS提供的客户端来实现,其缺点是需要安装对应的客户端软件,如果同时在多个DBMS环境下做实验,在实验用机上必须安装各种客户端,这将严重影响实验用机的工作效能。所有这些因素,都给学生的学习与实践训练带来了诸多的不便。因此,探讨如何利用网络实现异构数据库管理系统实验环境建设的方法,对培养学生正确认识数据库管理系统,训练学生分析解决问题的能力都有重要的意义。

本文提出了通过浏览器/服务器(B/S)架构来实现数据库远程管理,系统无需安装客户端软件,也不需指定特定的数据库管理系统,对数据库的物理位置及具体结构没有特殊要求,只要上网即可[6],特别适合同时管理多种数据库系统,对异地异构的数据库系统可通过同一个网页实现远程管理。

1 系统总体结构

软件体系结构有两种:C/S(Client/Server)结构和B/S(Browser/Server)结构,目前C/S逐步向平台无关的B/S过渡[7]。通过分层结构的思想,可以实现软件体系“高内聚低耦合”的目标,极大地降低软件开发维护修改的风险,其中三层架构是最常见的,同时也是最为重要的一种分层式结构[8-10]。结合应用型人才培养目标,为训练学生在多种常用的数据库管理系统下都可以相对熟练的完成基本管理工作。经综合考虑,本系统采用B/S结构的三层架构方式来实现[11-12],物理数据可以分布在不同的服务器上,WEB服务器提供各种数据库系统的远程接口并将接口服务WEB化,从而提供简洁的浏览器访问。

系统的开发采用.NET平台下用C#语言进行编程,表示层采用Html、jQuery等脚本语言进行设计和编写,中间层用C#语言来实现,数据访问层接口层用来实现与数据库服务器的连接[13-16],本文中数据库服务器以Oracle、SQL Server、My SQL为例来表示异构的管理系统。该系统主要满足以下功能:用户通过该系统可以动态地变更后台数据库管理系统的连接关系,即用户可以按照需要实现多个不同数据库的连接;可以查看当前连接的数据库系统有哪些可用的数据库,即用户连接成功数据库后,可以显示当前数据库中所有库;可以实现SQL语句查询,即用户在前台输入SQL语句,系统对其进行分析处理,将结果返回给用户;可以查看选中的数据库有哪些表、视图、存储过程和触发器,即用户可以查询当前库中的所有内容,可以添加、删除及修改新的表、视图、存储过程和触发器;可以对数据库进行表结构维护,即用户可以对当前库中表的字段進行修改、删除;可以对数据内容实现基本的增删改查,即用户可以对数据库表中数据进行基本操作。系统功能结构图如图1所示。

2 系统设计

根据数据库实验的实际需求,确定了系统应具备的基本功能,采用模块化设计,主要包括数据库登录模块、数据库管理模块、新建查询模块、表查询模块及视图和函数模块。

2.1 数据库登录模块设计

数据库登录模块在系统对用户的权限进行分配及管理的基础上,对进入数据库系统的用户进行验证,判断其合法性。当连接数据库时,如果是合法用户,数据库登录名及密码等信息验证通过,进入到系统的数据库管理界面;如果是非法用户,则提示登陆数据库失败。

2.2 数据库管理模块设计

数据库管理模块主要实现数据库的管理操作,当用户登录后进入数据库管理模块,可以查看当前数据库中所有库及库中可实现的功能模块:包括数据库新建、数据库修改、数据库删除以及备份还原等。

2.3 新建查询模块设计

通过新建查询模块,用户可以输入要执行的SQL查询语句,如果输入语句正确,则执行后显示输出结果;若输入语句错误,则显示错误原因。

2.4 表查询模块设计

通过表查询模块,用户可以查看当前库中所有表,查看当前表结构,并对表结构进行维护;可以查看表中所有数据,对表数据进行增删改查的基本操作;也可以删除表。

数据库表结构,拥有字段名、主键和各种约束条件等。数据库中的字段名称一般由英文字符组成,当记录需要显示在前台界面时,记录列表的每一列所对应的抬头名称可以由用户自定义。该特性可以借助SQL规范的别名功能实现,系统通过预先获取字段名称列表的方式实现自定义列抬头功能、指定记录主键,数据查询功能是数据操作中最主要的功能,是其他数据管理的基础,这是由于单条记录的获取、修改和删除都需要查询结果集中记录的主键字段作为记录的唯一标识。所以在配置逻辑属性时,还需要用户指定一个字段或若干字段的组合为记录的主键字段。endprint

(1)数据查询,包括从不同数据源获取数据、分页显示、重命名字段名等操作。(2)数据插入,解析逻辑配置中插入数據的SQL语句,执行解析后的完整SQL语句以达到数据记录插入的目的。(3)数据修改,数据修改分为两步,分别是数据记录内容的获取和保存修改后的新值。解析逻辑配置中获取数据的SQL语句,执行解析后的完整SQL语句以达到数据记录内容获取的目的。数据修改需要替换的变量包括可修改的字段名称以及修改条件中的主键名称,由于不便检测用户在界面上具体修改了哪些值,所以SQL语句中需要包含所有可修改的字段以避免遗漏。(4)数据删除,解析逻辑配置中删除数据的SQL语句,执行解析后的完整SQL语句以达到数据记录删除的目的。

2.5 视图和函数模块设计

视图查询即解析逻辑配置中查询视图源的SQL语句,执行解析后,显示当前视图及创建时间;函数查询即解析逻辑配置中查询数据库中的预定义SQL语句存储过程和触发器,执行解析后,函数查询即可以查看数据库中的存在的函数。

3 系统测试

系统的运行环境为Windows操作系统、VS2010及由SQL Server、Oracle及My SQL组成的数据库管理系统,以SQL Server为例介绍数据库登录测试及新建查询测试,根据系统要求,还应包括表查询、视图查询和函数查询等测试,这里不再一一列举。

3.1 数据库登录测试

测试输入的服务器名、登录名及密码是否正确。若不正确,提示错误;若正确,提示成功,并经跳转页面进入数据库管理主界面。在登陆界面输入正确信息,其中服务器名为(local)\SQLEXPRESS,登录名及密码分别为sa及123,显示数据库连接成功,并跳转到主界面,如图2和图3所示。

3.2 新建查询测试

输入SQL查询语句,若输入正确,如“select * from users”,则在页面上显示查询结果,即显示users表中所用数据,如图4所示;若输入错误,如“show users”,则在页面上显示错误原因,如图5所示。

4 结语

该平台的设计与实现,紧密联系实际需求,构建了一个异构数据管理真实环境,使实验环境与企业的实际需求相对接,充分调动了学生学习的主动性,使学生能利用现有的数据库系统完成软件开发,加强了学生数据库应用能力,极大的提高了学生的实践动手能力。

参考文献

[1]李楠楠.《数据库应用技术》实验课程教学方法的改革与实践[J].科技信息,2013(34):357-358.

[2]闾燕.面向应用型人才的数据库课程实验教学改革探讨[J].福建电脑,2014(11):68-69,90.

[3]罗晓霞.《数据库原理及应用》实验教学改革研究与实践[J].教育教学论坛,2016(8):155-156.

[4]霍迎旦.数据库管理系统设计与实现[J].长春理工大学学报,2010,5(7):73-75.

[5]金梅,滕艳平,王海珍.《数据库原理与应用》实验教学研究与探索[J].实验科学与技术,2013,11(5):131-133.

[6]高屹.一个通用数据库管理系统工具的研究与实现[J].军事通信技术,2008,29(1):19-22,37.

[7]路遥.基于三层架构下的数据访问研究和应用[D].长春:长春理工大学,2009.

[8]李红芹.基于三层架构的.NET数据库业务系统开发[J].计算机与现代化,2009(10):120-125.

[9]张焰.三层Client/Server构架结合Datasnap技术的应用研究[J].电脑与信息技术,2004(06):39-42.

[10]Cai Mingxing,Zheng jintao.Three-Tier Knowledge Management System Base on .NET[J].Journal of Software Engineering and Applications,2009(2):40-43.

[11]王进.B/S模式下的三层架构模式[J].软件导刊,2011,10(3):30-31.

[12]赵丁,勾智楠.基于Web的远程数据库管理探究[J].硅谷,2014(05):66,62.

[13]张磊.通用数据管理系统的设计与实现[D].北京:北京邮电大学,2010.

[14]叶安胜.基于.NET架构的WEB数据库访问技术研究与应用[D].成都:电子科技大学,2004.

[15]王海燕.C#.NET下三层架构数据库应用系统开发[J].计算机技术与发展,2012,22(06):78-81.

[16]陈谊楠.基于.NET平台采用ADO.NET实现数据访问层[J].电脑编程技巧与维护,2012(4):35-36,57.

Abstract:In this paper, the method that how to explore a database experimental platform by network is discussed. The windows operating system is adopted, the .NET and its own Web server are taken as development tool. Besides, C# language and jQuery language are used to realize the interaction dynamicly. The three-tier architecture general database management system based on B/S is designed ,and the convenient heterogeneous database experimental management platform is constructed, which plays a certain role in improving experimental effect.

Key Words:database management; three-layer application;B/Sendprint

猜你喜欢
数据库系统视图语句
重点:语句衔接
数据库系统shell脚本应用
视图
微细铣削工艺数据库系统设计与开发
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
实时数据库系统数据安全采集方案
核反应堆材料数据库系统及其应用
如何搞定语句衔接题
作文语句实录