数据库应用是当前计算机最为广泛的应用之一。这是因为数据库具有强大的功能和灵活性。将authorware的交互性和数据库的强大的功能和灵活性结合在一起,可以为用户提供一个有力的工具,实现迅速有效的存取和管理数据。在本章中,将为大家介绍数据库的概念以及在authorware中如何利用和操作数据库。
数据库技术是计算机科学技术中发展最快的领域之一,.也是应用最广的技术之一,它是计算机信息系统与应用系统的核心技术和重要基础。
数据库技术从20世纪60年代中期产生到今天仅仅有30多年的历史,却已经历了三代演变,造就了c.w.bachman、e.f.codd和james gray三位图灵奖得主;发展了以数据建模和dbms核心技术为主导,内容丰富、领域宽广的一门新学科;带动了一个巨大的软件产业——dbms产品及其相关工具和解决方案。
在了解authorware对数据库操作方法之前,我们对数据库的知识进行简单的介绍。
如果用户在这之前使用过或学习过有关数据库的话,就会对数据库有一个基本的了解。数据库是组织、存贮、管理数据的电子仓库,是一个存贮在计算机内的通用化的、综合性的、相互关联的数据集合。数据库的基本思想是要对所有的数据库进行统一的、集中的管理,使数据独立于程序而存在,并可以提供给各类不同的用户共享使用。数据库系统可以有三个部分组成:数据库、数据库管理系统和数据库应用程序。
下面,先来了解一下数据库和它包含的专业术语。
在一个基本的数据库中,常常会涉及到数据库、数据表、记录、字段和数据值这些专业术语,它们都是与数据保存相关的一些集合,在它们中保存了一定范围的数据。不同层次的数据将保存在不同的集合之中,可以按一定的方式查询或使用这些数据。下面分别介绍这些概念。
(1)数据库
数据库(database)就是按一定的结构组织在一起的相关数据的集合。对于一个特定的数据库来说,它是集中、统一地保存、管理着某一单位或某一领域内所有有用信息的系统。这个系统根据数据间的自然联系结构而成,数据较少冗余,并且具有较高的数据独立性,能为多种应用服务。如,学校中的所有学生的档案,公司企业的人事档案和有关的商务信息等。
(2)数据表
数据表(table)可以比喻成一个存放原始数据的特定容器,.是一种有关特定实体的数据集合。在一个数据表中,常常可以按照行或列的格式组织数据。对于每个实体分别使用的数据只需存储一次。这将提高数据库的效率,并减少数据输入错误。有些数据库系统的数据库,表和数据库是同一个概念,如dbase等,有一些的数据库和表是不同的概念,如access等。比如说,在学校中关于学生信息的数据保存在一个表中,而有关学生的成绩保存在另一张表中。
(3)记录和字段
数据表可以被分为行和列,行称为记录(record),列成为字段(fields)。在表中同一行数据被称为一条记录。每一个信息行都可以设想为一个单独的实体,它可以根据需要进行存取或排列。例如,在前面所举的例子中,将学生表中的涉及同一学生的信息就包含在一条记录中。记录通常通过记录在数据表中的唯一的数据值来识别,这个数据值通常被称为主键。在表中同一列数据具有相似的信息,这些数据的列条目就是字段。例如:学号、姓名等等。每一个字段都通过明确的数据类型来进行识别,常见的数据类型有文本型、数字型、货币型等,字段必须定义特定的长度,每个字段在顶行用一个名字来表明其具体信息类别。
(4)数据值
数据表中的行和列,即记录与字段的相交处就是值——存储的数据元素。数据值的特点是不唯一性,在同一个表中,同一个值可能会重复出现。而每个数据值的字段和记录却是唯一的,字段可以用字段名来识别,记录则通常通过记录的某些唯一的特征符号来识别。
数据库、数据表、记录和字段之间的关系如图1所示:
图 1 数据库、数据表、记录和字段关系图
简称为dbms,是用于描述、.管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。它的主要功能是:
q 描述数据库:描述和定义数据库的逻辑结构、存储结构、语义信息和保密要求等。
q 管理数据库:控制整个数据库系统的运行,控制用户的并发性访问,检验数据的安全、保密与完整性,执行数据检索、插入、删除、修改等操作。
q 维护数据库:控制数据库初始数据的装入,记录工作日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。
q 数据通信:组织数据的传输,以保证多个用户同时使用数据库。
根据数据库管理系统所基于的数据模型的不同,数据库管理系统(dbms)又可分为四种类型:文件管理系统、层次数据库系统、网状数据库系统和关系数据库系统。目前关系数据库系统应用最为广泛。如常见的foxpro、access、oracle等都属于关系数据库系统。在众多的关系数据库管理系统(rdbms)中,oracle和sysbase主要应用于大型数据库应用系统,而dbase、foxbase、foxpro、access主要用于中小型数据库应用系统。
dbms中存储了大量的数据信息,其目的是为用户提供数据信息服务,而数据库应用程序正是与dbms进行通信,并访问dbms中的数据,它是dbms实现其对外提供数据信息服务这一目的的唯一途径。简单地说,数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。数据库应用程序在传统上是由程序员用一种或多种通用或专用的程序设计语言编写的,但是近年来出现了多种面向用户的数据库应用程序开发工具,这些工具可以简化使用dbms的过程,并且不需要专门编程。
用来生成数据库应用程序的语言主要分为以下类型:
(1)过程化语言
标准的计算机程序设计语言如pascal、basic和c都是过程化语言,这些语言可以通过某种“应用程序接口”(api)来创建数据库应用程序,这种api由一组标准的函数(或调用)组成,这些函数和调用则扩展了语言的功能,使之能访问数据库中的数据。当程序设计人员用过程化语言创建数据库应用时,必须把应用的代码编写成一系列的过程,每个过程执行应用的某一部分的工作,如一个过程查询数据库,而另一过程更新数据库中的数据,然后不同的过程通过其他的用户界面过程(例如菜单系统)联系在一起,并且在应用中的适当地方运行。
上述这些过程化语言一般用来创建非数据库应用程序,它们通常被称为“第三代语言”(3gl)。还有一些过程化程序设计语言是某种特定的dbms专用的,这些语言一般被称为“第四代语言”(4gl),即数据库专用语言。常见的数据库专用的过程化语言如dbase语言,paradox数据库的pal语言等等。
(2)结构化查询语言(sql)
结构化查询语言(structure query language)是基于关系模型的数据库查询语言,它是一种非过程化的程序语言,也就是说,没有必要写出将如何做某件事情,只需写出做到什么就可以了。写出的语句可看作是一个问题,称为“查询”(query),针对这个查询,得到所需的查询结果。下面是一个例子:
select name,total from class where total>600
这个查询意为从数据库表class中将总分(total)大于600的所有人选出来,并列出他们的姓名(name)和总分(total)。
把sql描述为子语言更适当一些,因为它没有任何屏幕处理或用户输入/输出的能力。它的主要目的是为了提供访问数据库的标准方法,而不管数据库应用的其余部分是用什么语言编写的,它既是为数据库的交互式查询而设计的(因此被称为动态sql),同时也可在过程化语言编写的数据库应用程序中使用(因此被称为嵌入式sql)。
(3)其他语言
用于开发数据库应用程序的语言中,还可以使用目前数常见的“面向对象程序设计”(oop)语言,如c++、 objact pascal等,oop代表了一种完全不同的程序设计方法,在这种程序设计方法中,活动被定义为在“对象”上发生的操作,而不是作为一系列过程来定义的。在数据库应用程序中使用oop语言的情况正在不断增加。
开发数据库应用程序使用的另一种语言是“宏”语言。宏语言不是一种完全的程序设计语言,它实际上是一个用户手工输入的表,这个表被输入到应用程序中,以便自动执行一定的任务。对于某个特定应用的高级语言,宏语言通常可以在低档dbms软件中或数据库服务器的前端中找到。
(4)范例查询语言
还有一种“query-by-example”(qbe,范例查询)语言。严格地讲qbe不是一种语言,它是面向用户提供了一个或多个空表的界面,这些空表对应于数据库中的表。用户可以通过键盘选择需要查询的列,并在适当的列中填入条件从而定义查询的检索条件,然后dbms就把qbe转换成相应的动作,以完成用户要求的查询任务。
现在,通过上面的介绍,已经可以知道了数据库的基本概念。在前面的几章中,已经初步掌握了使用操作流程线上的图标来完成多媒体程序的设计。但是,在一些authorware的应用程序中,将与程序相关的数据组织在数据库中进行操作,对数据库的应用和管理会更方便。比如,可以将试题组织在一个试题数据库中,通过authorware进行随机地抽取试题;在一个地图查询的程序中,可以将有关地点的信息保存在数据库中,通过authorware的交互界面进行动态的显示;在一个职业代理机构中,可以在数据库中保存相关人员的姓名、特长、以及是否现在有空等信息,并且通过authorware创建的交互界面来方便的获取其中的信息。在实际运用中,还能想出许许多多与数据库联系的例子。
authorware连接和操作数据库的方法比较简单,它是通过两种工业标准实现的:
qopen database connectivity (odbc),一个通用的与数据库连接的标准。通过odbc可以对多种常见类型的数据库进行访问,如:access、dbase、foxpro、以及paradox等。.
q 结构化查询语言(sql),向数据库发送信息或者从数据库获取信息的标准语言。
虽然authorware提供了较为简单的方法的实现与数据库的连接并处理其中的数据,但是,在操作之前,必须了解以下内容:
q sql结构化查询语言的语法与逻辑。
所连接的数据库的结构。不同的数据库以不同的方式组织数据,数据的组织方法可能会影响使用数据库。
新闻热点
疑难解答