数据管理的数据库方法分析
文:鼎捷ERP
作者:鼎捷数智 | 发布时间:2012-11-30 14:50:34
6.2 数据管理的数据库方法
数据库技术可以解决传统文件系统所带来的诸多问题。可以将数据库(database)严格定义为:数据库是经过组织的数据集,通过对数据的集中管理来控制数据冗余,可以有效支持多个应用程序。例如,企业可以把原来分散在多个系统和多个文件中的个人资料、工资单数据和员工福利资料等,建立起一个统一的人力资源数据库(参见图6-3)。
6.2.1 数据库管理系统
数据库管理系统(DBMS)是操纵和管理数据库的软件,负责建立、使用和维护数据库。数据库管理系统是应用程序与数据文件之间的接口,用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户利用不同的方法在相同或不同时刻去建立、修改和查询数据库。DBMS通过区分数据的物理视图(physicalview)和逻辑视图(10gicalview),使用户不需要了解数据以怎样的方式存储在哪里。
逻辑视图以较终用户所使用的直观方式来显示数据,物理视图则显示了数据的实际组织形式以及它在物理存储介质上的结构。一个物理视图可以支持多个逻辑视图。DBMS使用专门的数据库管理软件,使物理数据库可以应用于不同应用程序所需的不同逻辑视图。对数据库中全部数据的整体逻辑结构的描述称之为数据库的概念模式(conceptual schema)。概念模式不但描述概念记录类型,还要描述记录之间的联系、所允许的操作、数据的完整性和其他数据控制方面的要求。在概念模式的基础上,对数据如何存储在物理介质中的描述称之为物理模式(physical schema)或内模式(internal schema)。用户用到的那部分数据的描述称之为子模式(subschema),它是概念模式的逻辑子集,也称之为外模式(external schema)。子模式是用户与数据库系统的接口。有了子模式,程序员不必关心概念模式,只需与子模式发生联系,按照子模式的结构存储和操纵数据即可。例如,在图6—3的人力资源数据库中,处理员工退休金的程序需要一个由员工姓名、地址、身份证号、养老金等数据组成的子模式。
数据库管理系统有三个组成部分:数据定义语言、数据操纵语言和数据字典。
数据定义语言(datadefinitionlanguage,DDL)用于定义数据库的概念模式、内模式和子模式以及它们相互之间的映像,还定义数据的完整性约束、保密限制等约束。
数据操纵语言(datamanipulation language,DML)通常嵌入在一些传统的第三代或第四代编程语言中,实现对数据的检索(查询)、插入、删除和修改等数据操作。今天使用较广泛的数据操纵语言是结构化查询语言(structuredquery language,SQL)。作为一种交:互式的查询语言,SQL可以被用来访问数据库中的数据,SQL的命令还可以嵌入到传统编程语言写成的应用程序中,执行对数据库的访问和操作。
数据字典(data dictionary)是自动生成或手工生成的数据定义文件,包括对数据的用途、物理表述、所有权(即谁来负责维护该数据)、授权、安全性限制等。对数据库的操作都要通过数据字典才能够进行。
DBMS如何解决传统文件环境带采的问题
DBMS可以通过对数据的集中管理,避免数据的孤立存储,进而降低数据冗余和数据的不一致性。虽然DBMS可能不能够完全消除除数据冗余,但可以对数据冗余进行有效控制。同时,即使存在数据冗余,DBMS也可以帮助避免数据的不一致性,因为DBMS可以保证冗余数据取相同的值。DBMS独于应用程序和数据而存在,因而数据的可获得性比文件环境下大大增加了,应用程序的开发和维护费用也大大降低了,
6.2.2数据库类型
DBMS可以采取不同的数据模型来描述实体类型、实体属性和实体之间的关系。每种模型都有各自的优势。
1.关系型DBMS
应用较广泛的数据库OA管理系统是关系型DBMS。在关系型数据模型中,用二维表格表示数据库中的数据这些表格被称为“关系”(relation)。位于不同文件中的数据可以通过关系方便地进行组合和提取。
图6-4显示了一个供应商关系和一个零件关系。关系中的行表示各个不同的记录,称之为元组(tuple),关系中的列表示字段,用于描述实体的不同属性。人们经常需要利用多个关系中的数据生成一个报表,此时,就可以体现出关系模型的优势:只要采用相同的数据元,关系模型就可以为位于不同文件或关系中的数据建立起联系。
假设我们希望找到能够提供137号零件供应商的名称和地址。所需的信息放在供应商管理和零件关系这两个表中。我们注意到这两个关系有一个共同的数据元:供应商号。在关系型数据库中,可以通过选择、投影和连接这三种基本操作,建立所需的数据集。如图6-5所示,我们可以从零件关系中选择零件号为137的元组,将其与对应的供应商关系中的供应商元组相连接(通过共同的供应商号),然后投影到一个新的关系中。
建立图6-5中的新关系可以通过以下SQL实现:
SELECT零件.零件号,供应商.供应商号,供应商。供应商名,供座商.供应商地址
FROM零件,供应商
WHERE零件.供应商号二供应商.供应商号AND零件号=137
主机系统的关系型DBMS主要有IBM的DB2和Oracle公司的Oracle数据库:DB2、Oracle和微软的SQL Server主要是中型计算机系统应用的关系型DBMS,微软的Access是个人计算机应用较广泛的关系型DBMS:OracleLite是小型手持计算机设备广泛采用的DBMS。
2.层次型和网络型DBMS
有些老的DBMS可能是建立在层次型数据模型或网络型数据模型之上。层次型和网络型DBMS已经过时了,已经没有人再利用它们建立新的数据库应用。它们的主要缺点在于没有关系型数据库那样的灵活性,对于数据的操作需要事先定义,而且一旦定义之后就很难修改。不像关系型数据库可以从不同的数据文件中通过选择、连接、投影等操作灵活地组织数据,还可以在不涉及应用程序的情况下增加新的数据。
层次型数据库目前依然存在于银行、保险公司等大型主机协同系统的应用中。要完全淘汰层次型数据库还需要很长一段时间。
3.面向对象的数据库
在现实世界中,越来越需要数据库能够处理与传统数据不同的具有复杂数据结构的图像、声音、视频等多媒体数据。传统的DBMS无法很好地处理这些基于图像或多媒体的数据。例如,计算机辅助设计(CAD)数据库由多种类型数据的复杂关系组成,要在关系型数据库中操作这些数据需要把这些复杂的关系转换成相应的表和元组。而面向对象的DBMS可以把这些多媒体数据作为对象(object)进行存储和处理。
因为可以用于管理各种多媒体数据或JavaApplet(广泛应用于Web应用中),面向对象的数据库供应链管理系统(OODBMS)正在变得越来越普及。但是,面向对象的DBMS在处理大量数据的速度方面则逊色于关系型DBMS。因此,现在出现了一种兼顾了面向对象的DBMS和关系型DBMS两者优点的混合型DBMS,即对象一关系型DBMS(object-relationalDBMS)。可以通过以下三种方式实现两者混合的DBMS:应用具有面向对象特性的工具访问关系型DBMS,对现有关系型数据库进行面向对象的扩展,应用混合的对象—关系型数据库管理系统。
上一页:传统文件环境下的组织数据
下一页:数据库环境创建和发展趋势
相关新闻
-
数据库环境创建和发展趋势
要创建数据库环境,首先要了解数据之间的关系、数据的类型和用途以及组织需要采取的相应变革。图6-10中的应用服务器负责处理所有的应用操作,包括在Web服务器与后台的应用程序或数据库之间的事务处理和数据访问。
-
管理数据的管理机会、挑战和解决方案
实现数据库环境需要广泛的组织变革,包括信息和信息管理者、高层的权力分配、数据所有权和数据分享等。6,5.3解决方案指引 建立数据库环境的关键因素有:数据管理:数据规划与建模方法:数据库技术和管理:用户。
-