医药数据库讲义_第1页
医药数据库讲义_第2页
医药数据库讲义_第3页
医药数据库讲义_第4页
医药数据库讲义_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

医药数据库讲义 专 业:生物信息 课程名称:医药数据库 课程性质:必修第五章数据库在医药领域中的应用示例 随着信息技术和网络化技术的迅猛发展,数据库及数据库技术在各个领域中得到了广泛应用。对于医药领域来说,医药电子商务、医院信息系统(hospital information system,HIS)药品企业管理系统、医药信息检索、药物辅助分析与设计、医药决策支持系统等就是数据库及数据库技术应用的典型示例。医院信息系统是数据库在医药领域中最普及应用的例子,它是计算机技术对医院管理、临床医学及信息管理长期影响、渗透以及相互结合的产物。医院信息系统为医院所属各部门提供病人诊疗信息和行政管理等信息,并尽量满足所有授权用户的功能需求,已成为医院科学管理和提高医疗服务水平的重要手段。5.1 Visual Basic 数据库访问技术概述 在Visual Basic 6.0 开发环境中,可以使用三种数据库访问方式: u 数据访问对象(DAO) u 远程数据对象(RDO) u ADO数据模型 DAO 是一种面向对象的界面接口,通过DAO/Jet功能可以访问ISAM(indexed sequential access methed)数据库,使用DAO/ODBC Direct功能可以实现远程RDO (远程数据对象)功能。RDO 为使用代码创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架,是ODBC API的一个浅层界面接口,专为访问远程ODBC关系数据源而设计。ADO 是DAO/RDO的后继产物,它扩展了 DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数)以及事件。5.1.1 ADO Data 控件ADO Data控件与VB与固有的Data控件相似。使用ADO控件以及ODBC或OLE DB,可以快速建立数据绑定控件与数据库之间的连接。通常,ADO Data控件并不出现在VB的工具箱中。要想使用ADO Data控件,首先应按下面的步骤将ADO Data控件添加到工具箱中:运行VB后,选择“工程”丨“部件”菜单,并在“部件”对话框中选择Microsoft ADO Data Control 6.0 (OLE DB),如图所1. ADO Data控件与数据库操作相关的属性(1) ConnectionString 属性 ConnectionString属性设置: ConnectionString属性将使用一个类似于如下一行的字符串来填充:driver= SQL Server / Server=*;uid=*; pwd=*; database*其中,*表示在实际应用时应该用实际量来替换的部分,Server表示安装数据库的机器名,uid表示授权登录数据库的用户名,pwd表示登录数据库用户密码,database表示应用程序要访问的具体数据库名称。(2) RecordSource 属性 RecordSource属性设置要连接的表或SQL查询语句。可以在“属性”窗口中将RecordSource属性设置为指定数据库的一个表。这里的设置必需与CommandType属性配合使用,即首先在弹出的RecordSource属性页中将命令类型设置为2-adCmdTable,然后在“表或存储过程名称”中选择表。 RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名、一个存储查询,也可以是使用SQL查询语言的一个查询字符串。(3) CommandType 属性 CommandType属性用于指定RecordSource属性的取值类型。可直接在“属性窗口中CommandType属性框右边的下拉列表中选择需要的类型,其取值如下: adCmdUnknown默认值。CommandText属性中的命令类型未知。 adCmdTable将CommandText作为其列全部由内部生成的SQL查询返回表格的名 称进行计算。 adCmdText将CommandText作为命令或存储过程调用的文本进行计算。 adCmdStoredProc将CommandText作为存储过程名进行计算。 (4) ConnectionTimeout 属性该属性设置等待建立一个连接的时间,以秒为单位。若连接超时,则返回一个错误。2. ADO控件的常用事件 (1)WillMove 和 MoveComplete 事件 WillMove事件在当前记录的位置即将发生变化时触发, 如使用ADO Data控件上的按钮移动记录位置时。MoveComplete事件在位置改变完成时触发。 (2)WillChangeField 和 FieldChangeComplete 事件 WillChangeField事件是当记录集中当前记录的一个或多个字段发生变化时触发,而FieldChangeComplete事件则是当字段的值发生变化后触发。 (3)WillChangeRecord 和 RecordChangeComplete 事件 WillChangeRecord事件是当记录集中的一个或多个记录发 生变化前触发,而RecordChangeComplete事件则是当记录发生变化后触发。 3. ADO控件的常用方法 (1) Refresh 方法 在ADO Data控件打开或 重新打开数据库的内容时,该方法可以更新ADO Data控件的数据设置,使ADO Data控件能够及时反映数据库改变后的数据情况。(2) UpdateControls 方法该方法用于更新绑定控件的内容。绑定控件是通过设置控件的DataSource属性和DataField属性将该控件与ADO Data控件的某个字段绑定到一起。使用绑定控件可以让该控件的内容自动更新,取回记录集当前记录的内容或者将更新的内容保存到记录集中。数据库记录的增、删、改操作需要使用AddNew、Delete、MoveFirst、MoveLast、MoveNext、MovePrevious、CancelUpdate、UpdateBatch 等方法。它们的语法格式如下:ADO数据控件. 记录集. 方法名(3)AddNew 方法 该方法用于在ADO Data控件的记录集中添加一条新记录,其使用语法如下:Adodcl.Recordset.AddNew 其中,Adodcl是一个ADO Data控件的名字。在添加该语句之后,应该给相应的各个字段赋值,然后调用UpdateBatch方法保存记录,或者调用CancelUpdate方法取消保存。 (4)Delete 方法 该方法用于在ADO Data控件的记录集中删除当前记录。 (5)MoveFirst, MoveLast, MoveNext 和 MovePrevious 方法 这些方法用于在ADO Data控件的记录集中移动记录。MoveFirst,MoveLast, MoveNext和MovePrevious方法分别移到第一条记录、最后一条记录、下一条记录和上一条记录。 (6)CancelUpdate 方法 该方法用于取消ADO Data控件记录集中的添加或编辑操作,恢复修改前的状态。 (7)UpdateBatch 方法.该方法用于保存ADO Data控件记录集中的添加或编辑操作。5.1.2 Visual Basic的数据显示控件 随着ADO对象模型的引入,Visual Basic 6.0除了保留控件箱中一些常用显示控件(如PictureBox、Label、TextBox、CheckBox、Image、OLE、ListBox 和 ComboBox)与 ADO Recordset的一个字段绑定外,还提供了一些新的成员来连接不同数据类型的数据,这些新成员主要有 DataGride、DataCombo、DataList、DataReort、MSHFlexGrid、MSChart 和 Month View等控件。这些新增显示控件必须使用ADO Data控件进行绑定。与ADO Data控件绑定的控件称为数据显示控件,它们显示ADO控件所返回的数据。在电子处方应用示例中用到了 TextBox、DataGride、ComboBox、DTPicker等显示控件的使用方法。 5.2医院信息系统 医院信息系统是数据库技术与医药技术相结合的系统,为医院所属各部门提供病人诊疗信息和行政管理信息。医院信息系统已经在国内外相当一部分医院中得到广泛使用,其系统结构如图所示,总体上由门诊挂号、药房划价、门诊收费、药房管理、药库管理、住院管理、护士工作站、医生工作站、财务管理、院长查询、系统维护等功能模块组成。医院信息系统结构示意图 患者就诊流程与功能模块功能 就诊流程5.3电子处方功能组成电子处方主要功能是完成电子处方的开具,同时为电子处方的开具提供帮助,并对开具的电子处方进行合理用药监测。在开具新处方时,只要医师输入药品的部分名称,就可利用模糊查询,从药房库存药品中提供所有可能匹配的药品选项,提供医师药品输入的速度,并保证药品使用的准确度:医师也可以在此时通过系统的查询功能来查询以前同类型疾病的处方和所需药品的信息。当处方开具完毕后,电子处方系统能对处方中的用药进行如用量是否合适、是否存在配伍禁忌、是否为特殊药品等进行监测,客观上保证所开设的处方科学合理,并符合医药部门的相关规定。本章中实现的电子处方的主要功能有: 新处方的开具:药品提示、显示已经开具的药品、自动完成处方部分项目。“电子处方”功能结构图 保存处方:将处方内容保存到PManagement数据库中的PD表中。5.4电子处方数据库设计与数据源创建5.4.1电子处方数据库设计 在第2章已经给出了 PManagement数据库的设计,该数据库由药品表(Drug)、处方表(Prescription)及处方用药表(PD)三个表组成。在实际使用中,为了方便医师在开具电子处方输入药品时能够看到所开具的处方,需要对这个表的结构进行重新设计,即在Drug表中增加了一个用药品名称拼音drug_pname所构成的字段名,重新设计后的Drug表如表 1所示;在 Prescription 表中增加了 doctor_name、prescription_patient 和 department三个字段名,重新设计后的Prescription表如表2所示:在PD表中增加了 drug_id、drug name、drug type、drug form、drug unit、PD_dosage、PD_days、PD usage 等字段名,重新设计后的PD表如表3所示。 表1. 修改后的Drug表 表2. 修改后的Prescription表结构 表3. 修改后的PD表结构 5.4.2创建ODBC数据源 为了能在Visual Basic 6.0应用程序中访问SQL Server数据库中的数据,在进行应用程序界面设计和功能实现前必须建立好Visual Basic 6.0与SQL Server数据库的连接。建立连接的方法有多种,本章设计的电子处方系统将通过OLE DB和ODBC数据源建立应用程序和数据库之间的连接。因此,在电子处方程序连接数据库之前,首先应创建ODBC数据源。1.ODBC技术 开放数据库互连(open database connectivity, ODBC)是微软公司开放服务结构(windows open services architecture, WOSA)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准应用程序编程接口(API),这些API利用SQL语句完成其大部分任务。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作均由对应的DBMS的ODBC驱动程序完成。也就是说,不论是SQL Server、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。一个完整的ODBC由下列几个部件组成。 (1)应用程序(application) 应用程序本身不直接与数据库打交道,主要负责处理并调用ODBC函数,发送对数据库的SQL请求及取得结果。 (2)ODBC 管理器(ODBC administrator) 该程序位于控制面板(control panel)中的ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。 (3)驱动程序管理器(drivermanager) 驱动程序管理器是一个带有输入程序的动态链接库(DLL),对用户是透明的,提供从主机语言到特定后端数据源驱动程序的接口。它的主要目的是加载驱动程序,处理ODBC调用的初始化工作,提供ODBC调用的参数有效性和序列有效性。 (4)ODBC API 这是数据库厂商为程序设计者提供的直接访问数据库的一组函数。(5)ODBC 驱动程序(driver)这是一个完成ODBC函数调用并与数据库相互影响的一个动态链接库(DLL),提供了 ODBC和数据库之间的接口,用以将特定的开放式数据库连接的数据源和另一个应用程序(客户端)相连接这些驱动程序可以处理对于特定数据的数据库访问请求,对于应用驱动程序管理器送来的命令,驱动程序再进行解释,以形成自己的数据库所能理解的命令。 (6)数据源 数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。作为数据源使用的数据库或数据库服务器,ODBC数据源通过它们的数据源名称(data source name,DSN)来引用,或者通过ODBC驱动程序和服务器名称来引用。可以在Windows的控制面板中使用ODBC管理程序来注册数据源。ODBC组成部件及各部件之间的关系如图所示2. ODBC数据源连接配置3. ODBC数据源连接配置的操作步骤如下:(1)从菜单“开始”进入“控制面板”,启动操作系统的控制面板,所看到的内容因不同的机器可能稍有不同。在“控制面板”中双击“性能与维护”图标,打开“性能和维护”窗口,在“性能和维护”窗口双击“管理工具”图标,打开“管理工具”(2)在“管理工具”窗口中,单击“数据源(ODBC)”图标,打开“ODBC数据源管理器”对话框 (3)在对话框中有多种DSN,都有各自不同的用途。用户DSN只对当前用户有效,而且只能用于当前计算机;系统DSN对当前计算机上所有用户可见;文件DSN可以由安装了相同驱动程序的用户共享。此处选择“系统DSN”选项卡,这样创建的数据连接所有用户都可以使用。(4)单击“添加”按钮,打开“创建新数据源”对话框。(5)由于程序开发所用到的DBMS为SQLServer 2000,所以在 驱动程序列表中选择“SQL Server”,然后单击“完成”按钮,打开“创建到SQL Server的新数据源”对话框。在要求输入部分输入数据源名称、数据源的描述并从服务器中选择一个SQLServer服务器。此处数据源取名为本书中所使用的Pmanagement;在“描述”中填写“电子处方”表示该数据库与电子处方应用程序相关;“服务器”选择SERVER (实际使用时,请选择安装SQL Server服务器的计算机名) (6)单击“下一步”按钮,打开登录设置对话框 (7)选择“使用用户输入登录ID和密码的SQLServer验证”选项,在“登录ID”中输入sa。sa是SQL Server 2000中的超级用户名,不用密码。第一次登录到SQL Server实例时,请使用sa作为登录标识并且可以不使用密码。在登录之后,需要更改sa密码,以防止其他用户使用sa权限。单击“下一步”按钮,打开设置数据库选项对话框 (8)选择“更改默认的数据库为”选项,在其下拉列表中选择连接的数据库名称。由于在选择的SQL Server数据库上存在多个数据库,因此需要为应用程序设置默认数据库作为将要访问的数据库,这样数据库应用程序才能正常工作。系统默认的数据库是master,用户可以选择自己应用程序所使用的数据库,此处选示例中用到的PManagement数据库。单击“下一步”按钮(9)在対话框中,用户可以指定用于SQL Server消息的语言、是否执行字符数据翻译以及SQL Server驱动程序是否使用区域设置,还可以控制是否将运行时间较长的查询和驱动程序统计的记录到日志文件、是否对数据加密以及是否保存查询的日志文件等。如果数据库中数据采用中文,则必须选用Simplified Chinese (即简体中文),否则数据不能正常显示。根据数据可能用到的各种数据类型,选择合适的区域设置,此处选择系统的馱认值。单击“完成”按钮至此,完成了对数据源的配置,数据源向导会弹出一个总结报告,汇总所配置数据源的所有信息,包括SQL Server ODBC驱动程序版本、数据源名称、数据源描述、服务器名称、数据库、语言、是否转换字符数据、日志运行査询、日志驱动程序统计、使用集成安全机制、使用区域设置、预定义的语句选项、使用故障转移服务器、使用ANSI引用的标识符、使用ANSI的空值、填充和警告以及数据加密等。可以单击“测试数据源”按钮测试数据库配置是否成功。如果成功,将出现如图的对话框。至此完成ODBC数据源的设置。5.5电子处方界面设计与功能实现 在进入界面与代码设计之前,先来看看电子处方的操作流程与相应功能。 5.5.1电子处方界面与功能演示进入电子处方后的界面如图。界面由菜单条、工具条、处方信息框和药品信息框等几部分组成。进入“电子处方”界面,单击菜单条中“处方” | “新处方”命令或单击工具条的“新建处方”按钮,将自动填写处方编号和当天曰期。如图,根据患者和医师的情况,在处方信息框中输入患者姓名、性别、年龄及医师相关信息,其中医师编号、医师姓名和科室可以在组合框中选择后确定。输入完处方的相关信息后,要在电子处方中录入药品数据时,只需在“药品拼音名”中的文本框中输入要开具的药品的拼音名。随着药品拼音名的各个拼音输入,将在下面出现药品输入提示框,在此框中将即时给出药房库存中与“药品拼音名”中输入的药品拼音名相匹配的所有药品的药品信息。当在“药品拼音名”的文本框中输入拼音字母y时,药品输入提示框会给出药房库存中所有以y开头的药品信息。在图中的“药品输入提示框”中单击想在当前电子处方中使用的药品的药品编号,则药品信息中能确定的数据自动填充到药品信息框相应的文本框中,操作后的结果如图所示。如果在如图所示界面中填写了不适合自动填充的内容(如本次用量、用药天数、用法等)后再单击“刷新”按钮,药品输入提示框将自动隐藏,此时会显示“处方用药表”,并且在“处方用药表”中显示已经开具的药品及相关信息,操作后结果如图所示。按照前面的操作,可以输入下一个需要选用的药品,如图5.21所示。输入相关信息后刷新,得到图所示的操作结果。开完处方后可存盘退出电子处方系统,返回医生工作站。5.5.2电子处方界面及代码设计 1. ADO Data控件设置与数据库的连接 程序中使用三个ADO Data (activex data objects)控件,用于建立PManagement数据库中的三个表的连接,并通过它们对相应的表进行查询、插入等操作,以实现电子处方的功能。电子处方中使用的ADO Data控件属性表下面通过设置控件Drug_Adodc和表Drug之间的连接来说明如何建立ADO Data控件与数据库之间的连接 右击Drug_Adodc控件,选择“ADODC属性”,出现如图所示的属性页”对话框。如果已经创建了一个Microsft数据链接文件(.udl),选择“使用Data Link文件”单选按钮,单击“浏览”按钮,以找到计算机上的文件。 如果使用DSN,则单击“使用ODBC数据源名”单选按钮,并从下拉列表框中选择一个DSN,或单击“新建”按钮重新创建一个DSN。 如果想创建一个连接字符串,选择“使用连接字符串”单选按钮,单击“生成”按钮,打开所示的“数据链接属性”对话框。在“提供程序”选项卡内选择一个合适的OLE DB数据源,因本书使用SQL Server 2000数据库,故选择“Microsoft OLE DB Providerfor SQL Server选项。单击“下一步”按钮或打开“连接”选项卡,在“输入登录服务器的信息”的“用户名称”框中输入数据用户名sa,并勾选“空白密码”(如果数据库用户名不是默认的,并且已经设置了密码,则输入自己的用户名和正确的密码),然后选择5.4.2小节中建立的数据源PManagement,为保证连接有效,可单击“连接”选项卡右下方“测试连接”按钮,如果测试成功,则出现“测试连接成功”信息提示框,单击“确定”按钮后返回到如图对话框。单击“确定”按钮,返回到如图所示的Dmg_Adodc控件“属性页”对话框。此时在“使用连接字符串”下己经给出了连接到所选数据库的连接字符串。选择“记录源”选项卡,在“命令类型”的下拉列表中选择“8-adCmdUnknown”,再在“命令文本(SQL)”中输入select * from Drug语句,如图所示,单击“确定”按钮后即完成Drug_Adodc控件与Pmanagement数据库中Drug表的连接。2.电子处方窗体界面设计 电子处方系统主要完成处方录入和查询等功能。窗体设计中用到很多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论