1Access教程第一章Access数据库基础◆数据库基础知识及关系数据库管理系统。◆Access2003中文版介绍。数据库技术产生于60年代末、70年代初,它的出现使计算机应用进入了一个新的时期——社会的每一个领域都与计算机应用发生了联系。数据库是计算机的最重要的技术之一,是计算机软件的一个独立分支,数据库是建立管理信息系统的核心技术,当数据库与网络通信技术、多媒体技术结合在一起时,计算机应用将无所不在,无所不能。作为本课程学习的开始,我们首先要了解的是:什么是数据库?什么是数据库管理系统?什么是Access呢?一、数据库的基本知识1.什么是数据库数据库这个词有多种解释,简单的定义是这样的:数据库(DataBase)是结构化数据的集合。从广义上讲,数据库就是数据或信息的集合,相当于一个数据仓库。具体来说,数据库是一组经过计算机整理后的数据,在关系数据库中,它由许多数据表组成。2DavidM.Kroenke关于数据库的定义是:数据库是指自描述的完整记录的集合。它表达了三层含义:⑴数据库是自描述的。数据库除了包含用户的源数据以外,还包含关于它本身结构的描述,这个描述称作数据词典(或数据目录、元数据)。从这个意义上讲,数据库与作为一个自描述的书的集合的图书馆相似:除了书籍以外,图书馆还包含一个描述它们的卡片目录。⑵数据库是集成记录的集合。数据的标准结构如下:位—字节—域—记录—文件,按这种模式说,文件组合成数据库是非常诱人的,但却无法深入,数据库将包含四种数据:用户数据文件、元数据、索引、应用元数据。用户数据大多表示为表格,称之为数据表,它存放了用户的各种有用资料和数据。例如:元数据是关于用户数据的结构的描述,称之为系统表。例如:3索引数据改进了数据库的性能和可访问性,称之为概括数据。例如:应用元数据用来存储用户表格、报表、查询、媒体数据和其它形式的应用组件。并非所有的DBMS都支持应用组件,支持应用组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。⑶数据库是模型的模型。数据库是用户关于现实世界的模型的模型。具体解释是:非计算机操作数据的情况下,人们所建立的一套文件、表格、数字等的处理内容和规则是人们关于现实世界的模型,在计算机操作数据的情况下,数据库设计者将在人们关于现实世界的模型的基础上再次建模,从而建立一个适用于计算机处理的数据库模型。三个世界的划分:现实世界(客观世界):实体、实体集、属性、实体标识符信息世界(观念世界):记录、文件、字段、关键字数据世界(计算机世界):位、字节、字、块、卷42.从文件管理到数据库管理前面提到从文件组合成数据库是非常诱人的,但却无法深入。实际上,在数据库处理之前,确实采用的文件管理方式,即用数据文件来存放数据,并通过高级语言完成对数据文件的操作。一个数据文件包含若干个“记录(Record)”,一个记录又包含若干个“数据项(DataItem)”,用户通过对文件的访问实现对记录的存取。通常称支持这种数据管理方式的软件为“文件管理系统”,它一直是操作系统的重要组成部分。随着计算机处理的数据量不断增加,文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,不能适应管理大量数据的需要,于是数据库管理系统应运而生,并在上世纪60年代末诞生了第一个商业化的数据库系统——IBM的IMS(InformationManagementSystem)。3.数据库系统的特点与文件系统比较,数据库系统有下列特点:⑴数据的结构化。文件系统中单个文件的数据一般是有结构的,但从整个系统来看,数据在整体上没有结构,数据库系统则不同,在同一数据库中的数据文件是有联系的,且在整体上服从一定的5结构形式。⑵数据的共享性。在文件系统中,数据一般是由特定的用户专用,数据库系统中的数据可以有为不同部门、不同单位甚至不同用户所共享。⑶数据的独立性。在文件系统中,数据结构和应用程序相互依赖,一方的改变总是要影响到另一方的改变。数据库系统中的数据文件与应用程序之间的这种依赖关系已大大减小。⑷数据的完整性。在数据库系统中,可以通过对数据的性质进行检查而管理它们,使之保持完整正确。如商品的价格不能为负数,一场电影的定票数不能超过电影院的座位数。⑸数据的灵活性。数据库系统不是把数据简单堆积,而是在记录数据信息的基础上具有多种管理功能,如输入、输出、查询、编辑、修改等。⑹数据的安全性。数据库系统中的数据具有安全管理功能。⑺数据可控冗余度。数据专用时,每个用户拥有使用自己的数据,难免会出现数据相互重复,这就是数据冗余。实现数据共享后,不必要的数据重复将全部消除,有时为了提高查询效率,也保留少量的重复数据,其冗余度可以由设计者控制。4.数据库系统的分代数据库系统可分为三代。6⑴非关系型数据库系统。是对第一代数据库系统的总称,包括层次型数据库系统和网状型数据库系统。其主要特点是:采用“记录”作为基本数据结构,在不同“记录型”之间,允许存在相互联系,一次查询只能访问数据库中的一个记录。(P3)⑵关系型数据库系统(RDBS)。1970年,E.F.Codd在一篇名为“ARelationalModelofDataForLargeSharedDatabanks(大型共享数据库数据的关系模型)”文章提出了“关系模型”的概念。70年代中期,商业化的RDBS问世,数据库系统进入第二代,目前PC机上使用的数据库系统主要是第二代数据库系统。其主要特点是:采用“表格”作为基本数据结构,在不同的表之间,允许存在相互联系,一次查询可以访问整个表格中的数据。⑶对象—关系模型数据系统(ORDBS)。将数据库技术与面向对象技术相结合,以实现对多媒体数据和其它复杂对象数据的处理,这就产生了第三代数据库系统。其主要特点是:包含第二代数据库系统的功能,支持正文、图形图像、声音等新的数据类型,支持类、继承、方法等对象机制,提供高度集成的、可支持客户/服务器应用的用户接口。二、数据库管理系统和数据库应用系统1.数据库管理系统7实际上,数据库是存于某种存储介质上的相关数据有组织的集合,为了在计算机中对数据库进行定义、描述、建立、管理和维护,应通过特定的数据库语言进行,这就需要一套支持该数据库语言的系统软件,称作数据库管理系统(DBMS)。一般说,数据库管理系统具有下列功能:⑴数据定义功能。DBMS向用户提供“数据定义语言(DDL)”,用于描述数据库的结构,在关系数据库中其标准语言是SQL(StructuredQueryLanguage),它提供了DDL语句。⑵数据操作功能。对数据库进行检索和查询,是数据库的主要应用。为此DBMS向用户提供“数据操纵语言(DML)”,用于对数据库中的数据进行查询,同样SQL也提供了DML语句。⑶控制和管理功能。除了DDL和DML两类语句外,DBMS还具有必要的控制和管理功能。在讨论可视化的数据库管理系统(如VFP、Access)时,一般而言,从组成结构上看,DBMS的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和DBMS引擎。设计工具子系统提供设计工具,包括表生成、窗体生成、查询生成、报表生成和过程语言编译器等工具,设计工具子系统与开发人员相关联。运行子系统提供对设计时产生的程序的执行,它与用户接口。DBMS引擎介于设计工具及运行子系统与数据本身之间。实际上,8它将根据以上组件的请求,将其翻译成对操作系统的命令,以实现对物理介质上的数据的读写。除此之外,DBMS引擎还涉及事务管理、锁定、备份和恢复等工作。2.数据库应用系统数据库应用系统(DataBaseApplicationSystem、DBAS)专指基于数据库的应用系统。一个DBAS通常由数据库和应用程序两部分组成,它们都需要在DBMS支持下开发。开发一个信息系统,一是要设计数据库,二是要开发应用程序。并且,这二者亦是相互关联的。三、Access2003内部结构Access2003是一个功能强大、方便灵活的关系型数据库管理系统。Access2003作为一个小型数据库管理系统,它最多能为由此由25-30台计算机组成的小型网络服务。进入Access2003,打开一个示例数据库,可以看到如下的界面,在这个界面的【对象】栏中,包含有Access2003的七个对象。另在【组】栏中,可以包含数据库中不同类型对象的快捷方式的列表,通过创建组,并将对象添加到组,从而创建了相9关对象的快捷方式集合。Access2003所提供的对象均存放在同一个数据库文件(.mdb)中。Access2003中各对象的关系如下图所示。下面对Access2003每一类对象进行简单介绍。1.表10表是Access2003中所有其他对象的基础,因为表存储了其他对象用来在Access2003中执行任务和活动的数据。每个表由若干记录组成,每条记录都对应于一个实体,同一个表中的所有记录都具有相同的字段定义,每个字段存储着对应于实体的不同属性的数据信息。请看下图。每个表都必须有主关键字,其值能唯一标识一条记录的字段。以使记录唯一(记录不能重复,它与实体一一对应)。表可以建立索引,以加速数据查询。具有复杂结构的数据无法用一个表表示,可用多表表示。表与表之间可建立关联。每一个字段都包含某一类型的信息,如数据类型有文本、数字、日期、货币、OLE对象(声音、图像)、超链接等。表的建立包括两部分,一部分是表的结构建立,另一部分是表的11数据建立。数据库的每个对象都有两个视图,一个是设计视图,另一个是数据表对象视图。表的设计视图,可通过表设计器观察,它同时也是建立表结构的工具和方法。应当注意,Access数据库只是数据库各个部分(表、查询、报表、模块、宏和指向WebHTML文档的数据访问页面)的一个完整的容器,而表是存储相关数据的实际容器。2.查询数据库的主要目的是存储和提取信息,在输入数据后,信息可以立即从数据库中获取,也可以在以后再获取这些信息。查询成为了数据库操作的一个重要内容。Access2003提供了三种查询方式。12⑴交叉数据表查询查询数据不仅要在数据表中找到特定的字段、记录,有时还需要对数据表进行统计、摘要。如求和、计数、求平均值等,这样就需要交叉数据表查询方式。请看下面的例子。SELECT订单明细.订单ID,订单明细.产品ID,产品.产品名称,订单明细.单价,订单明细.数量,订单明细.折扣,CCur(订单明细.单价*[数量]*(1-[折扣])/100)*100AS总价FROM产品INNERJOIN订单明细ON产品.产品ID=订单明细.产品IDORDERBY订单明细.订单ID;注:Ccur函数,返回一个转换为货币数据类型表达式的值。13⑵动作查询动作查询,也称为操作查询,可以运用一个动作同时修改多个记录,或者对数据表进行统一修改。动作查询有4种,生成表、删除、添加和更新。⑶参数查询参数即条件。参数查询是选择查询的一种,指从一张或多张表中查询那些符合条件的数据信息,并可以为他们设置查询条件。3.窗体窗体向用户提供一个交互式的图形界面,用于进行数据的输入、显示及应用程序的执行控制。在窗体中可以运行宏和模块,以实现更加复杂的功能。在窗体中也可以进行打印。14可以设置窗体所显示的内容,还可以添加筛选条件来决定窗体中所要显示的内容。窗体显示的内容可以来自一个表或多个表,也可以是查询的结果。还可以使用子窗体来显示多个数据表。4.报表报表用来将选定的数据信息进行格式化显示和打印。报表可以基15于某一数据表,也可以基于某一查询结果,这个查询结果可以是在多个表之间的关系查询结果集。报表在打印之前可以预览。另外,报表也可以进行计算,如求和、求平均值等。在报表中还可以加入图表。5.宏宏是若干个操作的集合,用来简化一些经常性的操作。用户可以设计一个宏来控制一系列的操作,当执行这个宏时,就会按这个宏的定义依次执行相应的操作。宏可以用来打开并执行查询、打开表、打开窗体、打印、显示报表、修改数据及统计信息、修改记录、修改数据表中的数据、插入记录、删除记录、关闭数据库等操作,也可以运行另一个宏或模块。宏没有具