首页 > 范文大全 > 正文

医院信息系统中数据访问技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇医院信息系统中数据访问技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:数据访问技术是构建医院信息系统的关键技术,技术和LINQ技术是两种重要的数据访问技术。在对两种技术访问数据库的过程及其技术特点进行深入探讨后,得出LINQ技术比技术更具有优势的结论。

关键词:医院信息系统;数据库;;LINQ

中图分类号:TP392 文献标识码:A 文章编号:16727800(2013)009012302

作者简介:张昌明(1968-),男,硕士,徐州医学院医学信息学院讲师,研究方向为虚拟现实、数据库;马金凤(1981-),女,硕士,徐州医学院医学信息学院讲师,研究方向为信息技术教育;郝杰(1980-),女,硕士,徐州医学院医学信息学院讲师,研究方向为数据库、软件工程。

技术

技术作为主流数据访问技术,其优越性主要表现为:①数据集独立于数据源,不依赖连续的活动连接;②维护方便;③性能优化、速度快、出错概率小。目前,在数据访问中运用微软解决方案的技术仍是技术。

对象模型

是与数据库交互的.NET技术,它包含了许多进行数据处理的类,有强大的数据访问、数据处理功能。中包含两个主要的组件为数据提供程序(Data Provider)和数据集(DataSet)[1]。

(1)数据提供程序。

该程序提供了应用程序编程接口(API),可以轻松地访问各种类型的数据库,如SQL Data Provider专门用于SQL Server数据库, Data Provider专门用于Oracle数据库等。

数据提供程序有4个核心对象,其中Connection对象用于与数据库的连接;Command对象用于对数据库发出一些命令,如查询、修改、插入、删除数据命令;DataReader对象用于通过Command对象从数据库检索信息,是使用一种只读的、向前的方式访问数据库;DataAdapter对象是DataSet与数据库连接的桥梁,用于将数据库中的数据填充到DataSet中,并将在DataSet中变化的数据返回到数据库中[2]。

(2)数据集。

它是的核心组件,可以理解为一个在内存中建立的临时的数据库。DataSet将数据库中的数据保存在内存中并独立于任何数据库,应用程序与内存中的DataSet数据进行交互,交互期间可以断开与数据库的连接,极大地加快数据访问和处理的速度,节约了资源。

连接数据库的方式

提供了两种数据库的连接方式:有连接方式和断开连接方式。

(1)有连接方式。

有连接方式要求客户机一直保持与数据库服务器的连接,然后读取数据,它是通过DataReader对象来实现的。有连接方式能及时刷新数据库,安全性高,但只适合数据传输量少、系统规模不大的场合[3]。

(2)断开连接方式。

断开连接方式中不需要始终保持与数据库的连接,是采用DataSet对象的数据访问方式,通过DataAdapter对象从数据库中读取数据,然后通过Fill()方法填充到DataSet对象中。当用户更新数据时再重新连接数据库,由于DataSet智能化,只有被更新的数据才会被发送回数据库。断开连接方式减轻了服务器的负担,支持更多用户的并发访问[4],适合于数据量较大、系统节点较多的大型应用。在医院信息系统中,并发访问数据库的用户多,传送的数据量大,因此在医院信息系统中使用断开连接方式访问数据库是一种理想选择。

技术在数据访问中还存在一些缺点:①交互性较差,不够灵活;②商业逻辑层与数据库在一起,不易移植;③一个简单的功能可能需要若干行代码才能完成,有时要考虑面向过程的思维模式来考虑数据检索工作。由于的缺点,需要一个更好的真正面向对象的数据访问技术的出现,LINQ数据访问技术正好满足了这一需求。

2LINQ技术

LINQ是微软推出的新一代数据访问技术,可以访问和查询大量不同的数据源,包括:XML文件、.NET DataSet 、SQL Server数据库等。LINQ将面向对象编程准则应用于关系数据,简化了面向对象编程与关系数据之间的交换,在对象领域与数据领域间架起了一座桥梁。

2.1LINQ技术的优点

(1)统一的数据查询模型。

传统的编程理念是针对不同的数据源采用不同的编程模型,而LINQ提出一种一致的数据查询模型,使用相同的基本编码模式来查询和转换各种数据源[5],是一种跨各种数据源和数据格式的解决方案,降低了数据访问应用程序的难度。

(2)与编程语言紧密集成。

LINQ将查询功能直接引入到.NET Framework 3.5所支持的编程语言(如C#、等)中并整合为一体,使得查询操作成为编程语言的一部分,可以更加方便地创建查询操作或表达式。

(3)编程效率高、安全性好。

LINQ查询拥有Visual Studio .NET编辑时的智能感知、编译时的类型自动检查功能,这使得数据访问的编程变得更加轻松,更富有效率。在运行时自动将LINQ语法转换成SQL并在数据库上执行,避免受到SQL注入攻击,保障了数据的安全[6]。

2.2LINQ to SQL

LINQ to SQL全称是LINQ to Microsoft SQL Server ,有了LINQ to SQL可以将大量的关系数据库对象(如表、列、关系)转换为可在代码中访问的.NET对象。程序员不需要编写操作数据库的SQL命令(如Select、Insert、Update、Delete),当LINQ to SQL运行时,根据LINQ查询所要执行的操作自动生成SQL语句,然后发送给数据库管理系统(DBMS),同时自动接收来自数据库管理系统返回给.NET程序的数据信息,并自动封装为对象模型。

2.3LINQ技术 在HIS中的具体应用

医院信息系统包括门诊管理系统、住院管理系统、药库管理系统、查询系统等模块。下面以药库管理系统模块为例,简要介绍LINQ to SQL创建数据源和向药库信息表tb_Drug插入、查询、更新、删除数据的过程。

(1)创建数据源。

在集成开发环境中右击网站的App_Code文件夹,选择添加新项,单击“LINQ to SQL类”项,选择编程语言C#,单击“添加”按钮将该项添加到项目中,这样就生成了一个在LINQ to SQL类和数据库对象之间提供映射的.dbml文件,并自动打开了O/R设计器。在“服务器资源管理器中”找到需要使用的数据库表,将其拖动到O/R设计器左侧部分,表与表之间绘制的连线表明了表之间的关系,此时.dbml文件里已经自动生成了包含相关属性、方法的DataContext类(DataContext类是LINQ to SQL中提供对数据库进行访问的主要实体)和实体类,不需要人工编写代码,连接数据库的字符串保存在Web.config配置文件中。

(2)查询数据操作。

更新数据操作通过修改LINQ to SQL对象的值,成员可以进行更新,更新数据后必须调用SubmitChanges()方法,才能将修改后的数据存入数据库,否则数据库中的内容不会更新。删除数据的操作主要是调用DeleteOnSubmit()方法来删除记录,调用DeleteAllOnSubmit()方法删除实体集合,最后还需要调用SubmitChanges()更新数据。更新数据操作和删除数据操作的代码在此不再赘述。

3结语

LINQ使用了O/R设计器,节省了编写复杂代码的工作时间,提高了编程效率,降低了开发成本。其查询表达式融入了编程语言,可以有效地防止SQL注入的攻击,提高了系统的安全性,真正实现了面向对象,降低了错误检查难度。LINQ数据访问的速度经过测试比技术要快得多,因此LINQ数据访问技术与的数据访问技术相比具有更多优势,是一项突破性的技术创新。尽管目前在数据库访问中技术还占有主导地位,但是随着LINQ简单高效的编程模式,快速的数据访问技术被越来越多的人认可,可以预测LINQ技术必将取代,成为HIS中数据访问的主流技术。

参考文献:

[1]罗福强,杨剑等.C#程序设计经典教程[M].北京:清华大学出版社,2012.

[2]刘晓宇. 基于.Net的数据库访问技术的优化研究[J].软件导刊,2011,10(4):5153.

[3]韩双旺下Web数据库访问技术的研究[J].自动化与仪器仪表,2011(5):1011.

[4]刘维岗.基于的数据库访问技术的研究与实现[J].信息时代,2012(2):5052.

[5]江红,余青松.C#.NET程序设计教程[M].北京:清华大学出版社,2011.

[6]徐海涛,孙丹凤.一种基于LINQ防范SQL注入攻击的多层体系结构[J].计算机应用与软件,2011,27(11):291292.