第8章Access数据库系统概述8.1数据库系统基础知识8.1.1数据库系统的组成一、数据库的发展数据库技术是计算机科学技术的一个重要分支。随着计算机的发展,数据库技术经历了三个阶段:人工管理阶段、文件管理阶段、数据库管理阶段。人工管理阶段,数据不保存,用时直接输入,算完后结束。文件系统管理阶段,数据单独保存在文件中(如第六章的文件),这种形式的数据共享只能以文件为单位;缺点是数据大量重复,同时给数据维护带来很多麻烦,为了解决这样的问题,出现数据的统一管理,达到数据共享的目的,产生和发展了数据库技术。二、数据库的特点数据库是为满足多个应用系统的需要、按照一定的结构在计算机中建立起来的相关数据集合。数据库中的数据是结构化的,数据是面向全局的,数据是可以共享的。在数据库系统管理阶段,数据以数据库为中心,数据与程序之间是一对多的关系,具有数据重复少,独立性高,完整性、并发性和可恢复性等优点。三、数据库系统的组成从广义上讲,一个数据库系统由计算机硬件(物理设备)、系统软件、数据库、数据库管理系统和数据库应用软件五部分组成,涉及到的人员有数据库管理员、应用软件开发人员和最终用户。五部分为:1、计算机硬件(物理设备)。2、系统软件(操作系统、各种语言的编译程序等)。3、数据库(用来存放数据的文件,它是一个容器,在一个库中可以有许多的表、查询、窗体等)。4、数据库管理系统(用于创建数据库,对库中的数据进行编辑,如Access)。5、应用软件(用Vb语言编写的应用程序)。数据库系统投入运行,必须要有人去维护(称为数据库维护人员);编写这些应用软件必须要有软件人员来完成;最后使用这些软件的前台人员(终端用户)。8.1.2数据库系统的分层结构从数据独立性的角度看,数据库系统中的数据通常抽象为物理层、逻辑层和视图层这样三层结构。物理层的具体实现由数据库管理系统借助操作系统的功能来完成。逻辑层用于描述数据库中应该包括哪些数据以及数据之间存在哪些关系,它是数据库中全部数据的逻辑描述,也是数据库的逻辑结构。视图层也叫外模式,它是特定用户和应用程序的数据视图,是数据库中与某一应用有关的部分数据的逻辑表示。一个数据库可以有多个不同的视图,也反映了不同需求的用户从不同的角度所看到的数据库。在Access数据库系统中,物理层存储由DBMS全权负责,基本上不需要应用程序员和用户关心,逻辑层由数据库中的所有的表组成,而视图层由特定的查询和应用程序组成。8.1.3关系数据模型数据模型是用于描述现实世界的工具。一组严格定义的概念集合,它们精确地描述了数据和数据之间的关系、对数据的操作以及有关的语义约束规则,数据模型有层次型、网状型和关系型,目前最常用的是关系型,使用关系模型的数据库称为关系数据库。(1)概念数据模型面向现实世界和终端用户,不依赖具体的DBMS,是从现实世界到信息世界的抽象。主要用于需求分析,常用的概念模型有:实体-关系(E-R图)模型,用E-R图来描述信息结构但不设计信息在计算机中的表示。例如:关系模式:职工(编号,姓名,性别,籍贯)(2)逻辑数据模型逻辑数据模型则是面向应用软件开发人员和数据库管理人员,与DBMS密切相关,主要用于数据库及其应用程序的开发实现。常用的逻辑模型有层次模型、网状模型和关系模型。关系型是目前使用职工编号姓名性别籍贯最多的模型。例如,职工表的结构为:编号字符12姓名字符8性别逻辑籍贯字符12职工:编号姓名性别籍贯1001李平女山西1002王林男河南2001赵新男广东(3)物理数据模型物理数据模型用来反映数据的物理储存结构,对应于数据库系统的物理层。物理数据模型不但与DBMS有关,还与操作系统和计算机硬件等有关。关系数据模型是当前使用最广泛的数据库系统模型,常见的关系数据库有Oracle、DB2、Sybase、SQLServer等大中型数据库管理系统,Access也是一个关系型数据库管理系统。在关系模型中采用相互关联而又互相独立的多个二维表格来反映各种数据关系。所有数据元素都存在于称作“关系”的二维表格中,这些表以行和列的形式来组织数据,从而简化了数据的存取和操作。一个关系就是一个二维表,这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。仓库:仓库号城市面积WH1北京370WH2上海500WH3广州300WH4武汉400职工:仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E61230WH1E71250在关系模型中表中的每一行称为一个元组(一条记录)。表中的列称为属性(字段),列的名字称为属性名,在列中填写的数据称为属性值。在关系模型中,表的每一列的数据类型必须一致,一个列所有可能的取值就称为属性域。属性名、属性域、属性值是彼此密切联系但又存在明显差别的概念。特点为:①一个关系必须规范化,在一个关系中每个属性必须是不可分割的数据单元;②在一个关系中不能出现相同的属性名(字段名);③关系中不允许有完全相同的元组(记录);④在一个关系中元组的次序无关紧要;⑤在一个关系中列的次序无关紧要,通常重要的关键字在左边。一个具体的关系模型由若干关系模式组成,在一个数据库中包含相互之间存在联系的多个表,这个数据库文件就代表一个实际的关系模型。8.2ACCESS集成开发环境8.2.1Access简介Access是Microsoft公司推出的一种关系型数据库管理系统,在开始时,Microsoft将Access单独作为一个产品进行销售,在发行Office97时,Microsoft将Access作为Office套件中的一个重要成员一起发布。目前使用最多是Access2003。Access已经是世界上最流行的桌面数据库管理系统。8.2.2Access数据库系统的组成Access的主工作窗口与Office其他软件的界面类似,由菜单、工具和若干任务窗口组成。数据库包含了表、查询、窗体、报表、页、宏和模块共七大对象,数据库中的数据来源是数据表,由数据表生成的查询和数据表一起构成了整个数据库中所有对象的基础数据来源。一个数据库可分为三层:物理层、逻辑层和视图层。Access物理层(数据库存储格式)就是一个名为.MDB的文件,由Access数据库管理系统管理,不需要应用程序员和用户关心。逻辑层对应数据库中所有的表和表之间的关联(如:仓库表和职工表以及表之间的关联)。视图层由查询、窗体、报表、页、宏和模块等对象来实现(结果)。查询以表作为数据源,按照一定的条件或要求对表中的数据进行处理,得到一个外观形式与表一样的数据视图(也称虚拟表)。要注意的是查询不是真正的表。对于数据库表中保存的同一批数据(原始数据),用户可以通过查询按照不同的方式去查看、更改和分析。查询对象本身仅仅保存查询命令,它描述的是从逻辑层到视图层的映射关系。查询可作为窗体、报表的数据源。窗体是开发人员提供给最终用户处理业务的界面,它的设计与实现与VB类似。报表是供用户以打印格式输出数据的对象。页用于查看来自Internet的数据。宏是一个或多个操作的集合(指令的集合)。模块与VB类似(标准模块),用于存放代码,以实现代码的重用。8.2.3Access数据库系统的建立在Access中建立一个数据库系统大概有如下的主要步骤:(1)根据用户需求建立表及其关系。(2)设计用户视图,建立查询。(3)设计交互界面,建立窗体、报表(4)编写事件过程、模块等。(5)测试、生成应用系统。8.3本章小结数据库发展经历了三个阶段:人工阶段、文件阶段和数据库阶段。数据管理是计算机最主要的应用领域,数据库系统是数据管理的主要工具。一个数据库系统由计算机硬件、系统软件、数据库、数据库管理系统和数据库应用软件五个部分组成,涉及到的人员有数据库管理员、软件开发人员和最终用户。数据模型是一组严格定义的概念集合,它们精确的描述了数据和数据之间的关系、对数据的操作以及有关的语义的约束规则。数据模型有三种:层次型、网状型和关系型,关系数据模型是当前使用最广泛的数据库系统模型,Access使用的是关系模型,所以它是一个关系型数据库管理系统。在关系模型中采用相互关联而又互相独立的多个二维表格来反映各种数据关系,所有数据元素都存在于称作关系的二维表中。Access数据库包含有表、查询、窗体、报表、页、宏和模块等对象,其中数据库物理层是后缀名为”.mdb”的文件,逻辑层对应的是数据库中所有的表以及表之间的关联,视图层由查询、窗体、报表、页、宏和模块等对象来实现。第9章表表是关于特定主题(例如工资和职工)数据的集合,是关系数据库中用来存放数据的场所。在Access中,表有不同的显示窗口(也称为视图),比如“设计”视图、“数据表”视图、“数据透视表”视图、“数据透视图”视图等,它们都有各自的用途。9.1表的设计与使用关系数据库中的表由确定结构的表头和包含实际数据的表体组成。表的“设计”视图就是用于创建、修改表结构的工作窗口,设计一张表就是要设计表头,确定表结构。在Access中,我们可以通过表向导、表设计器或者直接输入数据来设计表,通常使用表设计器来设计表结构。9.1.1表设计器表设计器是对表结构进行的。在数据库窗口中的“对象”组中选择“表”,然后进入表设计器。1、字段名称在一个表中不能有两个重名的字段,字段名可以使用汉字或字符开头后跟数字等,命名规则与Vb中变量的命名规则一样。2、字段的数据类型(文本、数字、日期、逻辑、货币、OLE等)3、字段说明字段说明是可选项,用于对字段做进一步的说明,起备忘录的作用。4、字段的其它属性字段除了基本属性外,还有其它一些属性,这些属性进一步说明该字段在表中的性质。(1)“字段大小”栏可以设置字段的长度;(2)“格式”属性用来决定数据的显示方式,如!表示数值数据左对齐;(3)“输入掩码”则帮助用户输入格式化的数据。掩码字符及含义如下表:字符含义00到9的数字(必选项)9数字或空格(非必选项)不允许使用+或-号#数字或空格(非必选项)允许使用+或-号L字母(A-Z,必选项)?字母(A-Z,非必选项)A字母或数字(必选项)a字母或数字(非必选项)使其后的所有字符转换为小写使其后的所有字符转换为大写(4)“标题”属性可以用来标识“数据表视图”中的字段,若为空,将默认字段名程为标识。(5)“默认值”设置了在未输入字段值的情况下自动生成的字段值,如:性别字段为:”男”(6)“有效性规则”可以限制用户输入和该字段值的表达式。如:性别字段为:=”男”or=”女”(7)“有效性文本”的内容是在用户没有输入符合有效性规则的数据时系统显示的出错信息。(8)“索引”可以加快字段数据的搜索与排序速度。5、表结构的编辑对表中字段的增、删、改9.1.2数据表数据表视图是对表内容进行各种操作的窗口。1、编辑操作包括对记录的增、删、改。2、排序操作对指定表中的记录按某字段进行排序,打开表按菜单进行。3、筛选操作把满足条件的记录筛选出来。9.1.3主键与索引1、主键与实体的完整性在关系数据库系统中,表代表现实世界中特定的实体类型,表中的每个元组(记录)代表一个具体的实体对象。在表中为使表中的元组(记录)保持惟一引入主键的概念(也称为主关键字),主键可以是关系中的一个或一组字段。在关系表中,没有一个记录的主键为空,也没有两个记录的主键值性同,这个性质称为关系数据库的实体完整性。在一个表中,只能有一个主关键字。2、索引索引可以提高对记录的查询速度,索引是逻辑上的排序。它是表记录排序的一种方法,它与书的索引相类似。索引中不包括表记录的内容,仅含有记录号,因此不占用过多的磁盘空间,每个索引代表一种处理记录的顺序。在缺省情况下,Access为主键自动设置索引,这个索引称为主索引。9.2表的关联9.2.1实体关联的类型在现实世界中,不同的实体之间常常存在各种关系。例如教师与学生、职工与学校、仓库与职工等。因此,在一个数据库中,不仅要存储有关的实体数据(表),而且还要建立这些实体之间的关联(表的关联)。从参与关联的两个实体集的数量关系来说,实体之间的关联可分为三种:“一对一”、“一对多”和“多对多”。