《医学文档管理系统的数据库设计(精品).docx》由会员分享,可在线阅读,更多相关《医学文档管理系统的数据库设计(精品).docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、医学文档管理系统的数据库设计目的提高对医学实验文档、原始数据尤其是大文件的管理效率,加强安全性和保密性。方法在数据库管理软件平台下遵循数据库规范化设计方法,利用跨平台的面向对象的程序设计语言Java开发医学实验文档管理系统数据库。结果利用该系统实现了对医学实验文档及原始数据进行上传、下载及权限管理和自动备份等管理功能。结论本研究所采用的方法是将实验研究经过中的原始数据和文件直接以二进制的形式保存到数据库,有效地保证了数据的安全性和保密性。关键词医学文档管理系统;SQLserver数据库;Java程序语言;医学实验文档近年来,随着多媒体技术和计算机网络的飞速发展,数据库系统的发展特别迅速,应用领
2、域愈来愈广。良好的数据库设计不仅能够节省数据的存储空间,保证数据的完好性,而且还能够方便地进行数据库应用系统的开发与管理1。医学实验文档管理系统的数据库主要是管理用户以及在医学项目的实验研究经过中生成的所有文件,包括原始记录文件、临时文件以及最终的结果文件。这些文件的类型主要包括PPT、Word、Excel、PDF、tiff文件及各种类型的图片和专用文件。对于上述文件的管理,一般采取的方法是将上述文件保存在服务器的某个硬盘中的文件夹下面,而将文件的途径保存在数据库中。采取这种方式的优点是能减轻数据库的压力,在上传和下载文件时速度快。缺点是文件的安全性和保密性不够好,尤其是当服务器出现问题时,文
3、件很容易丢失,而且无法恢复。本研究所采用的方法是将实验研究经过中的原始数据和文件直接以二进制的形式保存到数据库中,而不是保存在服务器的硬盘中。本文采用的是SQLserver2008数据库,数据库的安全性比拟高,而且在设计数据库时实行数据库自动备份,因而数据不易丢失。此外,还对实验数据的上传、查询以及下载进行权限设置,根据用户的不同权限提供不同的功能,有效地保证了数据的安全性和保密性。1需求分析1.1功能需求分析医学实验文档管理系统是根据医学实验研究的需要而建立的辅助化信息管理系统。该系统是以医学实验项目为核心,对实验项目相关的各种数据文档以及涉及的用户进行有效的管理,旨在提高管理效率的同时加强
4、信息的安全性和可靠性。医学实验文档管理系统的功能需求因各个实验室的详细情况而有所不同,本研究以首都医科大学的实验室为例,经过调查分析其功能需求如下2-3:1用户管理。基于系统安全性、分享性以及高效的管理性考虑,要求系统根据用户不同的操作需求,为各类用户提供相应的操作权限。用户管理主要的功能:添加用户,只要添加到该系统中的用户才能访问该系统;设置用户的权限,能够将用户的权限设置为普通用户、实验的设计者、实验负责人以及项目主管其中之一或者这些权限的组合;删除用户,当用户不在该系统中时,主管要删除该用户,使得该用户无法再登录到该系统,进而保证系统的安全性与可靠性;修改用户密码,当用户忘记本人的密码时
5、,能够通过向主管申请,由主管来将该用户的密码重置为系统默认的密码,然后用户登录到系统后再修改本人的密码。2项目管理。其主要功能是:创立项目以及项目下的子项目,当主管接到一个新的项目时,可在该系统中创立该项目,以及该项目下的若干个子项目;分配项目及其子项目,在新建项目时,主管要指定该项目的负责人,然后由该项目的负责人将该项目的所有子项目分配到详细的实验的设计者手中;修改项目状态,当项目结束时,主管要将项目的状态改为“完成,此时该项目的所有介入者(主管除外)都不能再对该项目做任何修改,也不能下载该项目的任何信息;修改项目权限,该系统中的用户需要参考系统中的其他项目时,此用户需要向主管提出申请并得到
6、受权后,此项目中的相应子项目才对该用户开放并自动地记录此用户的个人信息及查看的项目信息。在该用户参考完毕后,再由主管将开放的项目关闭。3上传实验文档。其主要功能是:实验的设计者在做项目实验的经过中会得到实验相关的一系列原始数据条件优化、经过记录、结果分析和结论,它们会以PPT、Word、Excel、tiff文件、图片或者专用文件的形式存储,实验的设计者需要及时将这些文档上传到该数据库中,以防止数据的丢失和泄露。同时,在设计者负责的子项目完成之前,其他的所有用户对该子项目均不可见,直到该子项目实验完成后,相应的项目负责人或者主管才能对该子项目进行相应的操作,进而防止实验结果被篡改。4查询。其主要
7、功能是:查询项目文档,经主管受权哪些项目对哪些用户开放后,那些用户便能够在该系统中查询到相应开放的项目的具体信息,如项目名称,项目中开放的所有子项目,每个子项目下的所有文件名等等;下载项目文档,当用户查询到本人需要的文档时,既能够单个文档进行下载,可以以批量的进行下载。在下载的同时该系统会记录用户的个人信息、下载的文件及下载的详细时间,能有效提升系统对所有文档的安全性和保密性管理。1.2数据需求分析根据功能分析,医学实验文档管理系统的数据信息主要有:用户信息;实验项目信息;项目原始数据及文档信息;项目权限及用户下载信息。系统内所有的数据均由数据库统一管理,数据的分享与交换由各个功能模块通过数据
8、访问技术来实现,以此来知足系统的数据功能需求4-5。2数据库设计数据库设计是医学实验文档管理系统的核心,其设计合理与否直接影响数据库应用系统的软件架构及数据处理的效率。在对系统的总体功能分析的基础上,本文利用SQLserver2008数据库进行该系统的数据库设计。下面主要从数据库的概念构造设计、逻辑构造设计和数据表及完好性的设计与实现三方面进行介绍。2.1概念构造设计经过上述的需求分析后,先将需求分析得到的结果抽象为用户观点的概念模型并用实体关系E-R图进行表示。根据需求分析,能够抽象出用户信息、实验项目信息、项目文档信息、项目权限、下载信息等5类实体,各个实体之间的详细联络。2.2逻辑构造设
9、计上述的E-R模型是用户的模型,独立于任何一个详细的数据库管理系统,而数据库的逻辑构造设计的任务是根据概念构造的E-R关系图,根据一定的转换规则将其转换成数据模型的经过,即在关系数据库管理系统中,将所有的实体和相应的联络转化为一系列的关系模型。医学实验文档管理系统的关系模型转换如下。用户信息用户姓名、用户ID、用户密码、用户类别;实验项目信息项目名称、项目编号、子项目名称、子项目编号、项目负责人ID、子项目负责人ID、项目开场时间、项目完成时间、子项目开场时间、子项目完成时间;项目文档信息文件编号、子项目编号、文件名称、文件类型、文件二进制流、上传时间;项目权限项目编号、子项目编号、开启时间、
10、关闭时间、开放对象ID、开放状态;下载信息下载者ID、文件编号、下载时间、下载次数。在规范化理论的基础上对上述所有关系形式进行分析,得出上述关系形式中没有多余的函数依靠,是规范程度很高的关系形式6。2.3数据表及完好性的设计与实现数据表是数据库管理系统的基础,是数据库中所有数据的载体,数据表设计的合理与否直接关系到数据库管理系统性能的优劣,因而数据表的设计对数据库管理系统的设计至关重要。本文对用户信息表、实验项目信息、项目文档信息表、项目权限信息表、下载信息表进行介绍。1用户信息表Table_user的构造及其完好性设计。用户信息表的字段及类型为:用户ID、用户姓名、密码、用户类别。该表记录系
11、统中的所有用户,表中的用户ID及用户姓名都具有唯一性,用户在系统中进行相应的操作时,系统只凭借用户ID及其用户类别为用户提供相应的功能。在实验项目信息表、项目权限信息表及下载信息表的相应字段中将用户ID作为其外键进行字段约束,以提高数据库的完好性。2实验项目信息表的构造及其完好性设计。实验项目信息表的字段及类型为:子项目编号、子项目名称、项目名称、项目编号、项目负责人ID、子项目负责人ID、项目开场时间、项目完成时间、子项目开场时间、子项目完成时间。该表记录系统中所有项目的具体信息,其中子项目编号是系统识别最小项目的唯一凭据,在项目文档信息表、项目权限表的相应字段中将该字段作为其外键进行字段约
12、束,确保子项目的唯一性。3项目文档信息表的构造及其完好性设计。项目文档信息表的字段及类型为:文件编号、子项目编号、文件名称、文件类型、文件二进制流、上传时间。该表记录系统中所有医学实验文档的详细信息,其中文件编号为主键,子项目编号是实验项目信息表中子项目编号的外键,文件二进制流是实验文档详细内容的二进制形式,下载转换后可恢复为原来的文件。4项目权限信息表的构造及其完好性设计。项目权限信息表的字段及类型为:项目编号、子项目编号、开启时间、关闭时间、开放对象ID、开放状态。该表记录系统中项目的开放情况,开放状态字段的约束为用户定义完好性约束,该字段内容为0时表示该项目对该开放对象不可见,反之则表示
13、可见。只要在该表中记录的项目及其相应的用户且开放状态为1时,相应的用户才能对相应的项目信息进行查询下载。5下载信息表的构造及其完好性设计。下载信息表的字段及类型为:下载者ID、文件编号、下载时间、下载次数。该表记录用户下载文档的次数及时间,更全面地保证系统数据的安全性。上述表间的关联关系图图3,明晰地表述了数据库中各表构造、表间关联关系及完好性的设计与实现。3关键技术在数据库中写入项目名称、子项目名称以及用户姓名这类数据时,由于数据很小,写入的经过中不会出错。但将实验的文档写入到数据库中时,对于几十兆甚至上百兆的大文件在写入的经过中容易出错,原因是SQLserver2008数据库在每执行一条构
14、造化查询语言SQL语句时有时间限制,当一次写入数据的时间超过该时间时,SQLserver2008数据库就会显示一条日志已满的错误信息,表示此次上传数据失败。该段代码执行的功能是:每次只读取文件中的length个单位字符/字节。假如文件是第一次写入到数据库中,则利用insertinto语句直接将读取的语句写入到数据库中;假如该文件不是第一次被读取,由于set文件语句中Write的offset的值为null,所以会将本次读取的length个单位字符/字节的数据添加到上次添加的数据的末尾。以此类推,当文件的所有数据都被写入到数据库中时,结束本次的上传行为。通过上述方法,能够有效地保证无论多大的文件都能成功的保存到数据库中。在对医学实验文档管理系统进行功能需求分析及用户数据需求分析的基础上,先利用数据库规范化设计方法对医学实验文档管理系统的数据库及其完好性进行设计7-8,并在SQLserver2008平台下得以实现,再采用跨平台编程语言JVAV进行系统控制程序的编制,进而完成了该系统的开发。本文不仅实现了小文件在SQLserver2008数据库中的上传与下载,而且解决了在SQLserver2008中上传与下载大文件易出错的问题,有效地提高了医学实验文档管理的效率、原始数据与文档的信息安全及保密性。