数据库管理系统之Access

来自计算思维百科
跳转至: 导航搜索

Access是一种关系型数据库管理系统。作为Microsoft Office办公软件中的一员,Access与Office的高度集成,风格统一的操作界面使得初学者更容易掌握。Access应用广泛,能操作其他来源的资料,包括许多流行的PC数据库程序(如dBASE、Paradox、FoxPro)和服务器、小型机及大型机上的许多SQL数据库。此外,Access还提供Windows操作系统的高级应用程序开发系统。

概念

Access是一种关系型数据库管理系统。作为Microsoft Office办公软件中的一员,Access与Office的高度集成,风格统一的操作界面使得初学者更容易掌握。Access应用广泛,能操作其他来源的资料,包括许多流行的PC数据库程序(如dBASE、Paradox、FoxPro)和服务器、小型机及大型机上的许多SQL数据库。此外,Access还提供Windows操作系统的高级应用程序开发系统。

Access的主要对象

数据库对象是Access最基本的容器对象,它是一些关于某个特定主题或目的的信息集合,以一个单一的数据库文件形式存储在磁盘中,具有管理本数据库中所有信息的功能。Access 2010将数据库定义为一个扩展名为.accdb文件,并分为6种不同的对象,它们是表、查询、窗体、报表、宏和模板等。每个Access数据库文件可以包含一个或多个表以及多种其它对象,Access中各个对象之间的关系,如图1所示。

不同的数据库对象在数据库中起着不同作用,其中表是数据库的核心与基础,存放数据库中的全部数据。报表、查询和窗体都是从表中获得数据信息,以实现用户的某一特定的需求,例如查找、计算统计和打印等。窗体可以提供一种良好的用户操作界面,通过它可以直接或间接地调用宏或模块,并执行查询、打印、预览、计算等功能,甚至可以对数据库进行编辑修改。

5.3.1.png

数据表

在Access中,表是指一张满足关系模型的二维表,用于存储有关特定实体的数据集合。它由表名、表中的字段、表的主关键字以及表中的具体数据组成。表中的每一列称为一个“字段”。每个字段包含某一专题的信息。例如,在图书表中,“书名”和“书号”是表中所有行共有的属性,包含这两类信息的列分别称为“书名”字段和“书号”字段。表中的每一行称为一个“记录”,每一个记录包含这行中的所有信息,就像在图书表中某本图书的全部信息,但记录在表中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。

通常将组成表的字段属性,即表的组织形式称为表的结构。具体地说,就是组成表的每个字段的名称、类型、宽度以及是否建立索引等。一旦表的结构确定,就可以向表中添加数据。表中每个字段的类型决定这个字段名下允许存放的数据及其使用方式。

Access2010允许的字段类型有以下几种:

文本

文本类型用于存储文字字符,这是Access默认的字符类型。文本类型的最大长度是255个字符,系统默认为50个字符长度。

备注

备注用于存放较长的文本数据,它的最大长度为65535个字符。

数字

用于数字计算的数值数据,按照数字类型数据表现形式的不同,又分为字节、整型、长整型、单精度型、双精度型等类型,其长度分别为1,2,4,4,8个字节。其中单精度型、双精度型表示实数类型。

日期/时间

日期/时间类型的字段用于存储日期/时间类型的数据。按照日期/时间的数据格式不同,又分为常规日期、长日期、中日期、短日期、长时间、中时间、短时间等类型。其长度由系统设置为8B。

货币

货币类型字段的整数部分不超过15位,小数部分不超过4位。输入时不必输入货币符号和千位分隔符。

自动编号

自动编号是用于存储递增数据或随机数据的字段类型。这个类型的数据无需、也不能输入,每增加一个新记录,系统将自动编号类型的数据自动加1或随机编号。其字段长度由系统设置位4B。

是/否

该类型字段用于存储只包含两个数据值的字段类型(如Yes/No或True/False或On/Off)。字段长度由系统设置为1B。

OLE对象

OLE对象类型字段是用于链接和嵌入其他应用程序所创建的对象的字段类型。它可嵌入的其他应用程序所创建的对象可以是电子表格、文档、图片、声音等,其字段最大长度可以为1GB。

超级链接

超级链接用于存放超级链接地址的字段类型。

查询向导

查询向导用于存放从其他表中查阅数据的字段类型,其长度由系统设置,一般为4B。

查询

查询是Access数据库的重要对象,是用户按照一定条件从Access数据库表或已建立的查询中检索需要数据的最主要方法。

查询的分类

Access支持许多不同的查询类型,主要包括以下几种:

选择查询

选择查询是最常用的查询类型,它是根据指定的条件,从一个或多个数据源中获取数据并显示结果。也可对记录进行分组,并且对分组的记录进行汇总、计数、平均以及其他类型的计算。

交叉表查询

交叉表查询能够汇总数据字段的内容,汇总计算的结果显示在行与列交叉的单元格中。交叉表查询可以计算平均值、总计、最大值、最小值等。交叉表查询是对基表或查询中的数据进行计算和重构,可以简化数据分析。

参数查询

参数查询是一种根据用户输入的条件或参数来检索记录的查询。例如,可以设计一个参数查询,提示输入两个成绩值,然后Access检索在这两个值之间的所有记录。输入不同的值,得到不同的结果。因此,参数查询可以提高查询的灵活性。

操作查询

操作查询与选择查询相似,都需要指定查找记录的条件,但选择查询是检索符合特定条件的一组记录,而操作查询是在一次查询操作中对检索的记录进行编辑等操作。

SQL查询

是指用户直接使用SQL语句创建的查询。

查询的条件

在实际应用中,并非只是简单的查询,往往需要指定一定的条件。例如,查找1980年出生的读者。这种带条件的查询需要通过设置查询条件来实现。

查询条件是运算符、常量、字段值、函数以及字段名和属性等的任意组合,能够计算出一个结果。查询条件在创建带条件的查询时经常用到。

运算符是构成查询条件的基本元素,Access提供了关系运算符、逻辑运算符和特殊运算符。3种运算符及含义如表1、表2和表3所示。

关系运算符

说明

=

等于

小于

大于

<> 

不等于

<=

小于等于

>=

大于等于

表1 关系运算符及含义

逻辑运算符

说明

Not

当Not连接的表达式为真时,整个表达式为假

And

当And连接的表达式均为真时,整个表达式为真

Or

当Or连接的表达式均为假时,整个表达式为假

表2 逻辑运算符及含义

逻辑运算符

说明

In

用于指定一个字段值的列表,列表中的任意一个值都可与查询的字段相匹配

Between

用于指定一个字段值的范围,指定的范围之间用And连接

Like

用于指定查找文本字段的字符模式。在所定义的字符模式中,用“?”表示该位置可匹配任何一个字符;用“*”表示该位置可匹配任何多个字符;用“#”表示该位置可匹配一个数字;用方括号描述一个范围,用于可匹配的字符范围

Is Null

用于指定一个字段为空

Is Not Null

用于指定一个字段为非空

表3 特殊运算符及含义

Access提供了大量的内置函数,也称为标准函数或函数,如算术函数、字符函数、日期/时间函数和统计函数等。这些函数为更好地构造查询条件提供了很大的便利,也为准确地进行统计计算、实现数据处理提供了有效的方法。

SQL查询

SQL查询是直接应用SQL语言执行查询任务的一种查询。SQL语言中的查询使用SELECT语句来执行的。SELECT语句是创建SQL查询中最常用的语句。

SELECT语句的一般格式是:

SELECT 字段名列表

FROM 基本表或视图

[WHERE 条件表达式]

[GROUP BY 列名1 [HAVING 内部函数表达式]]

[ORDER BY 列名2 [ASC/DESC]]

SELECT语句的含义是:根据WHERE子句中的条件表达式,从表或视图中找出满足条件的记录集,按SELECT子句中的目标列,选出记录集中的分量形成结果表。如果有ORDER子句,则结果表要根据指定的列按升序或降序排序。GROUP子句将结果按列名分组,每个组产生结果表中的一个记录集。

在SELECT语句的这三个子句中,只有SELECT和FROM是必须出现的,而WHERE、GROUP和ORDER子句则是可选的。

[例6-1]用SQL语句从“读者”表中查询“性别”为“男”的所有字段,并按借书证号升序排列。

[解] SELECT * FROM 读者 WHERE 性别="男" ORDER BY 借书证号。