Access 2016数据库基础教程_第1页
Access 2016数据库基础教程_第2页
Access 2016数据库基础教程_第3页
Access 2016数据库基础教程_第4页
Access 2016数据库基础教程_第5页
已阅读5页,还剩506页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第1章数据库基础目录1.1信息、数据与数据处理1.2数据管理技术的发展1.3数据库系统的组成1.4数据库系统的特点1.5数据库系统的内部体系结构1.6数据模型1.7关系数据库1.8数据库设计步骤1.1信息、数据与数据处理信息是现实世界在人们头脑中的反应。它以文字、数值、符号、图像和声音等形式记录下来。数据是指那些可以被计算机接受和处理的信息。数据是信息的载体,信息是数据的内涵。数据只有经过解释才有意义,成为信息。例如,“长城”“40”只是单纯的数据,没有具体意义,而“长城的门票是40元”就是一条有意义的信息。数据处理就是把数据加工处理成为信息的过程,而数据处理的核心问题就是数据管理。1.2数据管理技术的发展数据管理技术伴随着计算机硬件技术和软件技术的发展而发展,经历了三个发展阶段。人工管理文件系统数据库系统人工管理阶段应用程序与数据的关系时间:20世纪50年代中期以前背景:计算机主要用于科学计算特点:数据不保存;一组数据对应一个程序计算机没有数据管理功能,程序和数据编写在一起,每个程序都有自己的数据,不能共享,数据冗余度很大。人工管理采用人工管理方式的C语言程序示例分别编写程序求出10个整数的最大值和最小值

从这个例子可以看出,在人工管理阶段,程序和数据是不可分割的整体。每个程序都有自己的数据,无法实现数据共享。文件系统阶段应用程序与数据的关系时间:60年代中期背景:计算机已大量用于管理。特点:数据可长期保存;程序与数据具有一定的独立性。文件系统数据以文件形式存储,由操作系统统一管理,具有一定的独立性。但文件的读写依赖于程序,共享有局限性。采用文件系统管理方式的C语言程序示例分别编写程序求出10个整数的最大值和最小值从这个例子可以看出,由于文件中只保存了数据,并未存储数据的结构信息,导致读取文件数据的操作必须在程序中实现,从而使程序与数据之间的独立性仍然有局限性。数据库系统阶段应用程序与数据的关系时间:60年代后期背景:计算机广泛应用于各个领域,数据共享要求越来越强。特点:面向全组织的复杂的数据结构;数据冗余度小、易扩充;数据独立性高;数据统一管理。数据库系统数据库中保存了数据及其结构信息,程序不用考虑数据的存取问题,具体的工作由数据库管理系统完成。真正实现了数据的独立和共享。采用数据库系统管理方式的示例分别求出10个整数的最大值和最小值求最大值的标准化查询语句为SelectMax(Num)Fromdata求最小值的标准化查询语句为SelectMin(Num)Fromdata

从这个例子可以看出,数据库中不仅保存了数据,还保存了数据表的结构信息(如列名称Num),程序中可以不用考虑数据的存取问题,具体的工作由数据库管理系统完成,数据真正实现了独立和共享。1.3数据库系统的组成除了计算机硬件系统和操作系统外,一般由4个部分组成:数据库数据库管理系统应用程序相关人员数据库管理员应用程序开发人员最终用户1.数据库数据库(DataBase,DB)可直观地理解为存放数据的仓库,它是按照一定方式组织起来的有联系、可共享的数据集合。能够被多个用户共享,并独立于应用程序。2.数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)基本功能:

数据定义(DDL)数据操纵(DML)数据库运行控制(DCL)数据库维护数据库通信3.应用程序应用程序是指利用各种开发工具开发的满足特定应用环境的程序。如,以数据库为基础学生成绩管理系统、财务管理软件、火车票订票系统等。4.相关人员数据库管理员(DataBaseAdministrator,DBA)负责确定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行。应用程序开发人员负责应用程序的需求分析、数据库概要设计,编写访问数据库的应用程序。最终用户通过应用程序的接口或数据库查询语言访问数据库。1.4数据库系统的特点1.数据结构化数据库系统实现了整体数据的结构化,而且数据库中的数据不再仅针对某个应用,而是面向整体。2.数据共享性高且冗余度低因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享,大大减少冗余。3.数据独立性高数据独立性是指数据和应用程序之间的独立性。把数据的定义从程序中分离出去,使开发人员可以把精力放在应用程序的编写上,从而大大减少应用程序的维护和修改。4.数据由DBMS统一管理和控制

DBMS必须保证数据库中数据的安全可靠和正确有效。1.5数据库系统的内部体系结构三级模式和二级映射结构1.数据库系统的三级模式(1)外模式。也称为子模式或用户模式,它是数据库用户(包括应用程序开发人员和最终用户)能够看见和使用的局部数据逻辑结构的描述,是与某一应用程序相关数据的逻辑表示。(2)概念模式。也称为逻辑模式,它是数据库中全局数据逻辑结构的描述,是所有用户(或应用程序)的公共数据视图。它不涉及具体的硬件环境与平台,也与具体的软件环境无关。针对不同的用户需求,一个概念模式可以有若干个外模式。(3)内模式。又称为存储模式或物理模式,它是对数据库物理结构和存储方法的描述,是数据在存储介质上的保存方式。内模式对一般用户是透明的,通常不需要关心内模式的具体实现细节,但它的设计会直接影响到数据库的性能。2.数据库系统的二级映射(1)外模式到概念模式的映射外模式反应了用户对数据的要求,是局部模式;概念模式反应了设计者的数据全局逻辑要求,是数据的全局模式。当概念模式发生改变时,由数据库管理员负责改变相应的映射关系,从而使外模式保持不变,也就没有必要修改应用程序,保证了数据的逻辑独立性。(2)概念模式到内模式的映射概念模式到内模式的映射定义了数据的全局逻辑结构与物理存储结构间的对应关系。当数据库的存储结构发生改变时,由数据库管理员负责改变相应的映射关系,可以使概念模式保持不变,从而保证了数据的物理独立性。1.6.1数据模型中的相关概念数据模型是描述数据库中数据的组织形式,是数据库设计的核心。1.实体2.属性3.实体集4.实体之间的联系5.E-R图1.实体客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。如,一个学生,一名教师,一门课程,一本书、一场比赛等。2.属性描述实体的特性称为属性。一个实体可以由若干个属性来刻画,如一个学生实体有学号、姓名、性别、出生日期、班级等方面的属性。属性的具体取值称为属性值。例如,某一个男学生实体的“性别”属性的属性值应是“男”。3.实体集同类型实体的集合称为实体集。例如,对于“学生”实体来说,全体学生就是一个实体集;对于“课程”实体来说,学校开设的所有课程也是一个实体集。4.实体之间的联系实体之间的联系是指两个不同实体集之间的联系。

一对一联系(1:1)实体集A中的一个实体最多与实体集B中的一个实体相对应,反之亦然。例如,班级和班长两个实体集,一个班级只有一位班长,而一个班长也只能管理一个班级。

一对多联系(1:n)对于实体集A中的一个实体,实体集B中有多个实体与之对应;反之,对于实体集B中的每一个实体,实体集A中最多只有一个实体与之对应。例如,班级和学生两个实体集,一个班级可以有多个学生,而一个学生只能属于一个班级。

多对多联系(m:n)对于实体集A中的每一个实体,实体集B中有多个实体与之对应;反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应。例如,学生和课程两个实体集,一个学生可以选修多门课程,而一门课程也可以被多名学生选修。5.E-R图E-R(Entity-Relationship,实体-联系)图是描述实体及实体之间的联系的一种方法。(1)实体:用矩形表示(2)属性:用椭圆表示(3)联系:用菱形表示1.6.2数据模型分类传统的数据模型有3种:1.层次模型2.网状模型3.关系模型1.层次模型按照层次结构的形式组织数据,易于实现实体间的一对多联系,用树形结构表示,具有两个特点:(1)有且仅有一个根结点(没有父结点的结点)。(2)除根结点之外的其他结点有且只有一个父结点。2.网状模型按照网状结构组织数据,易于实现实体间多对多的联系,具有两个特点:(1)允许一个以上的结点没有父结点。(2)一个结点可以有多个父结点。3.关系模型关系模型是用二维表格来表示实体集以及实体之间联系的模型。1.7.1关系模型的基本术语1.关系2.属性(字段)3.元组(记录)4.分量5.域6.主关键字7.外部关键字1.关系关系是满足关系模型基本性质的二维表格,一个关系就是一张二维表格。对关系的描述称为关系模式,一般格式为:关系名(属性名1,属性名2,……,属性名n)课程表(课程编号,课程名称,学时,学分,开课状态,课程大纲)2.属性(字段)二维表格中的一列称为一个属性,每一列都有一个属性名。在Access中将一列称为一个字段,每个字段都有字段名称。3.元组(记录)二维表格中的一行称为一个元组,在Access中称为记录。4.分量记录中的一个字段值称为一个分量。关系模型要求每一个分量必须是不可分的数据项,即不允许表中还有表。5.域字段的取值范围称为域。例如,成绩字段的值只能在[0,100]的范围。6.主关键字关系中能够唯一标识一条记录的字段集(一个字段或几个字段),也称为主键或主码。学生表中“学号”字段可以是主关键字课程表中“课程编号”字段可以是主关键字选课成绩表中,一个学生可以选修多门课程,但是学号和课程编号可以唯一确定一个学生某门课程的成绩,因此可以将它们组合在一起成为主关键字。7.外部关键字如果一个字段集(一个字段或几个字段)不是所在关系的主关键字,而是另一个关系的主关键字,则该字段集称为外部关键字,也称为外键或外码。在选课成绩表中,“学号”字段就是一个外部关键字,“课程编号”字段也是一个外部关键字。1.7.2关系的基本性质一个关系就是一张二维表格,但并不是所有的二维表格都是关系,关系应具有以下7个性质:(1)元组(记录)个数有限。(2)元组(记录)均各不相同。(3)元组(记录)次序可以交换。(4)元组(记录)的分量是不可分的基本数据项。(5)属性(字段)名各不相同。(6)属性(字段)次序可以交换。(7)属性(字段)分量具有与该属性相同的值域。由关系的性质可知,二维表格的每一行都是唯一的,而且每一列的数据类型都是相同的。1.7.3关系完整性约束域完整性是保证关系中每个字段取值的合理性。如字段的数据类型、值域范围、是否允许空值等。实体完整性是指关系的主关键字不能重复也不能取空值,因此主关键字中的每一个字段值都不能为空值。参照完整性是建立在两个关系上的约束条件。参照完整性要求一个关系中外部关键字的取值只能是与其关联的关系中主关键字的值或空值。用户定义完整性是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。1.7.4关系规范化目前主要有6种范式:第一范式(1NF):1NF是最基本的规范形式,它要求关系中的每一个属性值都必须是不可再分割的数据项。1NF是对关系模式的基本要求,不满足1NF的数据库就不是关系数据库。第二范式(2NF)第三范式(3NF)BCNF范式(BCNF)第四范式(4NF)第五范式(5NF)1.7.5关系运算关系运算的结果也是一个关系。1.传统的集合运算2.专门的关系运算(1)并(2)交(3)差(4)广义笛卡儿积(1)选择(2)投影(3)连接(4)除(1)

并运算R和S是两个结构相同的关系,则R和S两个关系的并运算可以记作R∪S,运算结果是将两个关系的所有元组组成一个新的关系,若有相同的元组只保留一个。(2)交运算R和S是两个结构相同的关系,则R和S两个关系的交运算可以记作R∩S,运算结果是将两个关系中的公共元组组成一个新的关系。(3)

差运算R和S是两个结构相同的关系,则R和S两个关系的差运算可以记作R-S,运算结果是将属于R但不属于S的元组组成一个新的关系。4.广义笛卡儿积运算假设R和S是两个结构不同的关系,R有m个属性,i个元组;S有n个属性,j个元组。则两个关系的广义笛卡儿积可以记作R×S,运算结果是一个具有m+n个属性,i×j个元组的关系。RABx1y3SCDEm84n96R×SABCDEx1m84x1n96y3m84y3n96(4)

广义笛卡儿积运算1.7.5关系运算关系运算的结果也是一个关系。1.传统的集合运算2.专门的关系运算(1)并(2)交(3)差(4)笛卡儿积(1)选择(2)投影(3)连接(4)除(1)

选择运算从指定关系中选择出满足给定条件的元组组成一个新的关系。(2)

投影运算从指定关系中选择出某些属性组成一个新的关系。(3)

连接运算连接运算是关系的横向结合,它把两个关系中满足连接条件的元组组成一个新的关系,通常记作:R⋈S。内连接的运算结果仅包含符合连接条件的元组,主要有:

①等值连接②不等连接③自然连接外连接的运算结果不仅包含符合连接条件的元组,同时也会包含不符合连接条件的元组,主要有:①左外连接②右外连接③全外连接①等值连接等值连接就是从关系R和S的笛卡儿积中选取满足等值条件的元组组成一个新的关系。运算结果包含两个关系的所有属性,也包括重复的属性。例如,等值条件为:R的B列=S的B列RABx1y3SBCD1m412n65R×S(笛卡儿积)A(R)B(S)BCDx11m41x12n65y31m41y32n65R⋈S(等值连接)A(R)B(S)BCDx11m41①等值连接例如,将等值条件设置为关系R和S的学号属性值相等。②不等连接不等连接就是从关系R和S的笛卡尔积中选取满足不等条件的元组组成一个新的关系。可以使用比较运算符(>、>=、<=、<、<>),运算结果同样包含两个关系的所有属性,也包括重复的属性。例如,不等条件为:R的B列>S的B列RABx1y3SBCD1m412n65R×S(笛卡儿积)A(R)B(S)BCDx11m41x12n65y31m41y32n65R⋈S(R的B列>S的B列)A(R)B(S)BCDy31m41y32n65②不等连接例如,不等条件为:R的学号

>S的学号③自然连接自然连接是按照公共属性值相等的条件进行连接,要求两个关系中必须有相同的属性,运算结果就是从关系R和S的笛卡尔积中选取公共属性满足等值条件的元组,并且在结果中消除重复的属性。例如,关系R和S的自然连接,公共属性B列相等。RABx1y3SBCD1m412n65R×S(笛卡儿积)A(R)B(S)BCDx11m41x12n65y31m41y32n65R⋈S(自然连接)ABCDx1m41③自然连接例如,关系R和S的自然连接,公共属性学号列相等。(3)

连接运算连接运算是关系的横向结合,它把两个关系中满足连接条件的元组组成一个新的关系,通常记作:R⋈S。内连接的运算结果仅包含符合连接条件的元组,主要有:

①等值连接②不等连接③自然连接外连接的运算结果不仅包含符合连接条件的元组,同时也会包含不符合连接条件的元组,主要有:①左外连接②右外连接③全外连接①左外连接左外连接是在自然连接的基础上,保留左边关系R中要舍弃的元组,同时将右边关系S对应的属性值用Null代替。RABx1y3SBCD1m412n65R⋈S(左外连接)ABCDx1m41y3NullNullR⋈S(自然连接)ABCDx1m41①左外连接②右外连接右外连接是在自然连接的基础上,保留右边关系S中要舍弃的元组,同时将左边关系R对应的属性值用Null代替。RABx1y3SBCD1m412n65R⋈S(自然连接)ABCDx1m41R⋈S(右外连接)ABCDx1m41Null2n65②右外连接③全外连接全外连接是在自然连接的基础上,同时保留关系R和S中要舍弃的元组,但将其他属性值用Null代替。RABx1y3SBCD1m412n65R⋈S(自然连接)ABCDx1m41R⋈S(全外连接)ABCDx1m41y3nullnullNull2n65③全外连接(4)

除运算关系R和S的除运算表示为R÷S。除运算的结果也是一个关系,该关系的属性由R中除去S中的属性之外的属性组成,元组由R与S中在所有相同属性上有相等值的那些元组组成。关系R和S的除运算应该满足条件:关系S的属性全部包含在关系R中,且关系R中存在关系S中没有的属性。(4)

除运算例如,将学生选课表R与所有课程S进行除运算,目的是找出选修了所有课程的学生。1.8数据库设计步骤第2章数据库的设计与创建目录2.1Access2016的工作环境2.2Access数据库设计2.3Access2016数据库的创建2.4Access2016数据库的对象2.5Access2016数据库的视图模式 2.6Access2016数据库的操作2.1Access2016的工作环境1.Access2016启动屏幕通过Windows开始菜单启动Access2016后看到的屏幕2.1Access2016的工作环境2.Access2016数据库窗口创建或打开一个数据库后进入到数据库窗口。2.1Access2016的工作环境3.Backstage视图窗口实际上就是Access2016的“文件”选项卡。2.2.1Access数据库设计步骤1234需求分析确定应用系统的目标、功能以及所涉及到的数据。5确定数据库需要建立的表和各表包含的字段及主键确定表之间的联系优化设计应用规范化理论对表设计进行检查,以减少冗余。在数据库中创建表及其他相关的对象2.2.2“学生成绩管理”数据库设计实例1.需求分析“学生成绩管理”数据库系统的主要任务之一就是能够打印出学生的成绩单,所以学生成绩单中需要的各项数据都必须能够从“学生成绩管理”数据库中获得。例如:学号、姓名、班级、院系名称、每门课程的名称、学分、成绩、学年、学期等。2.2.2“学生成绩管理”数据库设计实例2.确定数据库需要建立的表和各表包含的字段及主键(1)概念设计根据需求分析,学生成绩管理系统中的实体应该包括院系、学生和课程3个实体,给出各实体及联系的E-R图。(2)逻辑设计

将各实体及联系的E-R图转换为关系模式。“学生成绩管理”各实体及联系的E-R图“学生成绩管理”各实体及联系的关系模式(1)院系实体转化为院系代码表(主键:院系代码)院系代码表(院系代码,院系名称,院系网址)(2)学生实体转化为学生表(主键:学号

外键:院系代码)学生表(学号,姓名,性别,出生日期,政治面貌,班级,院系代码,入学总分,奖惩情况,照片)(3)课程实体转换为课程表(主键:课程编号)课程表(课程编号,课程名称,学时,学分,开课状态,课程大纲)(4)学生与课程之间的多对多联系转换为选课成绩表(主键:学号+课程编号

外键:学号,课程编号)选课成绩表(学号,课程编号,成绩,学年,学期)2.2.2“学生成绩管理”数据库设计实例3.确定表之间的联系(1)院系代码表与学生表之间是一对多联系,即一个院系可以有多个学生,而一个学生只能属于一个院系。两个表之间通过“院系代码”字段进行关联。(2)学生表与选课成绩表之间是一对多联系,即一个学生可以有多门课程的修课成绩,而选课成绩表中的每一个修课成绩都只能是某一个学生的。两个表之间通过“学号”字段进行关联。(3)课程表与选课成绩表之间是一对多联系,即一门课程可以有多个学生的修课成绩,而选课成绩表中每一个学生该门课程只能有一个成绩。两个表之间通过“课程编号”字段进行关联。2.2.2“学生成绩管理”数据库设计实例4.优化设计应用规范化理论对表模式进行检查,由于遵循了概念单一化的原则,从目前情况看,这4个表的设计是规范化的,满足第一范式(1NF)的要求,每一个属性值都是不可再分割的数据项。2.2.2“学生成绩管理”数据库设计实例5.在数据库中创建表及其他相关的对象创建数据库是对数据库进行管理的基础,只有在建立数据库的基础上,才能根据实际需要创建表、查询、窗体、报表、宏和模块等数据库对象,实现对数据的管理。2.3Access2016数据库的创建1.空白桌面数据库桌面数据库是在个人计算机上使用的数据库。空白桌面数据库中没有任何数据,只是创建好了一个能够容纳数据的容器。2.3Access2016数据库的创建1.空白桌面数据库桌面数据库是在个人计算机上使用的数据库。空白桌面数据库中没有任何数据,只是创建好了一个能够容纳数据的容器。2.3Access2016数据库的创建2.自定义Web应用程序自定义Web应用程序是需要通过SharePoint发布的Access应用程序,属于在互联网中利用浏览器以Web查询接口方式访问的数据库资源。2.3Access2016数据库的创建3.使用模板创建数据库模板是Access预先设计的数据库,它们含有专业设计的表、查询、窗体、报表、宏和模块,可以为创建新数据库提供极大的便利。2.3Access2016数据库的创建3.使用模板创建数据库利用“联系人”模板创建的数据库2.4Access2016数据库的对象Access2010数据库包含表、查询、窗体、报表、宏和模块等6类对象,利用这些对象可以完成对数据库中数据的管理。“联系人管理数据库”中的表“联系人管理数据库”中的查询“联系人管理数据库”中的窗体“联系人管理数据库”中的报表“联系人管理数据库”中的宏“联系人管理数据库”中的模块2.5Access2016数据库的视图模式不同的数据库对象有不同的视图模式,打开一个数据库对象后,可以选择“开始”选项卡最左边的“视图”命令来切换视图模式。查询对象的视图模式1.设计视图表、查询、窗体、报表、宏和模块等6类对象都有设计视图,不同的数据库对象具有不同的设计视图。在查询的设计视图中可以设置查询条件以及查询结果的排序方式等。2.数据表视图只有表、查询和窗体3种对象具有数据表视图。主要用于编辑和显示当前数据库中的数据,数据的录入、修改、删除等操作都是在数据表视图中进行的。3.SQL视图在Access数据库中,只有查询具有SQL视图。在SQL视图中用户可以直接输入查询命令来创建查询。2.6Access2016数据库的操作1.数据库的打开方式2.压缩和修复数据库3.设置数据库打开密码4.备份数据库5.生成ACCDE文件1.数据库的打开方式(1)打开。默认的打开方式。网络上的其他用户也可以同时打开和使用这个数据库文件,并对数据库进行编辑。(2)以只读方式打开。只能查看数据库中的对象,不可以对数据库进行修改。(3)以独占方式打开。可以防止网络上其他用户同时访问这个数据库文件。(4)以独占只读方式打开。可以防止网络上其他用户同时访问这个数据库文件,而且不可以对数据库进行修改。2.压缩和修复数据库目的:重新组织数据库文件的存储方式,以提高数据库的访问性能;修复数据库的部分损坏信息。(1)关闭数据库时自动执行压缩和修复数据库单击“文件”选项卡“选项”命令,在“Access选项”对话框进行设置。(2)手动压缩和修复数据库单击“文件”选项卡“信息”命令,再单击右侧的“压缩和修复数据库”按钮,系统将完成数据库的压缩和修复的工作。3.设置数据库打开密码设置密码后,只有知道密码的用户才可以打开数据库。操作步骤:①以独占方式打开需要设置打开密码的数据库。②在“文件”选项卡的Backstage视图中,单击左边的“信息”命令,然后再单击右侧的“用密码进行加密”按钮4.备份数据库备份数据库是最常用的安全措施之一。如果正在运行的数据库受到损坏导致不可读,那么用户可以通过备份数据库进行数据库的重建,从而恢复数据库。方法:使用“数据库另存为”命令5.生成ACCDE文件将数据库生成为ACCDE文件是保护数据库的一种方法。ACCDE文件能防止他人进行以下操作:(1)在设计视图中查看、修改或创建窗体、报表和模块。(2)添加、删除或更改对对象或数据库的引用。(3)更改程序代码。(4)导入或导出窗体、报表或模块。第3章表目录3.1表结构的设计 3.2创建表3.3表数据的录入 3.4建立表之间的关联关系3.5表的导入、导出和链接3.6表的基本操作3.1表结构的设计要创建表,首先必须确定表的结构,即确定表中各字段的字段名称、数据类型和字段大小等。3.1.1字段名称的命名规定(1)字段名称最长64个字符。(2)字段名称中不允许使用的字符有:

叹号!句点.方括号[]单引号’(3)字段名称不能以空格开头。3.1.2字段的数据类型1.短文本2.长文本3.数字4.日期/时间5.货币6.自动编号7.是/否8.OLE对象9.超链接10.附件11.计算12.查阅向导共12种1.短文本用于保存字符数据。一些只作为字符用途的数字数据也可以使用短文本类型,最大为255个字符,采用可变长度进行存储。例如,如果字段大小设置为20个字符,而每条记录实际仅仅输入了5个字符,那么其在数据库中只会占用5个字符的空间。【提示】在Access数据库中,一个英文字符或一个汉字都被认为是一个字符。2.长文本一般用于保存较长(超过255个字符)的文本信息,最多可以保存1GB个字符。例如,学生的奖惩情况、个人简历等。长文本型字段也是按照实际大小进行存储,不需要指定字段大小,Access会自动为数据分配所需空间。3.数字用于保存数值数据。有7种:(1)字节:1字节,0~255之间的整数。(2)整型:2字节,-32768~32767之间的整数。(3)长整型:4字节,-2147483648~2147483647之间的整数。(4)单精度型:4字节,-3.4×1038~3.4×1038之间且最多具有7位有效数字的浮点数。(5)双精度型:8字节,-1.797×10308~1.797×10308之间且最多具有15位有效数字的浮点数。(6)同步复制ID:16字节,存储全局唯一标识。(7)小数:12字节,-9.999…×1027~9.999…×1027之间的数值。4.日期/时间保存100年1月1日至9999年12月31日之间任意的日期和时间数据,字段大小固定为8字节。例如学生的出生日期。5.货币主要保存货币值或数值数据,字段大小固定为8字节,其精度为整数部分最多15位,小数部分不超过4位。一般情况下,在输入数据后系统会自动在前面加上货币符号,如“¥”。6.自动编号默认字段大小为长整型,即4字节;用于“同步复制ID”时,字段大小为16字节。当向表中添加新记录时,自动编号类型会自动为每条记录存储一个唯一的编号(从1开始每次递增1或随机编号),因此可以将这种数据类型的字段设置为主键。自动编号类型的字段值不会自动调整,因此删除记录后自动编号类型的字段值有可能会变得不连续。7.是/否是/否类型实际上就是布尔型,用于表示只可能取两个逻辑值中的一个。例如,是/否(Yes/No)、真/假(True/False)、开/关(On/Off)等。是/否型字段内部存储的值为-1(是)或0(否),占用一个存储位。8.OLE对象用于存储其他应用程序所创建的文件(例如,Word文档、Excel电子表格、图片等),只能存储一个文件,最大1GB。9.超链接用于存放链接到本地或网络上资源的地址,最多1GB个字符。超链接地址可以是URL(网页地址),也可以是UNC路径(局域网上的文件地址)。超链接地址包含显示文本、地址、子地址3个部分(也可以只有前两个部分),以“#”符号隔开,一般格式为:

显示文本#地址#子地址#10.附件用于存储其他应用程序所创建的文件(例如,Word文档、Excel电子表格、图片等),可以在一条记录的单个字段中同时存储多个文件。11.计算用于存放根据同一表中的其他字段计算而来的结果值,计算不能引用其他表中的字段。计算字段存储的结果值的数据类型可以是短文本、数字、日期/时间、货币或是/否。12.查阅向导查阅向导提供了一个建立字段内容的列表,允许用户从列表中选择该字段的值,从而提高输入数据的效率。例如,可以为学生表中的“政治面貌”字段建立“查阅向导”,定义“党员”“团员”和“群众”3个选项,输入学生的政治面貌时直接选择。查阅向导最终的数据类型取决于列表中的数据来源。3.1.3“学生成绩管理”数据库各表结构设计1.院系代码表院系代码表(院系代码,院系名称,院系网址)2.学生表学生表(学号,姓名,性别,出生日期,政治面貌,班级,

院系代码,入学总分,奖惩情况,照片)3.课程表课程表(课程编号,课程名称,学时,学分,开课状态,

课程大纲)4.选课成绩表选课成绩表(学号,课程编号,成绩,学年,学期)1.院系代码表的结构根据院系代码表的实际情况可以确定它的表结构。其中主键是“院系代码”字段2.学生表的结构根据学生表的实际情况可以确定它的表结构。其中主键是“学号”字段,外键是“院系代码”字段。3.课程表的结构根据课程表的实际情况可以确定它的表结构。其中主键是“课程编号”字段。4.选课成绩表的结构根据选课成绩表的实际情况可以确定它的表结构,其中主键是“学号+课程编号”字段,两个外键分别是“学号”和“课程编号”字段。3.2创建表使用数据表视图创建表使用设计视图创建表3.2.1使用数据表视图创建表【例3-1】创建“院系代码表”单击“单击以添加”列标题,在下拉列表中选择数据类型,然后修改字段名称。3.2.1使用数据表视图创建表【例3-1】创建“院系代码表”单击“单击以添加”列标题,在下拉列表中选择数据类型,然后修改字段名称。3.2.1使用数据表视图创建表【例3-1】创建“院系代码表”单击“单击以添加”列标题,在下拉列表中选择数据类型,然后修改字段名称。【提示】使用数据表视图创建表后,会有一个ID字段,这是Access自带的,其默认数据类型为自动编号。3.2.2使用设计视图创建表【例3-2】创建“学生表”在表设计视图中直接输入“字段名称”和“数据类型”,并按要求设置字段大小。3.2.2使用设计视图创建表【例3-2】创建“学生表”使用查阅向导实现“政治面貌”字段。在“查阅向导”对话框中选择“自行键入所需的值”,然后输入查阅字段中要显示的值。3.2.2使用设计视图创建表【例3-2】创建“学生表”设置学生表的主键。选中“学号”字段,单击表格工具“设计”选项卡“工具”选项组中的“

主键”按钮,“学号”字段的左边出现一个钥匙图形,表示已经将它设置为主键。【提示】要取消已经设置的主键,只需要按照设置主键的方法再操作一次即可。3.2.3设置表的主键表的主键有3种:1.单字段主键

主键仅由一个字段组成。2.多字段主键

主键由两个或两个以上的字段组成。3.自动编号类型字段主键在使用数据表视图创建表时,系统会自动创建一个类型为自动编号的“ID”字段,并把它默认为新表的主键。在保存创建的新表时,如果之前没有设置主键,系统将会提示“是否创建主键?”,若选择“是”,则系统将自动创建一个类型为自动编号的“ID”字段,并把它设置为表的主键。3.2.4修改表的结构对已经创建的表结构不满意,可以在表的设计视图中进行适当的修改。在对表结构进行修改时,应注意可能会导致数据丢失的两种情形:(1)缩小“字段大小”的值可能会导致该字段原有数据部分丢失;(2)改变数据类型可能会造成该字段原有数据全部丢失。3.2.5设置字段的属性1.字段大小2.格式3.小数位数4.输入掩码5.标题6.默认值7.验证规则和验证文本8.必需9.索引1.字段大小短文本型字段的长度:

1~255数字型字段的种类:字节、整型、长整型、单精度型、双精度型、同步复制ID、小数2.格式指定字段的显示和打印效果。数字型字段的格式日期/时间型字段的格式是/否型字段的格式3.小数位数用于指定数字型或货币型数据的小数位数。字节、整型、长整型:小数位数为0单精度型:小数位数可以是0~7位双精度型:小数位数可以是0~15位在Access数据库中,小数位数默认是“自动”,即小数位数由字段的格式决定。4.输入掩码用于定义数据的输入格式。学生表的“学号”字段要求是10位的数字字符,输入掩码应设置为:0000000000,以确保必须输入10位数字字符5.标题用于在数据表视图、窗体和报表中取代字段的显示名称,但不改变表结构中的字段名称。6.默认值默认值是指添加新记录时,自动加入到字段中的值。例如,可以将学生表中“性别”字段的默认值设置为“男”。当用户添加新学生记录时,该字段的值会自动设置为“男”。7.验证规则和验证文本字段的验证规则用来检查字段中的输入值是否符合要求。设置了验证规则后,当用户输入的数据违反了有效性规则就会弹出验证文本中设置的提示信息。针对“性别”字段验证规则:“男”or“女”验证文本:性别只能是“男”或“女”8.必需必需属性可以确定字段中是否必须有值。如果该属性设置为“是”,则在添加新记录时必须在该字段中输入数据,而且不能为空值。9.索引用来确定某字段是否作为索引。索引是将表中的记录按索引字段值排序的技术,但不改变表中数据的物理顺序。一张表可以建立多个索引,每一个索引确定表中记录的一种逻辑顺序。【提示】索引将加快在字段中搜索及排序的速度,但可能会使更新变慢。在Access2016中,不能对“附件”和“OLE对象”类型的字段使用索引。3.3表数据的录入1.不同数据类型对输入数据的要求(1)短文本:可以接受任意的文本或数字字符,但如果设置了输入掩码,则必须按照输入掩码规定的格式输入数据,输入字符的个数受字段大小限制。(2)长文本:可以接受任意的文本字符,最多1GB个字符。(3)数字:只能输入合法的数值数据。(4)日期/时间:只能输入100~9999年份之间任意的日期和时间。如果未设置输入掩码,无论采用哪一种格式输入,Access都将按照统一的格式显示。输入:11Mar.20202020/3/112020-3-11March11,2020默认都显示为:2020/3/113.3表数据的录入1.不同数据类型对输入数据的要求(5)货币:只能输入合法的货币值。(6)自动编号:不能输入或更改数据。(7)是/否:默认情况下是通过一个复选框来输入,勾选(打“√”表示“是”,未选中(空白)表示“否”。(8)OLE对象:可以链接或嵌入一个其他应用程序所创建的文件,在该字段单元格位置右击鼠标后选择快捷菜单中的“插入对象”命令来输入。3.3表数据的录入1.不同数据类型对输入数据的要求(9)超链接:可以输入任何文本数据,Access会自动向文本中添加

http://。(10)附件:可以将多个其他应用程序所创建的文件附加到该类型字段中,在该字段单元格位置双击鼠标,然后在对话框中添加附件。(11)计算:不能输入或更改数据。(12)查阅向导:从下拉列表中选择字段的值。3.3表数据的录入2.学生表数据的录入(1)*行表示可以在该行输入新的记录。(2)“学号”输入掩码为“0000000000”,只允许输入10位数字。(3)“政治面貌”是查阅向导,点击单元格右端的下拉按钮选择值。(4)“出生日期”输入掩码为“0000/99/99”,所以年份必须输入4位数字,月和日可以只输入1位或2位数字。(5)“照片”附件,在对应单元格位置双击后,在“附件”对话框中添加照片文件。(6)“奖惩情况”,如果该记录这个字段的数据不存在,则使用空值。

Null值或零长度字符串("")。3.3表数据的录入3.院系代码表数据的录入“院系网址”(超链接类型)的录入(1)可以在对应数据项位置直接输入地址。超链接地址由显示文本和地址组成,用“#”符号隔开。(2)右击后选择快捷菜单中的“超链接|编辑超链接”命令。3.3表数据的录入4.课程表数据的录入“开课状态”(是/否型)在复选框上打√表示True,空白表示False。“课程大纲”(OLE对象型)在对应单元格位置单击鼠标右键并在弹出的快捷菜单中选择“插入对象”命令,按提示找到相应的Word文件插入。3.3表数据的录入5.选课成绩表数据的录入【例3-4】添加计算字段来获得成绩评定。

完成计算的表达式:IIf([成绩]>=60,"通过","未通过")3.4建立表之间的关联关系通过一张表的主键和另一张表的外键来创建两张表之间的联系。1.对主键和外键的要求(1)字段名称可以不同,但是必须有相同的数据类型(除非主键是“自动编号”类型)。(2)“自动编号”类型可以与“数字”类型并且字段大小为“长整型”的字段关联。(3)如果相关联的两个字段都是“数字”类型,那么这两个字段的字段大小必须相同。3.4建立表之间的关联关系2.建立表之间的关联关系在关系窗口中,将一张表中的主键拖曳到另一张表中相应的外键字段上,然后在“编辑关系”对话框单击“创建”按钮,完成关系的创建。3.4建立表之间的关联关系3.实施参照完整性参照完整性则是对相关联的两张表之间的约束,要求子表中每条记录的外键值必须是父表中存在的主键值。参照完整性作用:(1)不能在子表的外键字段中输入父表的主键中不存在的值。(2)如果子表中存在匹配的记录,则不能从父表中删除该记录。(3)如果子表中存在匹配的记录,则不能在父表中更改该主键值。3.4建立表之间的关联关系参照完整性的两个选项(1)级联更新相关字段

勾选“级联更新相关字段”后,当修改父表中记录的主键值时,将自动更新子表中相关记录的外键值,使它们保持一致。(2)级联删除相关记录勾选“级联删除相关记录”后,当删除父表中某条记录时,将自动删除子表中的相关记录。3.4建立表之间的关联关系4.删除关联关系关系窗口中显示的是各表之间关系的图示。如果只是在该窗口中选中某个表,然后按Delete键,则仅仅会删除该表的图示,不会删除该表相关的关联关系本身。要想删除关联关系,必须选中关联关系连线后再按Delete键。3.4建立表之间的关联关系5.父表和子表两张表之间创建了一对多关系后,“一”端的表称为父表,“多”端的表称为子表。在父表的数据表视图中,通过单击记录左侧的折叠按钮(+或-)可以展开或关闭子表。3.5表的导入、导出和链接目的是实现不同系统之间的数据资源共享。可以将Excel电子表格、文本文件或XML文件中的数据导入到Access2016数据库中;或者将Access2016数据表链接到其他文件(如Excel电子表格)中的数据,但不将数据导入表中。同样,也可以将Access2016数据表中的记录导出,以Excel电子表格、文本文件或Word文件格式存储在磁盘上。3.5.1表的导入导入功能可以将外部数据源中的数据导入到本数据库已有的表中,也可以直接创建一个新表。3.5.2表的导出导出功能是将Access数据库表中的数据,导出到其他Access数据库、Excel电子表格、文本文件、Word文件或XML文件等。3.5.3表的链接链接功能也是创建表的方法之一,能够将Access数据表链接到其他文件(如Excel电子表格)中的数据,但不将数据导入表中。3.6表的基本操作3.6.1打开和关闭表3.6.2记录的定位3.6.3记录的操作3.6.4记录的排序3.6.5记录的筛选3.6.6表的外观设置3.6.7表的复制、删除和重命名3.6.1打开和关闭表1.打开表:指打开表的“数据表视图”方法1:双击表名称。方法2:在表名称处单击鼠标右键,在快捷菜单中选择“打开”命令。2.关闭表方法1:单击表窗口右上角的“关闭”按钮。方法2:在表窗口的标题栏单击鼠标右键,在快捷菜单中选择“关闭”命令。3.6.2记录的定位1.记录导航按钮2.“转至”按钮3.“查找”按钮3.6.3记录的操作1.添加记录:在数据表视图中直接添加2.编辑记录:在数据表视图中直接修改如果实施参照完整性时选中了“级联更新相关字段”,则修改父表主键值时将自动更新子表中相关记录的外键值。如果仅实施了参照完整性但未并选中该选项,而且子表中存在匹配的记录,则不能在父表中修改该主键值。3.删除记录:在数据表视图选定要删除的记录后直接删除如果实施参照完整性时选中了“级联删除相关记录”,则删除父表记录时将自动删除子表中的相关记录。如果仅实施了参照完整性但未并选中该选项,而且子表中存在匹配的记录,则不能删除父表中该记录。4.保存记录:在Access中,当移动到其他记录时,系统会自动保存正在编辑的记录。3.6.4记录的排序1.排序规则:(1)英文按字母顺序排序,不区分大小写,升序按A~Z排序,降序按Z~A排序。(2)汉字按拼音字母的顺序排序,升序按A~Z排序,降序按Z~A排序。(3)数字按数值的大小排序,升序按从小到大排序,降序按从大到小排序。(4)日期和时间按日期的先后顺序排序,升序按从前到后的顺序排序,降序按从后向前的顺序排序。2.单个字段排序在数据表视图中选定要排序的字段,单击“开始”选项卡“排序和筛选”选项组中的“升序”或“降序”按钮。学生表按照出生日期升序进行排序后:3.6.4记录的排序3.多个字段排序需要使用“高级筛选/排序”命令。学生表按照班级升序和入学总分的降序排序:3.6.4记录的排序3.6.5记录的筛选记录的筛选是将符合筛选条件的记录显示出来,而其他记录被暂时隐藏起来,方便用户查看。筛选方法:1.按选定内容筛选2.使用筛选器筛选3.按窗体筛选4.高级筛选1.按选定内容筛选按选定内容筛选就是用表中某个字段的值作为筛选条件来快速筛选记录。在学生表中快速筛选出所有男生。2.使用筛选器筛选在数据表视图中,选定要筛选的字段,然后单击“开始”选项卡“排序和筛选”选项组中的“筛选器”按钮。学生表中“性别”字段筛选器:只选中了“男”,即只显示所有男生的记录,其他记录将被隐藏起来。3.按窗体筛选默认有两张选项卡:“查找”和“或”,“或”选项卡可以插入多张。同一张选项卡上的筛选条件之间是“与关系,不同选项卡之间是“或关系。按窗体筛选出男生党员和入学总分在630以上(含630)的女生记录。4.高级筛选如果对筛选的结果有排序要求,则只能通过高级筛选功能来实现。在学生表中,使用高级筛选功能筛选出男生党员和入学成绩在630分以上(含630分)的女生记录,并按入学总分的降序排序。同一“条件”行中各个条件之间是“与”关系,不同条件行之间是“或”关系。3.6.6表的外观设置表的外观设置实际上是指设置“数据表视图”中显示的二维表格的外观。1.调整字段的显示次序2.设置数据表格式3.隐藏或显示数据表中的列4.冻结数据表中的列5.调整数据表的行高和列宽3.6.7表的复制、删除和重命名1.复制表:通过“复制”和“粘贴”按钮来完成。3种粘贴表方式:仅结构。复制后的新表只有表结构,没有数据。当新表的结构与原表结构相似时使用这个选项,可以减少创建新表的工作量。结构和数据。复制后的新表与原表完全相同(除表名称外)。当需要备份表时可以使用这个选项。将数据追加到已有的表。复制后不产生新表,在“表名称”文本框中只能输入已经存在的表名称,而且要求两张表的结构完全相同。当需要将一张表的数据全部追加到另一张表中时使用这个选项。3.5.7表的复制、删除和重命名2.删除表方法1:在导航窗格中用鼠标右键单击要删除的表名称,在快捷菜单中选择“删除”命令。方法2:在导航窗格中选中要删除的表,再按“Delete”键。提示:

如果要删除的表与其他表之间创建了关系,则暂时不能删除,只有删除表间关系后才能删除表。3.5.7表的复制、删除和重命名3.重命名表(1)在导航窗格中用鼠标右键单击要重命名的表名称,在快捷菜单中选择“重命名”命令。(2)

在表名称编辑框中输入新表名,然后按回车键。第4章查询本章主要内容查询概述1选择查询2交叉表查询3参数查询4操作查询54.1查询概述查询是对一个或多个表中数据进行检索、统计的一个数据库对象。一个查询对象就是一个查询命令,实质上是一个SQL语句。运行一个查询对象就是运行一个查询命令。查询的数据源可以是表和查询。注意:建立基于多表的查询之前,首先要建立好表与表之间的关系。4.1查询概述4.1.1查询的类型选择查询SQL查询操作查询参数查询交叉表查询4.1查询概述1.查询向导

简单查询向导

交叉表查询向导

查找重复项查询向导

查找不匹配项查询向导2.查询设计查询设计在查询设计视图中创建,使用设计视图是创建查询的主要方法。4.1.2查询的创建方法优点:简单快捷缺点:创建简单的查询优点:创建复杂的查询缺点:创建过程较复杂4.1查询概述查询设计视图字段列表设计网格4.1查询概述查询设计视图包括两部分:字段列表区设计网格在“设计网格”中需要设置:字段:设置查询所包含的字段表:字段所隶属的表排序:查询的排序准则(如升序或降序)显示:当选中复选框时,字段将在查询结果中显示,否则在查询结果中不显示条件:设置检索记录的条件(也称为准则)或:设置检索记录的条件(也称为准则)4.2选择查询4.2.1使用查询向导创建选择查询选择查询就是根据给定条件,从一个或多个数据源中检索数据,并且在数据表视图中显示结果。创建选择查询有两种方法查询向导查询设计视图【例4-1】在“学生成绩管理”数据库中,以“学生表”为数据源,创建一个名为“例4-1学生入学总分查询”的查询。要求显示学号、姓名、性别和入学总分4个字段。4.2选择查询简单查询向导不仅可以进行明细查询,还可以对字段进行“平均”、“最大”、“最小”等汇总查询【例4-2】在“学生成绩管理”数据库中,统计各院系入学总分平均分。4.2选择查询4.2选择查询4.2.2使用设计视图创建选择查询【例4-3】在“学生成绩管理”数据库中,使用设计视图创建查询,要求查找并显示入学总分在620分以上的党员学生的学号、姓名、性别和院系代码字段信息,并要求按入学总分的降序进行排序。同一行:“与”条件4.2选择查询两个查询条件如果是“或”的关系,应将其中一个放在“或”行上两个查询条件如果是“与”的关系,应将其放在同一行上查询条件的运算符必须为英文输入4.3查询的运行和修改运行查询,有以下4种基本方法:(1)在查询“设计视图”窗口,直接单击“结果”选项组的“运行

”按钮。(2)在查询“设计视图”窗口,直接单击“结果”选项组的“视图”按钮或者在“视图”下拉列表中切换到“数据表视图”。(3)在查询“设计视图”窗口,打开快捷菜单,单击“数据表视图”命令。(4)双击“导航窗格”中查询对象列表中要运行的查询名称。4.3查询的运行和修改修改查询设计就是打开某个查询的“设计视图”窗口,对查询进行更改,如添加、删除数据源;在“设计网格”中添加、删除字段;进行重新排序设置等。【例4-4】在学生成绩管理数据库中,对例4-3进行复制粘贴操作产生一新的查询,对新建查询进行如下修改:检索高考总分620分以上的学生记录,并要求对查询结果的记录按“性别”升序、“入学总分”降序进行排序,显示学号、姓名、院系名称、性别和入学总分5个字段。涉及到2个表4.4设置查询条件4.4.1表达式与表达式生成器对于比较复杂的表达式,可在表达式生成器中构造复杂的表达式。【例4-5】在“学生成绩管理”数据库中,查询2002年出生的学生记录。使用表达式生成器构造该查询条件。在输入表达式时,像“.”、“=”、“>”、“<”、“(”、“)”、“[”、“]”、“””、“%”、“#”、“*”、“?”、“!”等所有字符必须是在英文输入法状态下输入4.4设置查询条件4.4设置查询条件1.条件表达式中常量(1)数字型常量:直接输入数值。

例如,21,-45,50.34等。(2)文本型常量:直接输入的文本,需要用定界符括起来

例如,"北京"。输入时如不加定界符,系统会自动添加(3)日期型常量:日期型常量用英文符号#括起来

例如,#2002-1-1#。输入时如不加#号,系统会自动添加(4)是/否型常量:Yes、No、True、False。4.4设置查询条件2.条件表达式中的运算符Access提供了四种运算符,分别是:

算术运算符

比较运算符

逻辑运算符

特殊运算符运算符功能运算符功能+加-减*乘/除\整除^乘方

算术运算符4.4设置查询条件运算符功能=等于<>不等于>大于<小于>=大于等于<=小于等于比较运算符4.4设置查询条件运算符功能Not非运算,操作表达式必须是逻辑表达式And与运算,连接的两个逻辑表达式均为真,结果为真;否则为假Or或运算,连接的两个逻辑表达式均为假时,结果为假;否则结果为真

逻辑运算符4.4设置查询条件运算符功能In用于指定一个字段值的列表BetweenAAndB用于指定A与B之间的范围。A与B要同类型Like指定某类字符串,配合使用通配符?、*。其中?表示任何一个字符;*表示任何多个字符IsNull测试列内容是否为空IsNotNull测试列内容是否不为空

特殊运算符4.4设置查询条件3.条件表达式中的函数Access提供了大量标准函数,如数值函数、字符函数、日期时间函数和统计函数等。表达式中函数书写形式:

函数名(参数)函数功能函数功能Abs(数值表达式)返回表达式的绝对值Int(数值表达式)返回表达式的整数部分值Sqr(数值表达式)返回表达式的平方根Round(数值表达式,N)返回数值表达式四舍五入到N位小数位数()必须有4.4设置查询条件函

数功

能应用示例条件说明Left(字符串表达式,数值表达式)返回从字符串左侧算起的指定数量的字符Left([学号],4)="1201"学号前4位字符为“1201”Right(字符串表达式,数值表达式)返回从字符串右侧算起的指定数量的字符Right([姓名],1)="辉"姓名最后一个字为“辉”Mid(字符串表达式,开始字符位置,数值表达式)返回字符串中从指定位置开始、指定数量的字符Mid([姓名],2,1)="小"姓名第二个字为“小”Len(字符串表达式)返回该字符串的字符数len([姓名])=3姓名长度为3个字Ltrim(字符串表达式)删除字符串前面的空格Ltrim([姓名])删除姓名前面的空格Rtrim(字符串表达式)删除字符串后面的空格Rtrim([姓名])删除姓名后面的空格Trim(字符串表达式)删除字符串前后的空格Trim([姓名])删除姓名前后的空格4.4设置查询条件函

数功

能应用示例条件说明Day(日期表达式)返回日期表达式的日Day([出生日期])=88号出生Month(日期表达式)返回日期表达式的月份Month([出生日期])=22月出生Year(日期表达式)返回日期表达式的年Year([出生日期])=20022002年出生Date()返回当前系统日期Year(Date())-Year([出生日期])=18年龄为18岁4.4设置查询条件【例4-6】在“学生成绩管理”数据库中,查询学生表中2002年出生的学生记录。1选择函数2选择表中字段4.4设置查询条件4.4.2在设计网格中设置查询条件【例4-7】查询男生党员入学总分在680以上的记录。4.4设置查询条件【例4-8】查询入学总分在580以下以及入学总分在680分以上的记录。>=680or<=5804.4设置查询条件【例4-9】查询2001年出生的入学总分在580(不含580)以下以及入学总分在680(含680)分以上的学生记录。数据源是查询的结果4.4设置查询条件【例4-10】在“学生成绩管理”数据库中,查询选修“高等数学”且姓王的同学以及选修“模拟电子技术基础”且姓李的同学的“姓名”、“学号”、“课程名称”及“成绩”。

4.5设置查询的计算

在Access查询中,可以执行两种类型计算,预定义计算自定义计算4.5.1预定义计算总计查询是通过查询设计视图中“设计网格”的“总计”行进行设置实现的,用于对查询中的一组记录或全部记录进行求和或平均值等计算。“总计”共有12种选项,其名称及功能如表4-8所示。名称功

能名称功

能GroupBy指定要分组的字段Stdev计算指定字段或分组中所有记录的标准偏差合计计算指定字段或分组中所有记录的总和变量计算指定字段或分组中所有值与组平均值的差量平均值计算指定字段或分组中所有记录的平均值First返回指定字段或分组中第一个记录值最小值返回指定字段或分组中记录的最小值Last返回指定字段或分组中最后一个记录值最大值返回指定字段或分组中记录的最大值Expression对每个记录或组分别执行指定的自定义计算计数计算指定字段或分组中非空记录的个数Where设定用于检索字段的条件4.5设置查询的计算【例4-11】在“学生成绩管理”数据库中创建一个查询,统计院系个数。4.5设置查询的计算【例4-12】在“学生成绩管理”数据库中查询2002年出生的学生人数。4.5设置查询的计算【例4-13】在“学生成绩管理”数据库中创建查询,要求从“学生表”中分组统计男女生的年龄最大值、最小值。4.5设置查询的计算【例4-14】统计每一个学生已修的学分数。要求在查询结果中显出“学号”、“姓名”和“学分”字段。分析:

只有成绩>=60分,才能计算该门课程的学分。分组计算条件4.5设置查询的计算4.5.2自定义计算当需要统计的字段未出现在表中,或者用于计算的数据来源于多个字段时,应在设计网格中添加一个计算字段。自定义计算就是在设计视图中直接用表达式创建计算字段,用一个或多个字段的数据对每个记录进行数值、日期的计算4.5设置查询的计算【例4-15】在“学生成绩管理”数据库中创建成绩评价查询,要求显示“姓名”、“课程名称”、“成绩”、“学年”、“学期”字段,并依据每门课程的成绩进行“评价”。

IIf([成绩]>=90,"优",IIf([成绩]>=80,"良",IIf([成绩]>=70,"中",IIf([成绩]>=60,"及格","不及格"))))

函数嵌套:IIf([成绩]>=90,"优",IIf([成绩]>=60,"及格","不及格"))4.5设置查询的计算4.5设置查询的计算【例4-16】在“学生成绩管理”数据库中创建学生年龄查询

4.6交叉表查询

可以计算并重新组织数据的结构,可以更加方便地分析数据。交叉表查询通常将一个字段放在数据表左侧作为行标题另一个字段放在数据表的顶端作为列标题在数据表行与列的交叉点单元格获得汇总数据的信息,如合计、平均值、计数等。4.6.1使用向导创建交叉表查询【例4-17】在“学生成绩管理”数据库中创建一个交叉表查询,统计各院系男女生人数。4.6交叉表查询4.6.2使用设计视图创建交叉表查询【例4-18】创建一个交叉表查询,统计各院系每门课程成绩不及格的人数。必须添加4个表,若少了“学生表”,则“院系代码表”无法与其它表进行关联,结果错误!

4.7参数查询

参数查询:根据某个字段的不同值进行动态查询4.7.1单参数查询创建参数查询时在条件行用方括号“[]”占位,并在其中输入提示文字,就完成了参数查询的设计。查询运行时会打开一个对话框,显示信息以提示用户输入,当用户输入后会用这个信息替代方括号的位置,从而动态生成

温馨提示

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

评论

0/150

提交评论