物品实体的流动数据库应用软件开发平台_第1页
物品实体的流动数据库应用软件开发平台_第2页
物品实体的流动数据库应用软件开发平台_第3页
物品实体的流动数据库应用软件开发平台_第4页
物品实体的流动数据库应用软件开发平台_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

目录

序:前世今生..........................................................................2

1概述..............................................................................4

1.1关于LVF的解释..............................................................4

2LVF的构成及特点................................................................6

2.1构造器(CONSTRUCTOR)和浏览器(BIGEYES).................................................................................7

2.2以方案形式定制功能模块.........................................................7

2.3开放控件,窗体设计灵活简单.....................................................8

2.4支持代码编辑...................................................................8

2.5数据安全、支持多种数据库......................................................9

2.6详尽的权限管理机制............................................................10

2.7流程设计实现数据扭转、体现业务流程............................................10

2.8内置完美的任务消息机制........................................................11

2.9封装多种业务流程、经营计算公式、数据分析方法..................................12

2.10以函数的形式自我壮大..........................................................12

3LVF中的关键技术思想概述.......................................................13

3.1代码解析......................................................................13

3.2消息服务器....................................................................13

3.3数据传输......................................................................14

3.4窗单据设计器..................................................................15

3.5如何理解单据无关性、流程无关性................................................16

4LVF的应用价值.................................................................17

4.1实施的过程就是对客户业务流程、资源重新整合的过程..............................17

4.2开发时间短,可以根据客户需求“量身定制”,真正“活”起来.......................18

4.3提高对业务的增值开发能力......................................................18

4.4不单单是一个管理软件,而是一个经营软件........................................19

4.5提高执行能力..................................................................20

5LVF系统介绍...................................................................20

5.1系统组成......................................................................20

5.2运行环境......................................................................22

6LVF应用及服务.................................................................23

序:前世今生

佛家有一首偈:生我之前谁是我?生我之时我是谁?

这是一个属于概念的年代,在大众看来,各种概念漫天飞舞,我

们经常的在两种角色中转换,有时我们是概念的缔造者;有时,我们

是概念的追随者。概念背后较少的是浮躁,更多的是自信。世界发展

到今天,诞生了很多新事物,也改变了很多人们对旧事物的看法。这

种看法的改变,大多源于角度的变化。一切诞生的新事物,其实原本

就存在,有的只是新发现、新组合或者是说从某种角度的再解释。敢

于作出再解释的人,说明他拥有必要的知识和足够的自信。

“平台”二字,大家并不陌生,曾几何时这二字变得老妪能解,

变成了各种大动作或大东西后面的通配符。好象满街都是匠人,举着

各色工具,伺机打造各种平台。软件行业尤其为甚,“平台好啊,我是

真心拥护”。因为被称之为“平台”的事物,往往具备如下特征:首先,

具有的是适用性,也就是有具体面向的对象;其次,具有整合的特点,

它把作一类特定事物所须的资源,整合到了一起,降低了使用门槛,

极大的方便了有想法的人,相对缩短了人们的准备期;再者,它极具

扩展性,对于平台自身如此,对于平台的使用者,更是如此,它可以

使使用者的空间变的相对宽广起来,关键在于你的思想有多少。

当然,平台都是一把双刃剑,常有驾御者头破血流。对这种现象,

我们的看法是:骑士违背了一种看不见的边界法则。

在软件行业中常说的平台,我们认为有两种,一种是“信息平台”

另一种是“信息化平台”。前者注重的是交换能力、后者注重的是建设

能力。二者缺一不可。管理软件的初涉者们,在具体的行业面前,往

往可以看出一些问题。于是这些问题,就成了软件商的生存空间,大

家试图改造旧的管理模式、业务流程等等,追求的一塌糊涂。当然,

成功者凤毛麟角。在竞争面前,大家忽略了被改造者的感受与要求,

同时更忽略了被改造者自身,哪一个又不是在面对竞争!于是,有人

说,管理软件先进,但与企业两张皮,贴不到一起。当所有企业,开

始牢牢树立为客户服务的理念时,管理软件的开发商们应该将目光放

远,开始要关注你客户的客户。软件开发商应从一个改造者的角色,

转化为助力者,帮助使用者达到其客户的满意。所以我们要作“经营

软件”,管理服务于经营。经营的好坏,在于执行能力,在于为客户提

供个性化服务的能力。这属于不可预知的范畴,需求永远在变,我们

的使命在于保证各种新需求的应对措施能够顺利执行。

因此我们推出了LVF,LVF是一个具备较高新业务或新需求

学习能力、具有极高执行保障能力、服务于企业经营的信息化平台。

它的前世,与众多的软件平台一样,是附载了很多假设的,可局部调

整的管理工具。它的今生,是:具有高学习性、高执行能力的经营利

崔巍

2003年2

月18日

1概述

1.1关于LVF的解释

LVF(LogisticsValuseFlat)------物流价值平台。

物流二字,顾名思义。指的是物品实体的流动。为什么要有物流?

物流到底成就了什么?物流最基本的动作又是什么?搞清楚这三个问

题,就了解了LVF的抽象思想。为什么要有物流呢?大家知道,物

品所有权的转移,首先必须建立在物理位置转移的基础上。也就是物

品实体的流动。物品所有权的转变,追求的是价值的提升,因此物流

成就了价值的提升。物流里面,最基本的动作是“储”和“流”,储是

为了流,储是等待时机,等待一个消息,等待关于哪里需要的消息、。

流,受到消息的驱动而发生,改变了物理位置,成就了价值的提升。

作为LVF正是根据上述指导思想提出的,物流价值平台。我们

称之为:基于流定制的信息化平台。在我们看来,数据存在于数据库

中,没有加工或不被需要,就不叫信息,因此毫无价值。这个过程如

同物流里的“储”的实质。当它获取了消息之后,经过加工,出现在

被需要的地方,信息的价值才得以成就。因此,信息系统中的数据和

信息,其实是在不断转化,一次次的等待消息、一次次的出现在需要

者面前,又一次次的被加工。因此,信息系统关键的交互方式,只有

输入和输出两种。这两种方式,是在消息的驱动下,以表单(或称之

为窗体、单据)为载体展现。输入,谓之为填写。其本质在于改变数

据本身。输出,谓之为查询,其本质在于只改变数据的表现,不改变

数据本身。那么,作为数据与操作者连接介质的表单,我们称之为:

滤网。滤网的构成,在于外在表现和内在选择数据的规则。外在表现,

即单据界面。内在规则,即LVF中的数据方案。

在LVF中,所有的触发被引申为消息机制,所有的交互被引申

为滤网机制。在数据的流动过程中,作为信息出现的顺序和约定等因

素构成了流程。可对数据进行加工的角色及其动作构成了权限。在消

息的驱动下,将滤网与流程和权限结合起来,最终形成了我们常说的

业务。所谓的流定制思想,实质是,用户可定制流的产生时机、方向、

状态等属性,从而决定数据的“储”于“流”的时机。物流里另外有

句话,就是将仓储视作时速为0公里的运输。一切思想,基于可规范

的流动.了解上述思想后,将会有助于大家了解和掌握手中的LVF。

2003年2月18日

2LVF的构成及特点

我们的LVF主要由两部分组成,一个是构造器,一个是“大眼

睛”(亦称浏览器),相当于普通意义上的最终可执行程序。在构造器

中,主要包括了滤网设计器和流程设计器。如前文所述,滤网设计,

分为两部分,一部分是单据设计(滤网外在表现)、一部分是数据组织

设定(内在数据规则设计)。构造器中所有的设计,均以方案的形式存

在,尊重以往劳动,增加复用性。

“大眼睛”,用于浏览在构造器中形成的业务。“大眼睛”内制消

息服务器,以类似邮箱的消息队列表现形式,为已表明身份的登陆者,

组织相关的任务列表。以便进行任务操作。同时内嵌的权限机制,将

会滤除多余的部分,使操作者目的明确,直指主题。“大眼睛”具有一

定的软件兼容性,并不受被浏览对象的位置和种类限制,可以调用一

个EXE、可以浏览一个网页、并与OFFICE无缝连接

2.1构造器(Constructor)和浏览器(BigEyes)

非平台化的软件设计思想是,了解客户的需求以后,进行开发设

计工作,然后代码人员用代码实现、编译后形成可执行程序。这种可

执行文件已成为一个实体,如要改动,必须有代码人员重新组织代码,

然后编译形成新的可执行程序。

LVF的构造器就是将设计部分、代码实现部分抽象出来,形成

一个软件功能模块搭建平台。在构造器中包含流程设计部分、功能模

块组织方案定制部分、功能窗体设计部分、功能窗体试运行部分。在

构造器中确定的功能模块,以插件的形式提供给浏览器。

浏览器就相当于普通意义上的最终可执行程序。在LVF中,浏

览器由构造器提供的功能插件组成,浏览器中还包括操作员权限设定

部分,功能菜单树组织部分。

我们可以将购造器理解为生产零部件的车间,浏览器就是用零部

件组织起来的一台可以跑动的汽车。当我们对汽车的零部件不满意时,

就在构造器车间里重新加工就可以了。也可以将构造器理解为开发工

具、开发语言,与普通的开发语言相比,简单易学,容易掌握。

2.2以方案形式定制功能模块

以方案形式定制功能模块,组织数据。制作方案的过程如同填写

一张EXCEL表格,简单灵活。

例如,数据组织方案,其所要填写的内容是:方案的名称、数据

是从哪个后台表中提取的,提取的条件,起一个临时的名字。如果我

们理解后台表的意义,知道从哪个表里提取数据,就可填写这个表格

To这个方案被引用后,数据就会自动进行连接,等待下一步操作了。

以这种思路,构造器中提供了窗体数据组织方案、资料卡方案、

窗体方案、查询方案、字段显示方案、编码方案、标识标号方案、代

码实现方案等。轻松的填表格的过程的就是功能模块的建立过程及数

据的组织过程。

2.3开放控件,窗体设计灵活简单

应用软件必定有窗体操作的,窗体的设计实现是如何进行的呢?

在构造中发布了大量的控件,如按钮、文字框、数据网格、标签等。

我们只需要用鼠标拖动,就可以轻松的布置我们窗体中所需的控件,

对控件的属性进行必要的设置,一个窗体就建立成功了,将其测试、

发布,被浏览器调用就可以了。而且窗体设计追求完美,所有控件设

计精巧、美观。

2.4支持代码编辑

LVF在窗体设计时支持代码解析,遵循准PASCAL语法。

对于有一定程序开发基础的使用者来讲,可以将LVF视作一个基于

面向对象思想的企业级开发工具。它发布了足够的控件,并且对于控

件的属性、事件支持一定程度上的自由设定,也就意味操作者可以对

平台搭建地最终软件进行二次开发、发布。

在代码编辑的过程中,LVF的代码窗,内制各种热键,可以快

速调出常用语句的框架结构,如:BEGINEND>IF循环、WHERE循

环等代码框架结构。可以通过热键检索到当前窗体已有的控件,并支

持一键调出已选中控件的可用属性。除此以外,热键支持的范围还有,

快速调出字段名、各种内制的业务函数、数据源名称等等,这样,代

码开发的主要工作,变得象选择和填空一样简单,提高了代码开发的

效率。LVF如此设计,就是为了降低代码编辑的门槛,使得更多的

人可以上手,发挥自身的价值。这个门槛的降低,使得大多数企业,

有机会拥有真正意义上的“自己的”信息系统。这一机制,对于国内

企业的信息管理意义重大。LVF在这里开创了先河,LVF的出现,

提高了整条价值链的绝对值。

2.5数据安全、支持多种数据库

采用C0BAR中间层协议,数据安全、支持负载平衡。应用软

件后端可以支持目前主流的各种兼容ANSI94标准的SQL数据库服务

器,包括Oracle,Sybase,Informix,IBMDB2,MicrosoftSQLServer,

InterBase以及KingBaseES国产数据库作为基本数据支撑平台。

2.6详尽的权限管理机制

从管理理论、企业管理需求和数据安全的角度考虑,设计了以管

理级别和人员管理对象为基准的授权机制,以使得用户可以自由定义

特定角色可以运行的功能、可以执行的特定操作以及可以访问的特定

数据集合,权限设置精确到字段一级。

采用滤网机制,针对同一数据资源,每种角色的所分配的滤网不

同,所看到的资源也就不同。在角色登陆的时候,“大眼睛”感知登陆

者的角色,同时检索该角色可作出的动作,然后准备该角色可以使用

的滤网,以菜单树的形式创建,另外,消息服务器组织需要该角色处

理的任务,以消息的形式发布出来。在以上过程中,权限与滤网共同

发挥作用,去除不可见的控件、字段或锁定不可操作的控件、字段。

2.7流程设计实现数据扭转、体现业务流程

LVF真正的变革体现在流程设计中。这使得LVF可以超越一

般管理软件的管理能力,不单单用于记录各种动作的结果,而上升为

管理到动作的产生,这种管理时机的提前,使得我们的用户,实现了

过程的管理。极大的保障了执行能力。减少了企业中操作层创造力所

带来的任务执行过程中的不确定性。提高了结果接近或达到预期值的

可能性。

在流程设计中,LVF采用图形化、界面化的表现形式。步骤非

常简单,首先是绘制一个流程图(操作界面如WINDOWS的画笔),

以描述起止点以及节点间的顺序。必要的情况下,可写入各节点间的

条件。一个流程的设计宣告完成。在一个流程中选择各节点调用的窗

体,(也可以是EXE或文档等)然后选择使用者,注意:(流程+窗体+

角色)实际业务就形成了。在工作中很多事情都可以用流程来描述,

对于流程来讲如果我们改变节点开始的条件,那么节点动作发生的时

机就会改变。如果我们将节点的循序颠倒,那么动作的先后循序就会

改变。

所以,流程实际是由真正的支配者来设定的,当环境发生变化

时,支配者有可能对流程进行改变。可能增加节点,减少节点,改变

节点的发生条件,改变节点的先后循序。

例如,企业管理者对业务流程制定、更改,只需要增减节点,

改变节点先后顺序,改变节点发生条件。

2.8内置完美的任务消息机制

什么是消息?

我们可以理解为,消息是一个通知,是由动作所引发的。在LV

F中引入消息机制,确保在软件使用中流程得到贯彻和执行。一个人

的动作后,下一个动作的执行者会自动得到消息,得到提示。

如果,一个动作可以由两个人以上完成,那么在操作者获得消息

后,可以进行消息确认,明确这一动作由自己执行,其他人则自动取

消消息。

2.9封装多种业务流程、经营计算公式、数据分析方法

凭借多年的软件开发经验,及为企业服务的宗旨。LVF中封装

了多种业务经营计算公式、考核指标、绩效考核机制、统计分析方法。

并将某些理论应用性扩展。

如JIT采购中的看板,LVF通过定制方案的办法允许用户将

其运用在其它一切需要看板分析的事物中。换言之,看板是LVF中

预制的一个电视机,方案就是不同的节目。例如可以用看板分析货位

占用率、商品出库率、员工迟到次数分布等。

再如定量定货法中的ABC分析法,通过定制方案的办法允许用

户将其运用在其它一切需要考虑资源配比的分析中。

2.10以函数的形式自我壮大

LVF具有不断完善的机制,在不改变LVF稳定内核的基础上

通过扩充函数来增强LVF的功能,来适应更新的业务需求,开发需

求。

我们可以这样理解,LVF的内核是一个树的主干,每一个扩充

的功能是它的一片叶子,如果叶子扩充失败,那么摘掉这片叶子,或

者不用这片叶子,仍然不是这可树的完美性。

这种机制保证了LVF稳定的同时能够不断扩充功能,避免了增

加一个功能就要重新对LVF进行测试,避免了用户对LVF扩充后

的稳定性持怀疑态度。

3LVF中的关键技术思想概述

3.1代码解析

代码解析依据程序编译原理设计完成,内部涵有字符识别器、词

法分析器、语法分析器、变量构造器、语句执行器。

通过字符识别器过滤代码中的所有空格,将字符逐一传递给词法

分析器。词法分析器对字符进行组织,组合成词,进行词法分析,判

断其类型,类型包括:保留字、标识符、运算符、分割符,然后将完

整的词传递给语法分析器。语法分析器对词语进行组织,组织成句,

进行语法分析和语法检查,如果语句错误则报错误信息;如果是变量

定义语句则传递给变量构造器开辟变量空间;如果是执行语句则传递

给语句执行器进行执行。语句执行器支持递归嵌套,支持条件语句、

循环语句无限嵌套调用使用。

字符识别器、词法分析器、语法分析器、变量构造器、语句执行

器是一个连动的过程,全程唯一,资源占用小,递归调用无须另外开

辟资源,避免资源不足造成溢出。

3.2消息服务器

“大眼睛”中存在消息服务器,一直在检测各种消息,对系统中事

件的发生进行感知,组织后,进行分发。分发中涉及到数据锁的问题。

比如一个消息有很多同等权限的人可以作出动作。因此消息服务器,

首先要分别“与”和“或”的关系。分清这一关系后,将消息的状态

分为:已(已处理)、未(未处理)、毕(处理毕)三个状态,进行处

理。如果对于一个消息,一个角色与其它角色间是“或”的关系。同

时这个消息处于“未”的状态,因此此消息将被一个角色独占。至于

那个角色,可以消息服务器分发,也可由角色自己挑选。对于已分配

的消息,消息服务器有时间警报,防止有些角色独占消息而不处理,

影响工作。警报时限可设置。

3.3数据传输

数据传输也是作为一种服务,存在于LVF中。它包括多种传输

方式,如:直接传输、打包传输、短信传输等,它受到消息的支配,

以相应的手段来完成传输过程。传输产生的规则,可以由用户设定。

如方向、条件、具体数据(精确到字段)等等。

数据传输制定仍然是以“方案”的形式存在,不但可以制定不同

局域网上数据库之间的数据传输模式,还可以制定局域网与广域网之

间的数据传输模式。

3.4窗单据设计器

利用控件定制,控件动态创建技术将常用控件及自行设计的控件

发布出来,供使用者自己用鼠标拖动使用,进行窗体布局排版。并一

同发布控件得属性、事件,使窗体功能丰富、强大。

控件属性发布机理:

控件事件发布机理:

3.5如何理解单据无关性、流程无关性

LVF中,存在单据无关性和流程无关性的特点。单据是需要记

录的数据的一个归纳的集合,本身是滤网的外在表现,同一种单据可

能出现在各种业务中。与流程和业务,没有确定的必然联系。

流程无关性,与单据无关性的思想类似,流程就是流程,只有角

色、动作、顺序。举例来讲,业务制单一一经理审核一一财务支付。

这一看似简单的流程,实际很多事情都这样作。与单据和业务也没有

已经确定的必然联系。理解了这两个无关性后,有助于企业理解信息

系统眼中的业务。

量者的无关性,使软件设计更为灵活,即可以先搭建所需要的全

部滤网(窗体),然后通过制定流程将之连通;也可以先制定流程,然

后搭建与之相匹配的窗体。

4LVF的应用价值

4.1实施的过程就是对客户业务流程、资源重新整合的过程

惯性是可怕的,多数企业长期的处在一个环境中,先入为主的认

为存在的就是合理的。一直采用的流程,未必是正确的。因为有时间

参数,所以多数流程是需要重新论证的。也许企业已经认识到了现有

流程存在诸多弊病,但调整起来却无从下手。很多用户脑中存在的多

是操作流程,而不是业务流程。

针对这些问题,LVF从设计的角度强化企业对流程的重新认识,重

新规划,重新整合资源。为什么呢?

LVF的流程设计要求用户确定每一个操作结点,分析数据为什

么要从一个结点流向下一个结点,数据状态是否发生变化,每一个结

点接受数据的条件是什么?经过一系列分析,企业会发现原有的一些

操作只是拘泥于形式,一些操作只是因为以前的一个需求而定的却一

直延用至今。

LVF使企业以全新的视角重新斟酌企业流程。

4.2开发时间短,可以根据客户需求“量身定制”,真正“活”

起来

现在的建楼速度为什么很块。一个原因就是采用框架结构,分工

合作。如同用大积木搭房子,而不仅仅是沙石。LVF也是这个道理,

功能插件可以继承,流程可以继承,自然提高了速度。中等规模的软

件(50窗体)在需求确定,流程设计确定,数据结构确定的基础上,

软件搭建测试只需要10个人天。

因为是插件式,“量身定制”自不必说。

4.3提高对业务的增值开发能力

LVF使企业可以为客户不断提供增值服务成为可能。

为企业“量身定制”是一方面,企业为其客户“量身定制”服务

才是重中之重,企业之间拼管理,更拼服务。满足客户的个性化需求,

急客户急之所急,想客户想之所想,才是提高满意度的出发点。LV

F使企业可以任意增加与增值服务相配套的管理、支持、预策、分析

等功能模块,打破了软件所带来的增值服务瓶颈。

拥有了LVF的支持,企业就要将选择咨询合作提到日程上来。

为什么?

拥有了LVF,一定程度的就拥有了增值服务的工具。那么如何

真正了解企业客户的需求和战略需求呢?就要向相关的咨询公司寻求

合作。相关行业的咨询师对行业非常了解,对经营管理有独到的见解,

可以进行战略管理、组织结构设计、流程重组、市场营销等方面的咨

询,这样才会形成切实可行、有的放矢的服务管理方案。

4.4不单单是一个管理软件,而是一个经营软件

管理的侧重点在于规范,企业的信息流。管理软件中强调的是票

流、物流

款流三条主线。这三主线,票流最为重要。首先,我们应当理解的是

广义的票流,在企业当中所有需要记录的信息,有时是书面的,有时

是口头的,但只要需要记录,其实就是一种票据,票据实际就是将各

类需要记录的信息,归纳成为某种规范的格式,形成的记录载体。管

理重的是结果记录,主要动作是归纳、整理、分类、保管。

经营的关键在于不断创新,并且保障创新的可行性。也就是对决策

人想法的执行能力。重的是过程控制,保障计划实施。

LVF满足企业的个性化需求。使企业的管理者能够完全的从经

营的角度出发考虑问题,考虑所使用软件的改进。不再是“脚”适应

“鞋”,而真正实现“鞋”适应“脚”。LVF支持企业进行完全私有

化的单据定制开发,流程定制开发,报表定制开发。此种信息系统的

出现,为企业提高了新业务的学习能力,只要他们的客户能够准确描

述,某种服务的要求,比如,涉及到的单据,流程以及反应出的报表,

企业完全可以针对这一客户提供个性化的服务,提高响应能力,用信

息系统保障客户承诺,提高执行能力。使得客户的思想得以实现,甚

至支持极端情况下的,一个客户一套服务流程,一种商品一个运作流

程,向单品管理这一更高的服务境界迈近。实现单品管理就意味着物

流企业帮助客户,在提高商品价值的同时,提高了物流服务的价值,

当然也提高了物流信息系统的价值。这也是我们物流价值平台开发的

应用主导思想,即“三升有幸”指导思想。与此同时,物流企业应用

物流信息系统管理的意义,从管理工具上升到了经营必须品的高度,

变成了生产力。物流企业回避了业务发展而管理软件提供商无法跟进

的风险。减少了软件制约企业发展这种情况的发生。

4.5提高执行能力

企业领导者制定的方针目标,工作流程如果得不到贯彻,那么只

能是纸上谈兵。

LVF以消息的机制、权限的机制、流程为基础督促、帮助操作

人员执行任务,确保管理者的理念在各个岗位人员中得到体现。

5LVF系统介绍

5.1系统组成

系统模块划分:

静态结构图:

5.2运行环境

521服务器端:

具体指标依据所选数据库而定。以下仅作参考

硬件环境

CPU:PentiumII以上或兼容机

内存:128MB以上(建议256MB以上)

硬盘:至少1GB空闲空间

软件环境

MicrosoftWindows2000Server/AdvancedServer,Windows

XP

522客户端

硬件环境

CPU:PentiumII以上或兼容机

内存:64MB以上(建议128MB以上)

硬盘:至少100MB空闲空间

软件环境

MicrosoftWindows2000Professional/Server/AdvancedServer,

WindowsXP,WinMe

6LVF应用及服务

任何企业在使用LVF的时候,着眼点应该放在,为自己的客

户提高服务水平,这一基础上。充分了解自己客户的需要,用信息

化手段来保障针对客户需要所制订的解决方案得以顺利执行。由于

LVF本身,具备单据无关性和流程无关性,因此,调整或组织新

服务模式,相对变的容易起来。企业可以结合自身的实际情况,具

体实施。

作为LVF的开发者,我们将不断的充实,方案库中流程、单据等方

案的数量和种类,为企业提供一个知识库,降低企业开展新业务的难

度和风险。附录资料:不需要的可以自行删除

数据库系统全面概述

第一章数据库系统概论

本章目的在于使读者对数据库系统的基本知识能有一个较为全面的了解,为今后的学习

和工作打下基础。本章重点介绍了有关数据库结构和数据库系统组织的基本知识和基本概

念,以及常见的三种类型的数据库系统的特点。重点介绍关系数据库的有关知识。

1.1数据管理技术发展史

随着生产力的不断发展,社会的不断进步,人类对信息的依赖程度也在不断地增加。数

据作为表达信息的一种量化符号,正在成为人们处理信息时重要的操作对象。所谓数据处理

就是对数据的收集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列工

作全部过程的概述。数据处理的目的就是使我们能够从浩瀚的信息数据海洋中,提取出有用

的数据信息,作为我们工作、生活等各方面的决策依据。数据管理则是指对数据的组织、编

码、分类、存储、检索和维护,它是数据处理的一个重要内容中心。数据处理工作由来以久,

早在1880年美国进行人口普查统计时,就已采用穿孔卡片来存储人口普查数据,并采用机械

设备来完成对这些普查数据所进行的处理工作。电子计算机的出现以及其后其硬件、软件的

迅速发展,加之数据库理论和技术的发展,为数据管理进入一个革命性阶段提供有力的支持。

根据数据和应用程序相互依赖关系、数据共享以及数据的操作方式,数据管理的发展可以分

为三个具有代表性的阶段,即人工管理阶段、文件管理阶段和数据库管理阶段。

(11人工管理阶段

这一阶段发生于六十年代以前,由于当时计算机硬件和软件发展才刚刚起步,数据管理

中全部工作,都必须要由应用程序员自己设计程序完成去完成。由于需要与计算机硬件以及

各外部存储设备和输入输出设备直接打交道,程序员们常常需要编制大量重复的数据管理基

本程序。数据的逻辑组织与它的物理组织基本上是相同的,因此当数据的逻辑组织、物理组

织或存储设备发生变化时,进行数据管理工作的许多应用程序就必须要进行重新编制。这样

就给数据管理的维护工作带来许多困难。并且由于一组数据常常只对应于一种应用程序,因

此很难实现多个不同应用程序间的数据资源共享。存在着大量重复数据,信息资源浪费严重。

[2]文件管理阶段

这一阶段发生于六十年代,由于当时计算机硬件的发展,以及系统软件尤其是文件系统的出现和发展,

人们开始利用文件系统来帮助完成数据管理工作,具体讲就是:数据以多种组织结构(如顺序文件组织、

索引文件文件组织和直接存取文件组织等)的文件形式保存在外部存储设备上,用户通过文件系统而无需

直接与外部设备打交道,以此来完成数据的修改、插入、删除、检索等管理操作;使用这种管理方式,不

仅减轻进行数据管理的应用程序工作量,更重要地是,当数据的物理组织或存储设备发生变化时,数据的

逻辑组织可以不受任何影响,从而保证了基于数据逻辑组织所编制的应用程序也可以不受硬件设备变化的

影响。这样就使得程序和数据之间具有了一定的相互独立性。

但由于数据文件的逻辑结构完全是根据应用程序的具体要求而设计,它的管理与维护完

全是由应用程序本身来完成,因此数据文件的逻辑结构与应用程序密切相关,当数据的逻辑

结构需要修改时,应用程序也就不可避免地需要进行修改;同样当应用程序需要进行变动时,

常常又会要求数据的逻辑结构进行相应的变动。在这种情况下,数据管理中的维护工作量也

是较大的。更主要的是由于采用文件的形式来进行数据管理工作,常常需要将一个完整的、

相互关联的数据集合,人为地分割成若干相互独立的文件,以便通过基于文件系统的编程来

实现来对它们的管理操作。这样做同样会导致数据的过多冗余和增加数据维护工作的复杂

性。例如人事部门、教务部门和医务部门对学生数据信息的管理,这三个部门中有许多数据

是相同的,如姓名、年龄、性别等,由于是各部门均是根据自己的要求,建立各自的数据文

件和应用程序,这样不仅造成了大量的相同数据重复存储,而且在修改时,常常需要同时修

改三个文件中的数据项,如修改学生年龄,此外若需要增加一个描述学生的数据项,如通讯

地址,那么所有的应用程序就必须都要进行相应的修改。除此之外,采用文件系统来帮助进

行数据管理工作,在数据的安全和保密等方面,也难以采取有效的措施加以控制。

(31数据库管理阶段

1在不断改进和完善文件系统的过程中,从六十年代后期开始,人们逐步研究和发展了

以数据的统一管理和数据共享为主要特征的数据库系统。即在数据在统一控制之下,为尽可

能多的应用和用户服务,数据库中的数据组织结构与数据库的应用程序相互间有较大的相对

独立性等。与以往前数据管理方法和技术相比,利用数据库系统来进行数据管理工作具有以

下三个显著特点:

(1)从整体角度组织数据

数据库系统与文件系统的最大差别就在于前者在描述数据时;不仅仅是对数据本身进行

描述,而且对数据之间的相互联系也进行了描述。因此在组织数据时是从一个相对较高的整

体角度进行的,而不是仅仅局限于个别的数据管理应用场合。如前面提到的人事部门、教务

部门和医务部门对学生数据的管理工作,在利用数据库系统来进行管理时,若从整体考虑,

其数据的组织结构如图1.1所示。

学生信息数据公用部分

_______I'I\_________

人事部门学生数据专用部分教务部门学生数据专用部分「医务部门学生薮据专用部分

图1」学生信息数据组织结构

采用这种数据组织不仅可以有效地解决了文件系统的数据组织中所存在的数据冗余以

及数据一致性维护的问题。更主要的是它可以使人们从更高的全局角度出发,合理地组织数

据,从而有利于更大范围内的数据资源的共享,提高信息的使用效率。

(2)数据可为多个应用服务

正因为数据库中的数据是从整体角度进行组织的,因此,数据库中所存储的数据往往就

不仅局限于只为一二个应用提供服务,而是在更大范围内为仅可能多的应用提供服务,如图

1.1所示的一个数据库中所存储的数据,就至少可以为三个部门的应用提供服务。而实际上如

图1」所示的数据组织结构仅仅只是一个学校数据管理数据库中的一小部分。与此同时由于数

据库系统是以多级(层)组织模式对数据进行组织的,各级(层)模式之间的映射是由数据

库系统自己完成的,这就使得数据与程序之间可以具有较高的物理和逻辑相对独立性。正是

这一点,给数据库中的数据为多个应用提供服务奠定了基础。事实上数据库的规模越大,所

能够提供的应用服务就可以越多,也就越能体现出数据库在数据管理中的优势。当然这只是

相对而言,随着数据库中数据规模的扩大,数据库应用系统的制作和维护的工作也在迅速增

加。

(3)有一个数据库系统的管理软件

任何数据库系统都包含一个管理软件,即数据库系统的管理软件,通常又称为数据库管

理系统,它负责统一管理数据库系统中所有数据资源,是数据库系统与用户应用之间的接口,

通过它,用户可以不必要了解过多的计算机硬件、软件和数据库本身许多专业知识,更不用

去了解数据库系统是如何完成数据管理工作的具体细节,如文件如何打开、关闭、读、写等

等,就可以通过编写一些较为简单数据库应用程序,很方便地完成在较高级别逻辑组织基础

上的数据管理工作。除此之外,数据库管理系统还负责完成在对数据库进行并发访问时,保

证数据一致性的并发控制工作;保证数据安全性的访问控制工作;以及在数据库系统出现故

障时,提供保证数据一致性和完整性的恢复机制等诸多数据库系统本身的各种管理控制工

作。因此这里也可以看出,数据库管理系统功能的强弱及其各项性能指标的好坏,是衡量数

据库系统质量的一个极其重要的因素。

利用数据库系统进行数据管理工作,不仅可以保证数据的物理组织结构和存储设备与数

据库应用程序之间保持相互独立性;同时也可以保证数据的逻辑组织结构与数据库应用程序

之间保持最大可能的相互独立性,即当数据的逻辑组织结构发生变化时,数据库应用程序的

变动被限制在最小的范围内。由此可大大地减少数据库应用程序的开发与维护的工作量。

在数据库管理阶段,根据数据库系统本身所支持的数据模型的特点及所采用的相应数据

库系统技术,可以认为数据库管理到目前为止已发展经历了三代,即层次网状模型代、关系

模型代和面向对象模型代。

(1)层次网状模型代:流行于六十至七十年代,在这一代中的数据库系统所支持的数据

模型均是层次模型或网状模型。世界上第一个数据库系统是于1964年由美国通用电气公司开

发成功的IDS(IntegratedDataStore),它就是基于网状模型的数据库系统。IBM公司于六十

年代末推出了第一个商品化的层次数据库系统IMS(InformationManagementSytem),它们的

出现与应用为数据库技术的发展奠定了基础。

(2)关系模型代:流行于七十至八十年代,在这一代中的数据库系统所支持的数据的数

据模型均是关系模型。以关系(表)形式组织数据。1970年Codd提出了关系数据模型,由于

其具有严格的数学基础,抽象级别较高,且简单清晰,便于理解应用。到了七十年代末,出

现了不少关系数据库系统,其中具有代表性应首推IBM公司推出的SQL/DS和DB2两个商品化

关系数据库系统。进行八十年代以后,关系数据库系统已成为数据库系统发展的主流,几乎

所有新推出的数据库系统产品都是关系型的,它们中不仅有用于大型机和小型机数据库产

品,而且有可用于微机的数据库产品。市场上开始出现关系数据库的系列产品,这其中发行

量较大且在我国用得较多的有Oracle、Sybase,Sysbase、Informix、FoxPro等。随着微机和计

算机网络的广泛普及和应用,分布式数据库系统在八十年代后期,开始得到很大发展。其理

论和技术日趋成熟。目前几乎所有分布式数据库系统均是关系型的,而且几乎所有主要关系

数据库系统均己被扩充为分布式数据库系统。

(3)面向对象代:开始九十年代,在这一代中的数据库系统支持面向对象的数据模型。

它是数据库技术与面向对象程序设计方法相结合的产物。作为新一代数据库系统,现在已有

了一些商品化系统。但其具体应用尚不多。

1.2数据库系统

本节主要介绍有关数据库结构和数据库系统组织的一些基本知识和概念,使读者对数据

库系统的内涵有一个较为清楚的认识。

1.2.1数据库系统概念

由于数据库系统是一个由许多基本概念、技术方法和其应用对象所组成的复杂的有机整

体。很难用一两句话将其描述清楚。但为了使读者对它有一个总体的了解,首先这里我们试

着给出一个关于数据库系统的定义,即数据库系统中的数据库是一个已被规格化和结构化且

相互关联的数据集合,这些数据中不存在有害的或无意义的冗余;数据的组织与存储结构与

使用这些数据的程序相互独立;数据库中的数据可同时为多个应用服务;数据库中的数据定

义、输入、修改和检索等所有操作均是按一种公用的且可控的方式进行。根据这一数据库定

义以及实际应用的具体数据库系统的情况,我们可以认为一个数据库系统实际上是由三部分

内容组成,它们是数据库、多种应用和数据库管理系统。这三部分之间的相互关系如图1.2

所示。

(1)数据库:相互关联的且具有最小冗余的数据在其中按照一定物理组织结构存放,并且从

用户和数据库管理系统角度来看,这些数据又是按一定逻辑结构组织的。这种物理组织结构

和逻辑组织结构在最大程度上与用户所编制的应用程序相互独立。

(2)多种应用:数据库中的数据,在数据库管理系统的控制与管理之下,可以同时为多种不同

内容的应用提供服务,即可以为多个不同目的用户服务,各用户所操作使用的数据可以是相

互交叉的。用户的操作方式既可以按以数据输入/输出和数据维护为主的数据流量较大的批处

理方式进行:也可以按以查询为主的数据流量较小的联机处理方式进行,必要时还可以通过

编程来完成对数据库中数据的各种操作。

(3)数据库管理系统:它一方面负责对数据库中的数据进行管理和维护;一方面为用户操作数

据库中的数据提供一种公用的操作方法,接收用户的操作命令,帮助完成有关的对数据库的

操作并保障数据库的安全。

根据对数据库的定义以及数据库系统基本组成及作用的描述,我们认为一个的数据库系

统应该具有的以下五个基本特点:

[1]由于数据库系统是从整体角度考虑数据的组织,因此它必须有能力描述能够反映客观

事物及其相互联系的复杂数据模型,使用它能够对数据本身及相互间的各种关系进行充分描

述,这也是人们为什么要采用数据库系统来进行数据管理的主要原因之一。目前数据库系统

共提供了四种数据模型,它们是层次数据模型、网状数据模型、关系数据模型和对象数据模

型,一种类型数据库系统通常只提供上述其中一种数据模型描述方法,即只支持其中--种数

据模型的数据逻辑组织结构。

­数据库

图1.2数据库系统组成

【2】数据库中数据的独立性。为了说明这一点,首先我们介绍两个概念,(1)数据在物理

存储设备上的组织结构被称为数据的物理组织:(2)数据在用户或应用程序面前所表现出的

组织结构被称为数据的逻辑组织;一种数据的逻辑组织,可以采用不同的物理组织来实现,

物理组织的好坏影响着系统的性能和效率。在运行阶段中,由于性能的要求或存储设备的改

变,从而引起数据物理组织的改变,这种改变称为数据的再组织。用户在编制应用程序时,

则是根据数据的逻辑组织对数据进行操作的。因此数据物理组织的变化,不会影响数据的逻

辑组织,因而也就不会影响已有的应用程序,这种情况就被称为数据的物理独立性;而数据

的逻辑独立性是指当数据的逻辑组织发生变化时,如数据模型中增加了新的记录类型,某一

记录类型中增加了新的数据项等,原有应用程序的执行不受影响或影响最小。数据的独立性,

包括物理和逻辑的独立性,都是由数据库管理系统进行维护的。

[3]数据共享,由于数据库是从整体的角度对数据进行组织的,并在保证数据一致性的情

形之下,使数据库中的数据为尽可能多的用户提供应用服务。这些用户所使用的数据可以是

交叉的,即数据可以共享。如果数据不能共享,数据库中则必然会出现大量的冗余数据,这

样不仅造成存储空间的浪费,更主要的是由此可能带来数据不一致的隐患。

[4]数据库系统的安全可靠与完整,一个数据库系统的可靠性体现在它的软件系统运行故

障率很小以及在数据库系统由于各种意外而出现故障时,数据库中的数据的损失最小;安全

性是指数据库系统对其所存储的数据的保护能力,能够有效地防止数据有意无意地泄露或篡

改,控制数据的授权访问等。而数据库系统的完整性则是指在多用户操作数据情况下,数据

能够保持一致性。这些特性可以从以下几个方面进行说明:

安全性控制

安全性控制主要指的是数据库的保密性。并不是每个用户都能够存取数据库中所有数据

的,负责人和全体工作人员允许掌握的数据范围显然是有区别的,数据库系统把各用户存取

数据的权利分成若干等级,如教学人员作为一个用户可以登录学生的成绩,而学生作为一个

用户则仅可以查阅成绩而无法对它进行修改或删除。通过对各个用户授于不同的使用权限,

以确保数据库免遭损害和被非法使用,通常是通过采用口令密码以及数据库中数据访问授权

等方法对使用者操作数据的合法权进行检验,以实现对数据库中数据安全性的保护控制。

〈2〉完整性控制

所谓完整性包括数据的正确性、有效性和相容性。正确的数据不一定是有效的。如若用

两位阿拉伯数字来表示月份,在输入14来代表月份时显然是无效的。数据库系统应提供尽可

能多的检验措施,以确保数据库中的数据满足用户所要求的各种约束要求。

〈3〉并发控制

在多用户操作使用数据库系统的情况下,不同用户并行地操作数据库就可能引起对数据

库的干扰,从而使得数据库中的数据发生不一致的问题。如当甲用户从数据库中预定了仅剩

的一张机票之后,若在数据库尚来不及将剩余的机票数改为零时,乙用户又请求订票时怎么

办?显然对这种并发的操作要采取某种控制措施,最常用的方法是封锁技术,以排除和避免

这种错误的发生,保证数据库中数据的操作能够正确完成执行。

〈4〉故障的发现与恢复

由于数据库系统在运行过程中很难保证不产生故障、出现意义或受到破坏,而且往往这

些情况的发生的时间都是随机的,如断电、用户误操作等,而重建一个数据库往往要花费很

大的精力和代价,有时甚至是不可能的,因此数据库系统应提供应急保护设施,一旦系统的

软硬件发生故障或用户误操作导致系统异常时,系统应能够以尽量小的代价,尽快地恢复数

据库的内容和系统的正常运行。

[5]良好的人机接口与性能,任何数据库系统最终都是要和用户打交道,系统所具有的各

种功能最终都需要由用户来进行操作使用。简单易学、操作简便和用户界面友好是任何一个

数据库系统所必须的。此外系统的响应速度,单位时间内数据的吞吐量也是衡量数据库性能

重要指标。

1.2.2数据库结构

在上一小节,我们介绍了数据库系统所涉及的三个基本成分以及数据库系统所应具有的

五个特点,在这一小节中,我们将略为详尽地介绍数据库系统的主要组成之一,数据库的有

关知识。在数据库技术中,为了提高数据库中数据的逻辑独立性和物理独立性,采用了分级

(层)方法,将数据库中数据的组织结构划分成多个级(层)。根据美国国家标准协会(ANSI)

所提出的报告,数据库的数据组织结构可以分为三个相互关联的层次,它们分别是概念层数

据模式、用户层数据模式和物理层数据模式。

【1】概念层数据模式,又称为模式,它是对数据库中数据整体逻辑结构的描述,它是对数

据库中所有数据项、记录类型以及各记录类型之间的相互关系的描述。这里需要说明的是,

这种描述仅仅是一种逻辑组织结构的描述,是面向用户需要而提出的。而非是真正的数据存

储组织结构。提供这一层次的数据模式描述,主要是为了数据库应用系统的设计者,在对与

应用有关的所有用户的需求进行统一综合考虑之后提出的,它能够从总体上,将这些需求所

涉及到的数据及其它们间的相互联系,有机地结合成为一个逻辑整体。概念层数据模式的设

计是数据库设计的最基本也是最重要的任务。

[2]用户层数据模式,又称为外模式或子模式,它是对以用户为对象使用数据库所涉及到

的所有数据局部逻辑结构的描述。它是模式一个子集或者是一个映射,一个数据库只有一个

模式,但通常都对应着多个子模式。子模式所包含的数据之间容许有重叠,也容许多个用户

共用同一个子模式。提供这一层次的数据模式描述,有以下优点:

(1)用户只要按照描述自己所使用数据的子模式编写应用程序或输入操作命令,就可以完

成满足自己要求的数据库操纵工作。而无需了解整体数据模式或数据的存储组织结构,从而

是用户接口变得简单。

<2)保证了数据独立性。由于用户的数据库应用编程仅仅是依据子模式的数据逻辑结构的

描述,而子模式一般都是模式的一个真子集,因此若因需要而对模式所描述的数据逻辑结构

进行部分修改或扩充时,如增加新的数据项或者增加新的记录类型等,只要不影响子模式从

模式中的原有的映射关系,那么用户依据子模式所开发的应用程序,则就不受模式变动的任

何影响。所以提供模式与子模式这两层数据逻辑结构的描述,就可以较好地保证数据的逻辑

独立性。

〈3〉数据能够被较好地共享。由于同一模式可以产生许多不同的子模式,这些子模式所描

述的数据可以来源于模式所描述的全局数据逻辑结构中各种数据项或记录类型,因此这样

做,这样就可以很方便地实现数据的共享,也就大大减少了数据可能存在的冗余,从而有利

于保证数据的一致性、完整性和正确性。

〈4〉有利于保证数据的安全和保密。由于用户是通过其相应的应用程序对数据库中数据进

行操作,因此他只能操作其子模式所描述范围内的数据,而无法接触到其它用户及其子模式

所描述的数据,由此就可以保证数据库中的数据具有较好的安全性。

[3]物理层数据模式,又称为内模式或物理模式。它是对数据库中所有数据在物理设备上

实际存储的组织结构的描述。数据库数据根据这一层数据模式的描述,被存放到若干按各种

组织方式建立起来的物理文件中,对这些物理文件的所有存取访问的控制都是由数据库管理

系统统一控制的。管理系统负责完成从概念层数据模式到物理层数据模式之间的数据映射,

这样由于所有的数据库应用程序或服务所涉及到数据又都是根据模式的数据描述得到的,因

此当数据库数据的物理组织结构发生变化时,概念层数据模式描述通常无需修改,同样也就

保证了与模式相关联的子模式和用户应用程序也无需修改,从而使得数据库系统中数据也具

有的物理独立性。

图1.3数据库结构各模式间关系

由于一个数据库是采用上述的三个层结构方式对其中的数据组织进行描述的,从而较好

地保证了数据的逻辑独立性和物理独立性,方便了用户对数据库中数据的操作使用,减少了

数据冗余。这三层模式之间的相互关系如图1.3所示。由于数据库中数据,实际上是按照物理

层数据模式进行存储的,而概念层数据模式和用户层数据模式都只是对物理层数据模式描述

的数据的一种逐级(层)地逻辑抽象,用户在对数据库进行操作时,都必须通过数据库管理

系统,来完成从用户层数据模式到概念层数据模式之间、概念层数据模式到物理层数据模式

之间这两种映射,当然这两种映射是由管理系统自动完成的,对用户是透明的。

目前实际应用的中高档数据库系统的数据组织结构基本上是按照上述三层模式标准,来

描述数据组织的。也有一些中低档数据库系统,为了方便一般用户的操作使用,对上述三层

模式标准进行了一些简化,它们往往采用一层或二层模式来描述数据组织结构,通常都略去

了物理层的数据模式描述。

1.2.3数据库系统

数据库系统的核心是数据库管理系统(DataBaseManagementSystem,简称DBMS),在

它的控制和帮助下,用户可以建立、使用、修改和维护数据库中数据。数据库管理系统是建

立在操作系统之上的应用软件平台。它一般具有以下三个主要功能:

(1)提供操作数据库的用户高级接口。具体讲就是(A)提供数据描述语言,供用户对整个

数据库中的数据进行各种逻辑和物理组织结构描述,而这些组织结构的具体实现细节,则由

DBMS完成,用户不必关心。(B)提供数据操纵语言,供用户对数据库中数据按照其定义逻

辑组织结构进行各种操作,如插入、删除、修改和查询等,这些操作的的具体实现细节,则

也由DBMS完成,用户不必关心。(C)同时还可能提供其它工具,如用户界面生成工具、报

表生成工具等,帮助用户更加容易地对数据库的操纵进行编程。

(2)管理数据库。它主要包括以下功能:(A)控制整个数据库系统的运行;(B)控制用户

对数据库的并发性操作;(C)执行对数据库中数据的安全、保密、有效性和完整性检验;(D)

实施对数据库中数据的检索、插入、删除、修改等操作。(E)维护数据库数据组织结构的完

整和一致。

(3)维护数据库,主要包括:(A)初始化时数据库数据的装入;(B)运行时记录下与用户、

操作、系统状态和结果等信息的工作日志;(C)监视数据库性能;在性能变坏时,重新组织

数据库;(D)在数据库系统的硬件或软件发生故障后,对数据库中受破坏的数据进行恢复。

这一小节,将略为详尽地介绍与数据库管理软件有关的一些基本情况。

(-)数据库系统语言

数据库系统语言是用户与数据库系统进行交互操作的主要工具,是连接用户与数据库系

统的桥梁。数据库语言功能的强弱直接影响到用户使用数据库系统的方便程度。数据库系统

语言通常包括数据库数据描述语言DDL(DataDescriptionLanguage)和数据库数据操作语言

DML(DataManipulationLanguage)这两种语言。数据描述语言用于描述数据库中各种模式

的定义;而数据操作语言则是用于描述对数据库中数据所要进行的各种操作。这里我们将概

述这两种语言一些基本功能。

[1]数据描述语言

数据描述语言是建立和使用数据库的重要工具,它是用于描述数据库各层数据模式描述

的语言。数据库管理系统将对用户用该语言所描述的各层数据模式,进行编译,产生可供数

据库系统操作时所使用的目标模式。对应着数据库的模式、子模式和内模式,数据描述语言

又可分为模式描述语言、子模式描述语言和内模式描述语言。它们各自的功能如下:

(1)模式描述语言,它是用来描述数据库概念层数据模式的,即用于描述数据库中所有数

据以及它们间相互关系的特性。用模式描述语言写出的数据库全体数据的逻辑组织结构的全

部语句的集合,通常就被称为一个模式,一个模式的主要内容有:

①给数据库总体数据的逻辑组织结构,即模式取名

②描述模式中每个记录类型名称,以及其中各数据项的名称、数据类型(如字符型、数字

型等)和数据长度等。

③描述模式中各记录类型之间的相互联系,如果存在有相互联系的话。

一个模式仅仅是对数据库概念层逻辑数据组织结构的一个描述,并非是概念层逻辑数据

本身。与其它程序语言一样,模式描述语言也有自己的一套清晰而又严格的语句和语法规则。

对应不同类型的数据库系统,如层次数据库系统和网状数据库系统,它们的模式描述语言也

有很大差别,即使是同一类型数据库系统,如关系数据库系统,不同软件商推出的系统,其

模式描述语言也不尽相同。但有一点是一致的,这就是它们都必须是可对上面所说明的,描

述一个模式所需要包括的三个基本方面进行定义说明。

(2)子模式描述语言,它是用来描述数据库用户层数据模式的,即用于描述用户所使用的

数据的逻辑数据组织结构的定义。用子模式描述语言写出的用户局部数据逻辑组织结构的全

部语句的集合,通常就被称为一个子模式,一个子模式的主要内容有:

①给用户使用数据库所涉及到局部数据的逻辑组织结构,即子模式取名

②描述子模式中所包含的每个记录类型及其中的各数据项,这些记录类型的名称以及各数

据项的名称和长度,可以与模式中的定义有所不同,但这里主要是描述子模式中的记录类型

及其数据项与模式中记录类型及其数据项之间的对应映射关系,子模式中所描述的记录及其

中的数据项必须是已在模式中定义过的。

③描述子模式中各记录类型之间的相互联系。这里同样是描述子模式中的记录间相互联系

与模式中记录间相互联系之间的对应映射关系。子模式中所描述的记录间相互联系必须是已

在模式中定义过的。

与模式描述语言不同,子模式描述语言有时与编写应用程序所采用的其它程序设计语言

相关,因此根据子模式描述语言所适用的编写应用程序语言,子模式描述语言也可分为

COBOL子模式描述语言、FORTRAN子模式描述语言和C子模式描述语言等。

(3)内模式描述语言,它是用来描述数据库中数据在物理存贮介质上的组织结构和存放方

式等,它与数据库系统所运行的硬件环境特性相关。例如,系统建立了哪些物理文件?文件的

存贮设备是什么?文件是以什么样的组织方式等等,这些都是由内模式描述语言来负责描述

的。

上述内容仅仅是关于数据描述语言中一些最基本的部分。通常各软件商生产出的数据库

系统,往往都要根据自己的具体实现情况,提供出相应的一整套数据描述语言的规范,其中

也有一些数据库系统,对上述的数据描述语言的标准进行了一些简化,只给出一种或二种描

述语言定义,或干脆将数据描述语言与数据操作语言归并到了一起,以方便用户使用。如

FoxPro数据库系统,以及目前比较流行的基于SQL的多种数据库系统。

[2]数据操作语言

数据操纵语言是用户操纵数据库中数据的工具,用户借助它来实现从数据库中检索数

据、向数据库中添加数据、删除数据库中没有保留价值的数据或修改某些发生变化的数据等

操作。

数据操纵语言通常分为两种类型,即宿主式数据操纵语言和自含式数据操纵语言。自含

式数据操纵语言在数据库系统中可独立使用,是一种完整的语言,这类语言使用简单方便,

很适合于在终端上使用。这类语言的优点是系统运行效率较高且使用简单,缺点是它的应用

范围常常受到限制,例如要提取出数据库中的一些数据进行某种复杂运算处理时,单靠数据

库系统所提供的这类数据操纵语言有时就很难做到这一点。自含式数据操纵语言通常包含以

下基本操作功能:(A)从数据库中选择满足一定要求的记录或联系;(B)增加新的记录或

联系到数据库中;(C)修改数据库中的记录或联系;(D)删除数据库中的记录或联系;

另一种是宿主式数据操纵语言,它不能单独使用,必须嵌入到某种程序设计语言(如C,

COBOL,FORTRAN)之中方能进行数据库操作,这种数据操纵语言语句仅负责对数据库中

数据的操作,其它复杂的数据处理工作均有主语言完成,有时这样做会使得用户的应用程序

变得相当复杂。由于这样的程序既包含了主语言语句,也包含了数据操纵语言语句,也就使

得主语言原来的编译程序便不能完全编译应用程序了,解决这一问题有两种办法:(A

温馨提示

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

评论

0/150

提交评论