书城教材教辅医学信息学
48552800000011

第11章 医学信息学中的计算机技术(2)

3.2医学信息数据库

3.2.1数据库基本概念

1)数据库

数据库(database,简称DB)是在计算机存储设备上合理存放的、相互关联的数据的集合,并由相应的系统软件,即数据库管理系统(database management system,简称DBMS)进行管理。DBMS 是数据库系统的核心,是用于建立、使用和维护数据库的系统软件。成熟的DBMS 软件都是一些国际大软件公司开发的。

应用程序(application),即面向用户的处理数据的软件,通常它们是由专门的软件专家根据用户需要而设计开发的。它们向用户提供使用和处理数据库内数据的接口。这些界面通常是易于理解并且方便使用的。不同的用户角色可能使用不同的应用程序。比如药房使用的程序与挂号收费使用的程序是不同的。

系统管理员(database administrator,简称DBA)需要有一定的软件开发经验,对于DBMS和数据库的硬件设备要有相当的了解。他的具体职责包括:规划和定义数据库结构,定义数据库的安全性要求和完整性约束,选择数据库的存储结构和存取路径,监督和控制数据库的使用和运行,改进数据库系统和重组数据库。

数据库(DB),数据库管理系统(DBMS)和应用程序是构成一个实用数据库的三个必备条件。

2)数据结构、数据模型和数据库类型

在数据库系统中,不仅数据本身的内容,而且数据之间的关系都是非常重要的。为了在数据库系统中存储数据,数据库系统设计时首先要根据数据之间的关系决定以什么样的组织方式将数据存储于数据库中,这些描述数据之间关系的方式称为数据结构。数据库系统的数据和数据间关系都需要存储在数据库中。

为了实现采用的数据结构,不同类型的数据库系统各自建立了相应的数据模型。表示实体类型及实体类型间联系的模型称为数据模型。数据模型分为不同的层次。

概念模型:也称信息模型,它是按用户的观点来对数据和信息建模的。概念模型主要用于数据库的总体设计。这种独立于计算机系统的信息模型,只是用来描述某个特定应用单位的信息结构,完全不涉及数据在计算机系统中如何存放等具体问题。概念模型应该简单、清晰,易于用户理解,便于数据库设计人员与用户交流和确认。例如在关系型数据库设计中,通常用简明的E‐R(entity‐relationship,实体关系)图来描述现实世界的概念模型。

数据模型:也称为结构数据模型,主要包括网状模型,层次模型,关系模型等,它是按计算机系统的观点来对数据建模。这类模型涉及计算机系统和数据库管理系统,主要用于DBMS 即数据库管理系统的实现。各种类型的DBMS 软件都是基于某种数据模型的。

数据模型是严格定义的一组概念的集合,一般包括数据结构、数据操作和数据完整性约束三部分。

数据结构用于描述系统的静态特性,例如关系模型中的属性、属性值范围、关系等。

通常按照数据结构的类型来命名数据模型,如关系结构的数据模型称为关系模型。

数据操作是对系统动态特性的描述,数据库主要有检索和更新(添加、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。

数据的约束条件是一组描述约束规则的集合。完整性规则是给定的数据模型中数据及其联系应遵循的存储规则,用以保证数据的正确、有效和一致。此外,数据模型还应该为具体应用所涉及的数据规定必须遵守的特定语言条件。例如性别必须为“男”和“女”两个值中的一个。

不同的数据模型具有不同的数据结构形式。例如就关系数据模型的数据结构而言,从用户看来,一个关系模型的逻辑结构是一些有关联的二维表,每个表由行和列组成。关系数据模型的操作主要包括查询、添加、删除和更新数据。这些操作必须满足数据的完整性要求。关系型数据库的标准查询操作语言是SQL 语言。

任何一个数据库都至少采用一种数据模型。利用所设计的数据模型,人们抽象出并合理地表示现实世界中的真实数据关系。

数据库的类型可依据数据模型的不同,分为以下几类:

(1)层次数据库。层次型数据库管理系统是紧随网状数据库而出现的。现实世界中很多事物是按层次组织起来的。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物。层次数据库也是按记录来存取数据的。层次数据模型中最基本的数据关系是基本层次关系,它代表两个记录型之间一对多的关系,也叫做双亲子女关系(PCR)。数据库中有且仅有一个记录型无双亲,称为根节点。其他记录型有且仅有一个双亲。在层次模型中从一个节点到其双亲的映射是惟一的,所以对每一个记录型(除根节点外)只需要指出它的双亲,就可以表示出层次模型的整体结构。层次模型是树状的。最着名最典型的层次数据库系统是IBM 公司的IMS(information management system),这是IBM 公司研制的最早的大型数据库系统程序产品。从20世纪60年代末产生起,如今已经发展到IMSV6,提供群集、n 路数据共享、消息队列共享等先进特性的支持。这个具有40年历史的数据库产品在如今的www 应用链接、商务智能应用中扮演着新的角色。层次数据库的突出优点之一是在于它的非常有效的存储功能。因为它采用稀疏数组存储结构进行数据的存储,不会浪费存储空间。当插入的一个新数据记录被存储时,不仅存储了它的数据,而且存储了它和其他数据记录之间的链接,因而能提供更快速的查询响应速度。

(2)网状数据库。网状数据库是导航式(navigation)数据库,用户在操作数据库时不但说明要做什么,还要说明怎么做。例如在查找语句中不但要说明查找的对象,而且要规定存取路径。世界上第一个网状数据库管理系统也是第一个DBMS 是美国通用电气公司Bachman 等人在1964年开发成功的IDS(integrated data store)。网状数据库模型对于层次和非层次结构的事物都能比较自然地模拟,在关系数据库出现之前网状DBMS 要比层次DBMS 用得普遍。在数据库发展史上,网状数据库占有重要地位。网状数据库是灵活的,可以在需要时使它看起来就像一个层次数据库,也可以使一个网状数据库看起来就像一个顺序访问文件。

网状数据库在卫生医疗方面也有过应用。有影响的实例是由Larry Weed 领衔开发的PROMIS(Problem Oriented Medical Information System)系统。这个面向疾病问题的医疗信息系统是在Vermont 大学建立的早期电子病历系统。

(3)关系型数据库。关系型数据库是采用关系模型为基础结构的数据库。关系模型的特点就是把数据组织成二维表的形式,也就是用一种二维表的形式即关系来组织数据。

也就是以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。人们可以在各个数据项之间建立关联关系,也可以在各个表之间建立关系。关系模型就是利用这些关系来描述现实世界中实际存在的数据关系的。一个关系可以用来描述一个实体及其属性,也可以用来描述实体之间的联系。二维表的每一行叫做关系的一条数据,也是一个记录。二维表的每一列表示的是实体的一个属性。在关系型数据库中就是由反映现实世界中各数据实体和其属性关系的一系列的二维表模型来建立的,对这种数据库数据的检索和维护也是围绕二维表关系模型来进行的。

关系型数据库系统的好处是所用模型结构较为简单,其结构也较易于改动。而其缺点是它的I/O(输入输出)的使用强度较大。有时为了得到一个数据,需要多次的硬盘访问才能找到。为了组成医院信息系统即HIS 的数据库,它可能包括几百张表格。而较大医院的信息系统数据库甚至包括几千张表。

用户用查询(query)来检索关系型数据库中的数据。一个query 是一个用于指定数据库中行和列的SELECT 语句。关系型数据库通常包含下列组件:客户端应用程序(client),数据库服务器(server),数据库(database)。

结构查询语言(structured query language)(SQL)是client 端和server 端的桥梁,client用SQL 来向server 端发送请求,server 则返回client 端要求的结果。现在流行的大型关系型数据库有IBM DB2、IBM UDB、Oracle、SQL Server、SyBase、Informix 等。

(4)面向对象数据库。以面向对象的概念和方法(诸如多态、封装、继承、重载等)设计的数据库称为面向对象数据库(OODB)。这可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。

面向对象数据库在数据模型中提供了多种语义,允许定义复杂的数据类型和关联。

在面向对象数据库模型的设计里,包含有数据和程序代码一起封装的概念。使用面向对象数据库管理系统,在设计用户应用程序时,并不需要知道作为基础的数据组织结构的细节。这既减轻了应用程序设计员的工作强度,也实现了模块化开发应用程序的概念,从而提高了该程序被多次利用的可能性。

面向对象数据库的缺点是,纯对象数据库速度慢、缺少像SQL 一样简单易用的查询语言,在可靠性和商品化方面也不够成熟。

面向对象数据库中在很多情况下能满足特定应用的需要。随着许多基本设计应用(如MACD和ECAD)中的数据库向面向对象数据库的过渡,面向对象思想也逐渐延伸到其他涉及复杂数据的应用中,其中包括辅助软件工程(CASE)、计算机辅助印刷(CAP)和材料需求计划(MRP)。

还有许多应用要求多媒体数据库。它们要求以集成方式和文本或图形信息一起处理关系数据,这些应用包括高级办公室系统的其他文档管理系统。

人工智能(AI)应用的需要,如专家系统,也推动了面向对象数据库的发展。专家系统常需要处理各种复杂的数据类型。与关系数据库不同,面向对象数据库不因数据类型的增加而降低处理效率。

(5)XML数据库。XML数据库是泛指利用XML扩展标记语言来帮助实现数据的存储。XML是以标记格式来表示的,“开始标记”和“结束标记”之间的是一些标记定义的数据。这些标记就是各个字段名,而在它们之间是数据内容。因此,有人将存储XML数据的数据库称为XML数据库。

在这种XML数据库中,单元记录不必要由计算机程序的结构或一个数据层来定义,而是由一个文档类型描述来定义的。

XML数据库提供的是功能很强的数据模型,它的长处在于它的灵活性,可以表示广泛的数据。并且XML是能被Web 浏览器所识别,因此不仅可以用XML来建立数据模型,而且浏览器能自动地知道如何去正确显示,因为它理解XML标记语法的含义。如在病人病案首页中,一个病人的定义之中包括病人识别码、姓名、性别、生日等数据都可以用XML定义后很方便地存储在数据库中。

XML数据库的缺点是比较传统数据库还不很成熟,还处于发展阶段。目前较适用的XML格式的数据库是中等复杂程度和中等规模的数据库,例如一百个字段和一百万条记录以下的数据库应用场合。

3.2.2医学信息数据库及其应用

数据库以它所存储信息、数据的范畴和属性而具有不同的应用领域。存储在医学数据库内的是与医学有关的一切信息,它涵盖的范围非常广泛,遍及基因组分析,医院管理和临床应用,远程医学,医学研究应用,医学知识库应用,医学教学,医学信息检索,医学决策支持,公共卫生,疾病预警监视,防范生物恐怖袭击等诸多领域。

以下是几个具体应用医学信息数据库的实例。

1)公共卫生数据的因特网应用

访问流行病学数据对公共卫生事业是极其重要的。然而,一般情况下已公布数据都是过时的,由于保密、安全以及其他原因,现有数据库又不能访问。尽管有了因特网,但数据仍然不及时。针对这种情况,美国华盛顿州卫生局的流行病学、卫生统计和公共卫生实验室开发了基于Web 应用联机的流行病学查询和作图系统。该系统可以对州或地区的公共卫生数据(死亡、出生、癌症登记、住院、性传播疾病、损伤、突发事件应对、环境执法)进行研究、统计和地理分析,以便进行卫生评估或监察支持。该系统特别强调事件发生在何处,在不同的地理等级(州、县、邮编地区等)的卫生评估会按年龄、性别的发生率进行展示。对小数量问题的发生率,运用经验贝叶斯平滑法进行调整后也可获得。信息提供方式有图表、表格和地图。提供对象分为三个层次,即三种安全水平:一般群众、公共卫生和医疗保健工作者以及流行病学家和卫生官员。