Access数据库程序设计(第二版)课件ch2-数据表的创建与优化_第1页
Access数据库程序设计(第二版)课件ch2-数据表的创建与优化_第2页
Access数据库程序设计(第二版)课件ch2-数据表的创建与优化_第3页
Access数据库程序设计(第二版)课件ch2-数据表的创建与优化_第4页
Access数据库程序设计(第二版)课件ch2-数据表的创建与优化_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

第2章数据表的创建与优化Access数据表的结构,字段名、字段属性、记录及其与数据表的关系通过向导创建表的基本操作过程通过设计视图建立与修改数据表结构的方法在表中可以设置的主键和索引的类型与设置方法输入与编辑数据记录的基本方法排序、筛选等优化表中的记录以提高查询效率的方法调整表的外观建立数据表之间的关联数据导入、导出与链接本讲学习目标理解字段的概念并能够根据实际应用正确设计字段熟练掌握设计视图的应用方法并通过它创建与修改数据表掌握定义主键及索引的方法熟练掌握向表中输入新的记录或者修改已有记录的方法掌握对数据记录进行排序的方法掌握在数据表中执行筛选、查找与替换操作的方法掌握美化数据表的外观的方法理解表之间的关联并掌握建立关联的方法什么是表数据表是Access数据库的基础,是Access数据库用来存放原始数据的场所。从根本上讲,Access数据库中的其他对象如查询、窗体及报表等,都是在数据表的基础上创建的。建立数据库,首先要设计好数据库中每个数据表的结构,然后再建立数据表。2.1表的进一步讨论2.1.1关系与表数据表是数据库系统的基础,用来存放用户的基本数据。一个二维表就是一个关系,在Access中,一个关系存储为一个表,具有一个表名。在一个二维表中,水平方向的行称为元组。在Access中元组对应数据表中的一条记录;垂直方向的列称为属性,每一列有一个属性名,在Access中称为字段名,每个字段的数据类型、宽度等属性是在创建数据表的结构时规定的。字段的取值范围称为域。例如,xb(性别)字段的域是“男”或“女”。用来唯一标识一个元组的属性或属性的组合称为关键字。在Access数据表中,关键字表现为字段或字段的组合。例如,由于employee表中的zgbh(职工编号)字段能够用来唯一区分每一个教员;因此,可以作为标识每条记录的关键字。在Access中,主关键字和候选关键字都起着唯一地标识一个元组的作用。如果数据表中的一个字段不是本表的主关键字,而是另外一个数据表的主关键字或候选关键字,这个字段就称为外部关键字。例2-1

如图2-1所示的是Access数据库中的一个表,试分析其组成。分析:数据表对应实际的二维表格,从二维表格角度考虑,本表组成如下:一个表由若干列与行组成。垂直方向的列称为属性,对应数据表中的字段,字段决定表的结构。每一个字段必须有一个字段名,还要确定字段的数据类型、大小等属性。字段的取值范围称为域。例如,表示姓名的字段是xm。水平方向的行称为元组,对应数据表中的一条记录。记录是具体的数据。图2-1学生基本信息表2.1.2表的结构

数据表的结构由字段决定。在建立数据表之前,首先要设计好数据表的结构,包括数据表的名称以及每个字段的属性(字段名、字段的数据类型及长度等),同时还应确定索引字段,准备好输入数据。字段名类型字段大小说明zgbh文本型6教师的职工编号(主键)bmbh文本型4部门编号xm文本型3姓名xb文本型1性别csrq日期/时间型8(默认)出生日期sfzh文本型18身份证号mz文本型5民族zzmm文本型4政治面貌gzsj日期/时间型8(默认)参加工作时间zc文本型3职称xw文本型5学位lxdh文本型11联系电话zpOLE对象型照片employee表结构

数据表中的字段数,每个字段的字段名、字段的数据类型、字段长度、是否建立索引等确定了数据表的组织形式。在Access中,字段的命名规则如下:字段名长度为1~64个字符;字段名可以包含字母、汉字、数字、空格和其他字符;字段名不能包含句点(.)、惊叹号(!)、方括号([])和重音符号(’)等。

在创建数据表时,必须确定数据表中各个字段的数据类型。Access中常用的字段数据类型有文本型、备注型及数字型等10种类型。1.文本型(text)

又称为字符型(char)。由字母、数字、各种字符及汉字组成。例如,姓名、地址及职称等字段都应该设置为文本型。对一些虽然用数字表示,但并不表示数值意思的字段,也应该设置为文本型。例如编号、身份证号、电话号码、邮政编码、学号、准考证号等。文本型字段的大小由用户定义,最多为255个字符,系统默认的字段长度为50个字符。2.备注型(memo)

备注型数据是长文本或文本和数字的组合,允许存储的内容最多为65,535个字符。主要是用来保存较长的文本数据,如备注、说明之类的字段。但是,Access不能对备注型字段进行排序或索引,而文本、数字、日期/时间、货币、自动编号、是/否型字段是可以进行排序或索引的。3.数字型数字型数据是指可以用来进行算术运算的数据,由数字(0—9)、小数点和正负号组成。例如年龄、总分、工资等均属于数字型字段。在程序设计及SQL语句中,又分为整型(Integer)与浮点型(Float)。4.日期/时间型(Date)日期/时间型数据用来存储日期、时间或日期时间的组合。每个日期/时间数据需要8个字节的固定存储空间,范围从100到9999年的日期与时间值。5.货币型(Currency)

货币型数据是数字数据类型的特殊类型,用来表示货币值。当给货币型字段输入数据时,Access会根据输入的数据自动添加货币符号及千位分隔符。系统默认的小数位是2,当数据的小数部分超过2时,系统会自动四舍五入。货币型字段的长度为8个字节。6.自动编号型自动编号型数据是一种比较特殊的类型,当向数据表中添加一条新记录时,自动编号字段的数据无需输入,由Access指定的一个唯一的顺序号(每次加1)。自动编号数据与相应的记录是永久连接的,不允许用户修改。如果删除数据表中含有自动编号字段的一个记录,Access并不会因此而对数据表中的自动编号型字段重新编号,当添加一条记录时,Access也不再使用已被删除的自动编号型字段的数值,而是按递增的规律赋值。自动编号型字段占4个字节的存储空间,它是以长整数形式存于数据库中的。每个数据表中最多只能包含一个自动编号型字段。7.是/否型

是/否型数据是针对只含有两种不同取值的字段而设置的,占1个字节的存储空间。取值为“真”或“假”,用逻辑值来数据表示。“真”用Yes、True或者On表示,“假”用No、False或者Off表示。8.OLE对象型

OLE对象数据类型是指在字段中允许“链接”或“嵌入”其他应用程序所创建的对象,OLE对象可以是文档、电子表格、图片等。OLE对象字段最大为1GB字节(受可用磁盘空间限制)。9.超级链接型

超级链接型字段是用来保存超级链接地址的。以文本或文本和数字的组合形式存储并用作超级链接地址。当单击一个超级链接时,Web浏览器或Access将根据超级链接地址到达指定的目标。10.查阅向导型

查阅向导字段为用户建立一个列表,用户可以在列表中选择一个值以存储到字段中。列表内容可以来自另一个数据表或由用户预先存储一组不可更改的固定值列表。2.2创建表

在使用Access创建数据表之前,首先要设计好表的结构。创建表的任务就是具体地实现设计好的表结构并输入数据记录。Access提供了3种创建数据表结构的方法。第1种方法是通过表向导创建表结构,其创建方法与使用数据库向导创建数据库的方法类似;第2种方法是在数据表视图中直接输入字段名,这种方法比较简单,但不能对每一字段的数据类型、属性值等字段属性进行设置;第3种方法是使用设计视图定义数据表结构。设计视图是创建Access数据库对象最有力的工具,也是最常用的方法。使用设计视图定义数据表结构是创建数据表的基本方法。在数据表的设计视图中,不仅能确定数据表的字段名,还能同时确定字段的数据类型和字段属性的具体设置。例2-2

使用设计视图,在高校学生管理数据库中建立学生基本信息表,具体结构如表2-1所示。分析:建立数据表的过程一般分为两步,第一步定义表的结构;第二步输入数据记录。定义数据表结构的主要任务就是定义数据表中的字段,即定义字段名、字段类型、大小与字段属性等。主要的操作步骤如下:2.2.1使用设计视图创建表打开新建表对话框打开高校学生管理数据库。在数据库窗口中选择“表”对象,单击“新建”按钮,屏幕上显示“新建表”对话框,在此对话框中选中“设计视图”,单击“确定”按钮。也可以在数据库窗口中选择“表”对象,双击“使用设计器创建表”,直接进入如图2-2所示的设计视图。如图2-2图2-2定义第一个字段单击第一行“字段名称”列,输入学生基本信息表的第一个字段名xh。单击“数据类型”列,并单击其右侧的向下箭头按钮,弹出一个下拉列表,列表中列出了Access提供的所有数据类型,选择文本数据类型。在“说明”栏中输入“学号”,用来注释该字段的实际含义,如图2-3所示。图2-3

定义其他字段重复步骤2,定义如表2-1所示的字段名和数据类型。完成后,单击第一个字段的字段选定器,然后单击工具栏上的“主键”按钮,将xh字段定义为主键,如图2-4所示。单击工具栏上的保存按钮,在“另存为”对话框中输入数据表的名称“学生基本信息”,单击“确定”按钮保存。图2-4表的结构如果需要向数据表中输入记录,单击工具栏左端的“数据表视图”按钮。2.2.2录入和删除记录

创建好数据表结构后,就可以通过数据表视图向表中输入数据记录了。以行、列格式显示表中数据的窗口称为“数据表视图”,在数据表视图中,可以方便地向数据表中输入记录,也可以方便地对已有的数据进行编辑、添加及删除等操作。1.打开数据表视图在Access数据库窗口中,打开表的数据表视图有多种方法。双击所要打开的数据表单击选中要打开的数据表,然后单击“打开”按钮右击要打开的数据表,在弹出的快捷菜单中选择“打开”命令选项左拖数据表的图标到数据库数窗口外如果表的设计视图已经打开,可单击工具栏中“数据视图”按钮,切换到数据表视图。2.输入数据例2-3

向学生基本信息表中输入数据记录。①打开学生基本信息表对应的数据表视图。②在每个单元格内直接输入数据,每输入完一个字段值按Enter键或Tab键转至下一个字段。如果字段的数据类型为是/否型,则单击复选框。复选框中显示“√”表示“是”,空表示“否”。如果输入字段的数据类型为“OLE对象”数据类型,例如照片,可选择“插入”菜单下的“对象”命令,或者单击鼠标右键,在弹出的快捷菜单中选择“插入对象(O)…”命令,打开“插入对象”对话框。

用户可以选择“由文件创建(F)”,在“文件”文本框中输入对象文件的正确路径和文件名或单击浏览按钮查找,单击“确定”后即可将指定的文件插入到OLE对象字段中。③在输入一条记录的后,数据表中就会自动添加一条新的空记录,且该记录的选择器上显示一个“*”号,表明这条记录是一条空记录;当前准备输入的记录的选择器上显示一个向右箭头,称这条记录为当前记录;当用户给当前记录输入数据时,该条记录的记录选择器上则显示一个铅笔符号,表示正在输入或编辑记录。3.定位记录

数据表的操作通常会涉及到某一条记录,因此在执行具体操作之前,总是要先定位该记录。Access提供了一种直观定位记录的方法,在数据表视图窗口的底端有一组记录浏览按钮。可以用这些按钮在记录间快速移动。4.删除记录在数据表视图中,选择要删除的记录,单击工具栏上的“删除记录”按钮就可以实现记录的删除。例2-4

在学生基本信息表中删除姓名为“张亮”的记录。①打开学生基本信息表的数据表视图。②直接找到要删除的记录,或者通过“编辑”、“查找”命令找到需要删除的记录,并选择该记录。③单击工具栏上的“删除记录”按钮就可以实现记录的删除。2.2.3修改表的结构1.插入新的字段在表的设计视图中,将鼠标移动到要插入字段的位置处,选取该行,单击鼠标右键,在随后显示的快捷菜单中选择“插入行”命令或者单击工具栏上的“插入行”按钮,插入一个空行,然后在空行中输入新增字段的名字,选择字段的数据类型并设置字段的其他属性。增加新字段后,原来的字段会往下移。完成后单击工具栏上的保存按钮保存修改。例2-5

修改学生基本信息表的结构,在其中增加出生地点、毕业学校等2个方面的信息。分析:为了解决题目提出的问题,需要在表中增加新的字段。解决过程如下。①确定字段的名称、类型及大小。根据题意,新增加字段的名称可以定义为csdd、byxx;类型全部定义为字符型。根据目前的实际情况,csdd(出生地点)一般要求填写到省市(县),例如,“安徽天长”、“江苏金湖”等,再考虑到适当冗余,将其字段大小定义12;类似的,将byxx(毕业学校)的字段大小分别定义为8。②打开表的设计视图。将鼠标移动到要插入字段的位置处,选取该行,单击鼠标右键,在随后显示的快捷菜单中选择“插入行”命令或者单击工具栏上的“插入行”按钮,插入一个空行。③在空行中输入新增字段的名字csdd,选择字段的数据类型为“文本”,将其大小设置为12,常规选项卡中标题设置为出生地点。增加新字段后,原来的字段会往下移。④重复上述两步操作,增加byxx(毕业学校)字段。⑤完成后单击工具栏上的保存按钮保存修改。2.删除字段在表的设计视图中,选择需要删除的字段,单击鼠标右键,在随后显示的快捷菜单中选择“删除行”命令,也可以单击工具栏上的“删除行”按钮,这时系统会弹出提示框。

删除字段后,下面的字段会顺序上移。如果要删除多个字段,可以按下Ctrl键不放,再单击每一个要删除字段的字段选择器选中他们,然后一次性删除。如果数据表中有与被删除的字段对应的数据,则将同时删除这些数据;如果Access中的其他对象含有对删除字段的引用,则这些引用也将被同时删除。因此,在删除字段时,一定要慎重。例2-6

在学生基本信息表中删除上例中增加的csdd(出生地点)字段。①打开表的设计视图。②选择需要删除的字段“出生地点”,单击鼠标右键,在随后显示的快捷菜单中选择“删除行”命令,也可以单击工具栏上的“删除行”按钮,这时系统会弹出如图2-7所示的提示框。单击“是”,则删除指定的字段;单击“否”,则不删除。3.改变字段顺序如果字段的顺序与数据输入的次序相同,可以增进数据处理的准确性及速度。已经建立的数据表中的字段,设计者可以自由调整显示顺序。操作方法比较简单,只要直接拖动字段到相应的位置处即可。修改完成后要注意保存。例2-7

在学生基本信息表中,改变各个字段的排列顺序。说明:如果字段的顺序与数据输入的次序相同,可以增进数据处理的准确性及速度。已经建立的数据表中的字段,设计者可以自由调整显示顺序。①打开表的设计视图。②拖动字段到相应的位置处。③修改完成后保存。4.编辑字段编辑字段主要包括修改字段的名称、数据类型及说明等。在表的设计视图中,单击要修改的字段名称、数据类型或说明,就可以对其修改。注意,改变字段的数据类型时,可能因数据类型的转换造成数据丢失,Access在实际保存更改结果之前,将显示消息告诉用户在转换期间发生了错误。例2-8

在学生基本信息表中,修改指定字段的名称、类型及大小等。①打开表的设计视图。②单击要修改的字段名称、数据类型或说明,直接对其修改。③修改完成后保存。2.2.4字段属性的设置

不同数据类型的字段有不同的属性。在数据表的设计视图窗口中,当选择某一字段时,下部的“字段属性”区就会显示出该字段的相应属性。在建立字段时,系统提供了某些字段属性的默认值;也有一些字段的属性值,在建立时为空,用户可以在设计视图窗口中根据实际情况,对其进行重新设置。下面介绍字段属性。1.设置字段大小

文本型及数字型字段,其“字段大小”属性可以由用户设置。用户应该根据实际需要合理地设置字段大小。如果在数据表中,字段中已有数据,那么Access将自动截去超出规定长度部分的字符,有可能会造成数据丢失。数字类型的字段有几种不同的格式,如下表所示.数字类型值的范围小数位数字段长度字节0~255无1字节整数32768~32767无2字节长整数2147483648~2147483647无4字节单精度数3.4×1038~3.4×103874字节双精度数1.79734×10308~1.79734×10308158字节例2-9

由于改变了编码规则,需要将学号由10位调整为12位,请通过修改数据库及相关对象完成此项工作。分析:为解决题目中提出的问题,需要修改学生基本信息表中xh字段的属性,将其大小调整为12。操作步骤如下。①打开学生基本信息表的设计视图,选择xh字段。②在“字段属性”区中显示了该字段的所有属性,在字段大小文本框中输入12,如图2-8所示。③单击工具栏上的保存按钮,保存所作的修改。图2-82.设置格式

文本型、数字型、日期/时间型、货币型、是/否型及自动编号型字段都具有“格式”属性,“格式”属性用来决定数据的打印和显示方式。不同数据类型的字段,其格式选取有所不同。例2-10为了方便信息的浏览,请将学生基本信息表中出生日期的显示格式设置为类似“2009-11-21”的形式。分析:为了实现题目要求,需要将日期/时间型字段csrq的“格式”设置为“短日期”,操作过程如下:①打开表的设计视图。②在表的设计视图中单击csrq字段的任一列,在字段属性区中单击“格式”属性框右边的向下箭头,从下拉列表中选择“短日期”格式,如图2-9所示。③修改完成后保存。图2-93.设置默认值在数据表中,有些字段中的数据大多相同或含有相同的部分。例如xb字段只有“男”、“女”,这种情况下,可将其中使用频率最高的值设置为默认值。设置了默认值的字段,在输入数据时,系统自动在该字段中填入默认值,当然,用户也可改变其中的值。合理设置字段的默认值,可以减少用户数据录入的工作量。文本型、备注型、数字型、日期/时间型、货币型、是/否型、超级链接型字段都具有默认值属性。其中数字型、货币型字段的默认值为0。例2-11

为了提高输入速度及准确性,请将学生基本信息表中性别的默认值设置为“男”。分析:为实现题目要求,只要将xb字段的默认值设置为“男”即可,操作过程如下:①打开学生基本信息表的设计视图。②单击xb字段的任一列,在其默认值属性框中输入”男”,如图2-10所示。说明:可以使用后面要谈到的表达式来定义字段的默认值。例如,如果某日期/时间型字段的值主要是当前的日期,可以在该字段的默认值属性框中输入表达式“date()”。图2-104.设置有效性规则和有效性文本利用字段的“有效性规则”属性,可以在一定程度上防止非法数据输入到数据表中,提高数据质量。“有效性文本”是指当用户输入的数据不满足有效性规则(即非法数据)时,系统给出的提示性信息。文本型、备注型、数字型、日期/时间型、货币型、是/否型、超级链接型字段都具有“有效性规则”和“有效性文本”属性。如下图所示.当输入的数据不符合“有效性规则”时,屏幕就会显示“有效性文本”属性中的内容。

例2-12

为了提高数据的准确性与有效性,在课程表中,将学时数字段的取值范围设为0~200。分析:为解决提出的问题,可以通过设置相关字段的有效性规则,具体操作步骤如下:①设置有效性规则。打开课程信息表的设计视图,选择xss字段,在“有效性规则”属性框中输入“>=0and<=200”。也可以单击“有效性规则”属性框右端的“生成器”按钮,启动表达式生成器并并利用它建立表达式。②设置有效性文本。在“有效性文本”属性框内输入“学时必须在0~200之间!”。如图2-11所示。图2-115.定义输入掩码

字段的“输入掩码”属性是规定数据输入的格式。为字段设置了输入掩码后,只有符合输入掩码格式的数据才能输入,这在一定程度上保证了输入数据的合理性。默认情况下不设置输入掩码。文本型、数字型、日期/时间型、货币型字段都具有输入掩码属性。

Access只为设置“文本”和“日期/时间”型字段的输入掩码提供向导。如果为某字段定义了输入掩码,同时又设置了它的格式属性,则格式属性将在数据显示时优先于输入掩码的设置。输入掩码格式符字符说明0必须输入数字(0~9)9可以选择输入数字或空格#可以选择输入数字或空格(在编辑模式下空格以空白显示,但在保存数据时将空白删除;允许输入加号和减号)L必须输入字母(A~Z)?可以选择输入字母(A~Z)A必须输入字母或数字a可以选择输入字母或数字&必须输入任何的字母或一个空格C可以选择输入任何的字母或一个空格<将所有字符转换为小写>将所有字符转换为大写!使输入掩码从右到左显示,而不是从左到右显示。键入掩码中的字符始终都是从左到右显示。可以在输入掩码中的任何地方包括感叹号/日期与时间的分隔符\使接下来的字符以原义字符显示(例如,\A只显示为A)例2-13

在教师表中,将参加工作时间的格式设置为与例2-10相同,并规定只有符合这样的格式要求才能被系统接受。分析:将教师表中gzsj字段的输入掩码属性设置为短日期,即可解决本题目的问题,操作过程如下。①打开表的设计视图,选择gzsj字段。②单击“输入掩码”属性框右端的“生成器”按钮,显示如图2-13所示的输入掩码向导对话框。可以从系统提供的几种输入掩码的设置中选择一种,这里选择“短日期”;也可以在“尝试”文本框中输入一个日期型的数据验证掩码。如果用户输入的数据不符合掩码的格式要求,屏幕会显示一个对话框,提醒用户输入的数据不符合规定。单击“下一步”按钮。图2-13③在如图2-14所示的“输入掩码向导”第二个对话框中,在占位符下拉列表中,选择输入数据时使用的占位符(例如,*、_、#、$、@、%等),系统默认的占位符是在输入字符的位置显示下划线,一般不需要修改。④单击“下一步”,在弹出的“输入掩码向导”的最后一个对话框中单击完成按钮。图2-142.2.5索引

通常可以为一个数据表建立多个索引,每个索引确定数据表中记录的一种逻辑顺序。在数据表中按索引字段或索引字段集建立索引后,一旦数据表和相关的索引被打开,记录的显示顺序将按索引表达式值的大小顺序显示(逻辑顺序),而不是记录输入时的顺序(物理顺序)。索引的概念和类型索引也是同一个数据库内各数据表间建立关联关系的必要前提,同一个数据库中的两个数据表之间若要建立关联关系,就必须先对关联的字段建立索引。OLE对象型、备注型字段是不能建立索引的,其他数据类型的字段都可以建立索引。按功能,索引可分为3种类型。唯一索引,索引字段的值不能相同,即没有重复值。普通索引,索引字段的值可以相同,即可以有重复值。主索引,在Access中,一个数据表中可以创建多个唯一索引,其中可以设置一个为主索引(主键),一个数据表只能有一个主索引。索引的创建方法创建索引也在表的设计视图中进行。一般来说,创建索引的方法比较简单;但是针对每一个数据表,要创建多少索引?每一个索引的索引字段是哪些?等等的问题应该经过很好的设计。实际上过多的索引反而可能会降低数据检索的速度。⑴创建单字段索引例2-14

为提高检索速度,请在学生基本信息表中按照出生日期建立索引。分析:本题要求建立是是根据csrq字段的建立的“索引”,由于没有提出其他特别要求,应该是允许重复的,因此建立的是“有(有重复)”索引,操作过程如下:①打开学生基本信息表的设计视图。②选中csrq字段。③在窗口下半部分的“常规”选项卡中,单击“索引”后面的箭头,在下拉列表中的三个选项中选择“有(有重复)”。单击工具栏上的保存按钮,保存所做的修改。⑵创建多字段索引所谓多字段索引是指建立的索引中含有多个字段,Access允许索引字段最多可以有10个。用户必须为多字段索引命名。在实际排序时,默认的顺序是升序,先按第一个字段的值进行排序;如果第一个字段的值相同,则按第二个字段的值进行排序,依此类推。在设计时,可以更改字段的这种排序次序。例2-15

为提高检索速度,在教师表中,根据每个教师的性别及工作时间建立索引。分析:本题要求建立的索引是一个多字段索引,索引字段包括xb和gzsj,基本操作过程如下:①打开学生基本信息表的设计视图。②在数据表的设计视图中,单击工具栏上的索引按钮,屏幕显示如图2-15所示的索引对话框,其中显示的是已经建立的索引。③在“索引名称”列的第一个空白行,键入索引名称(如:xbgzsj);在“字段名称”列中,单击向下的箭头,选择索引的第一个字段(如:xb);在“字段名称”列的下一行,选择索引的第二个字段(如:gzsj);在“排序次序”列中,可以分别选择升序或降序。④重复上述步骤,直到索引字段全都选中,如图2-15所示。⑤保存所做修改,关闭窗口。图2-15创建多字段索引示例⑶删除索引建立索引可以加快搜索速度,但是也减缓了记录的更新速度。因此,有些已经建立的索引可能需要删除。索引的删除不会影响相应的字段或字段中的数据。删除单字段索引只需在索引属性后面的下拉列表中选择“无”即可。删除多字段索引需要在如图2-15所示的窗口中,逐行删除。

2.2.6主关键字

主关键字又简称为主键,用来唯一标识数据表中的一条记录,一般每个数据表都应有一个主键,通常为一个字段。例如employee表中的zgbh(职工编号)字段可以作为主键字段,因为每个教员的职工编号是不同的,是能够唯一确定每个记录的。设置了表的主关键字后,Access将自动以主关键字为索引字段建立索引。一个数据表设置一个主关键字,一旦设定后,便不允许输入与已有记录中主关键字值相同的记录。Access数据表中可以定义三种类型的主键。自动编号主键一个数据表,最多只能有一个自动编号型字段,如果有自动编号型字段,可以将其设置为主键。如果在保存新建的数据表之前没有设置主键,Access将询问是否要创建一个自动编号型主键。如果回答为“是”,Access将创建一个自动编号主键。单字段主键如果字段值都是唯一的,例如,职工号、学号、编号等具有唯一性的字段,可以将其指定为主键多字段主键在不能保证任何单字段都包含唯一值时,可以将两个或更多的字段组合指定为主键。

2.2.7使用向导创建表

Access提供了一些数据库范例,其中已经定义好了一些示例数据表。向导就是以这些范例库为基础创建符合需要的数据表。主要有如下操作过程。启动表向导定义新表的字段定义主键并保存表例2-16在上一章创建的联系人信息管理数据库中,以Access中的自带的“联系人”示例表为基础,建立联系人数据表。首先打开联系人信息管理数据库,接下来的操作包括以下四个主要步骤:1.启动表向导在数据库窗口中选中“表”对象,双击“使用向导创建表”。屏幕显示“表向导”的第一个对话框,如图2-16所示。图2-16表向导的第一个对话框2.定义新表的字段在图2-16中,选择“商务”单选项及“示例表”中的“联系人”选项,这时“示例字段”列表框中显示该示例表中所有可能的字段。从示例字段列表框中选择想要加入新表的字段,单击“>”按钮,该字段名称就会出现在“新表中的字段”列表框中。如果范例中的字段名不符合需要,可以单击“重命名字段…”,在随后显示的对话框中重新命名字段。如果选择“>>”按钮,会把“示例字段”列表框中的所有字段全部加入到“新表中的字段”列表框中。单击“下一步”按钮,屏幕显示“表向导”的第二个对话框,如图2-17所示图2-17表向导的第二个对话框3.定义主键并保存表在“请指定表的名称”文本框中输入“联系人基本信息”,选择“不,自行设置主键”单选项,单击“下一步”,屏幕显示“表向导”的第三个对话框,如图2-18所示。在图2-18所示对话框中,选择“联系人ID”字段作为主键字段,单击“下一步”,屏幕显示“表向导”的第四个对话框,建议用户建立创建的表与其他表的关系,可以跳过这一步,直接选择“下一步”,显示如图2-19所示的对话框,此时,Access会自动将新建的表以指定的名称保存起来。

图2-18表向导的第三个对话框4.确定下一步操作如图2-19所示的对话框还询问数据表建立后,想要做什么?如果选择“直接向表中输入数据”,单击“完成”按钮,屏幕显示“联系人基本信息”的数据表视图,可以输入记录。图2-19表向导的第五个对话框2.3建立表之间的关系

在一个Access数据库中,可能包含多个数据表。有些应用,例如建立查询、窗体及报表等,需要从多个数据表中获取数据,这时需要建立数据表之间的关联。建立各数据表之间的关联关系,目的就是将各个表联系成一个有机的整体,为数据库应用打下基础。2.3.1什么是表之间的关系关系是通过匹配两个数据表之间公共字段中的数据来完成。在大多数情况下,这些匹配的字段是数据表中的主键字段,且对于每一记录提供唯一的标识符,并且在其他数据表中有一个相应的外部键。1.关系数据表之间的关系可以分为一对一关系、一对多关系和多对多关系3种形式。在Access数据库中,数据表之间的关系主要为一对多关系。一般情况下,将一端数据表称为主表,将多端数据表称为相关表。2.参照完整性“参照完整性”是一个规则系统,如果实施了这些规则,在输入或删除记录时,为维持数据表之间已定义的关系而必须遵循这些规则,不会意外地删除或更改相关数据。例2-17分析学生基本信息表与班级表之间的参照完整性所发挥的作用。解:参照完整性一般具有三个方面的作用。第一,如果想要在学生基本信息表输入一条新记录,其中bjmc(班级名称)字段值为“08软件”,而在班级表中,却没有哪一条记录的bjmc字段值为“08软件”,如果这两个表关于bjmc字段建立了关系,那么,这就违返了“参照完整性”,Access将不允许输入这样的记录。第二,也不能在相关表中存在匹配的记录时删除主表中的记录。例如,若要删除主表班级表中bjmc字段值为“08软件”的记录,而在相关表学生基本信息表中仍存在bjmc字段值为“08软件”的记录,由于bjmc字段是这两个表的关联字段,这也违返了“参照完整性”,Access将不允许删除这样的记录。第三,在主表中更改主键值,将自动更新所有相关记录中的匹配值。例如,若要将主表班级表中主键bjmc字段值为“08软件”改为“08计算机”,那么在相关表学生基本信息表中,所有bjmc字段值为“08软件”的记录将全部自动更新为“08计算机”。2.3.2建立表之间的关系数据库中的所有数据表都建立好后,就需要建立数据表之间的关系,这样用户就可以创建能够同时显示多个数据表中数据的查询、窗体和报表等。定义表之间的关联关系,首先要关闭所有已打开的相关表。例2-18

建立高校学生管理数据库中各个数据表之间的关联关系。操作步骤如下:⑴关闭所有打开的数据表⑵打开关系窗口在数据库窗口中,单击工具栏上的“关系”按钮。如果数据库没有定义任何关系,将会自动弹出“显示表”对话框,如图2-20所示。如果需要添加一个关系,而“显示表”对话框却没有显示,单击工具栏上的“显示表”按钮。如果关系表已经显示,转步骤5。图2-20显示表对话框⑶添加关系表或查询分别双击相关数据表或查询的名称,将其添加到关系窗口内,然后关闭“显示表”对话框,关系窗口如图2-21所示。

图2-21关系窗口⑷建立关系从某个数据表中将所要关联的相关字段拖动到其他数据表中的相关字段上。如果要拖动多个字段,在拖动之前请按下Ctrl键并单击每一字段。在大多数的情况下,将数据表中的主键字段(以粗体文本显示)拖动到其他数据表中的名为外部键的相关字段(经常具有相同的名称)。在Access中,相关字段并不需要有相同的名称,但它们应有相同的数据类型及包含相同的内容。例如,选定课程表中的kch字段,然后按下鼠标左键并拖动到开课情况表中的kch字段上,松开鼠标。这时屏幕上显示如图2-22所示的“编辑关系”对话框。图2-22编辑关系对话框⑸编辑关系在“编辑关系”对话框中,检查显示在两个列中的字段名称是否正确、合理,必要情况下可以进行更改。如果选择了“实施参照完整性”复选框,且设置了“级联更新相关字段”复选框,则在主表中更改主键值时,将自动更新所有相关记录中的匹配值。如果设置了“级联删除相关记录”复选框,则删除主表中的记录时,将删除任何相关数据表中的相关记录。设置完成后,单击“创建”按钮将创建一个关系。

⑹重复操作对每一对需要关联的数据表,重复步骤4、5,结果如图2-23所示。图2-23建立关系结果若要删除已有的关系,先关闭所有已打开的数据表,切换到数据库窗口,单击工具栏上的“关系”按钮,在显示出的“关系”窗口中,单击所要删除关系的关系连线(当选中时,关系线会变成粗黑),然后按DELETE键。若要编辑已有的关系,先关闭所有已打开的数据表,切换到数据库窗口,单击工具栏上方的“关系”按钮,在显示出的“关系”窗口中,双击要编辑关系的关系连线,在弹出的“编辑关系”对话框中对关系的选项进行设置。2.4表的优化与调整2.4.1排序1.排序规则⑴英文按字母顺序排序(字典顺序),大、小写视为相同,升序时按A→Z排序,降序时按Z→A排序。⑵中文按拼音字母的顺序排序。⑶数字按数字的大小排序。⑷日期/时间字段按日期的先后顺序排序,升序按从前到后的顺序排序,降序按从后到前的顺序排序。在实际排序时,需要注意以下事项:⑴顺序将和表一起保存。⑵文本型字段中保存的数字将作为字符串而不是数值来排序,按照其ASCII码值的大小排序⑶数据类型为备注、超级链接或OLE对象的字段不能排序。2.简单排序所谓简单排序,是指仅仅按照某一个字段值的大小进行排序,操作比较简单。在数据表视图中,选择好用于排序记录的字段,再单击升序或降序按钮即可。例2-19

在学生基本信息表中,按入学时间的降序重新排列记录顺序。操作步骤如下:①打开数据表视图,单击rxsj字段所在列。②单击工具栏中的降序按钮(或者选择主菜单中“记录”选项下面的“排序”),数据表视图中的记录将立即按新的顺序排列。③关闭数据表视图窗口时,屏幕显示一个对话框,询问是否保存对表的设计的更改,选择“是”,即可以保存排序结果。3.使用高级筛选/排序窗口进行排序

使用Access的“高级筛选/排序”功能,首先对记录进行筛选,再根据筛选的结果进行排序。排序时,可以设置多个排序字段。首先按照第一个字段的值进行排序,在第一个字段值相同时,再按照第二个字段的值进行排序,依此类推,直到排序完毕。还可以将设置好的“高级筛选/排序”条件以查询的形式保存起来。例2-20

在学生基本信息表中,先按性别的升序,再按出生日期的降序排序。操作步骤如下:①在数据表视图中打开学生基本信息表。②打开筛选的窗口选择“记录”菜单中的“筛选”命令,再从子菜单中选择“高级筛选/排序”。屏幕显示如图2-24所示的“筛选”窗口,其中的上半部分显示被打开数据表的字段列表,下半部分是设计网格,用来指定排序字段、排序方式和排序准则。在“字段”行分别选择xb和csrq两字段,在“排序”行分别选择升序或降序。③单击工具栏中的“应用筛选”按钮(或者菜单中的相应选项,大多数工具按钮都有与之对应的菜单选项,以下不再说明),显示排序结果。④如果有需要,保存排序结果并退出。图2-24使用高级筛选/排序进行排序2.4.2筛选筛选是指根据所设置的条件,显示出符合条件的数据记录。Access提供了“按选定内容筛选”、“内容排除筛选”、“按窗体筛选”、“输入筛选目标”以及“高级筛选/排序”等筛选方法。筛选是一种提高查找速度的有效方法。1.输入筛选目标如果用户能够明确被筛选的字段及筛选的具体值,可以使用“筛选目标”进行筛选。例2-21

在学生基本信息表中,显示所有女同学的信息。分析:本题实际上是要求显示所有xb字段值为“女”的记录内容,操作过程如下:①以数据表视图方式打开学生基本信息表。②右击任意一个数据记录的xb字段,弹出如图2-25所示的快捷菜单,单击“筛选目标”,在其后面的文本框中输入筛选值“女”,按回车键。③Access自动按照设定的条件筛选出性别为“女”的记录,而性别为“男”的记录都将被隐藏起来。图2-25设置筛选目标2.按选定内容筛选按选定内容筛选有助于用户查找与特定记录相似的数据记录,其作用是将不满足选定内容的记录隐藏,筛选出满足条件的记录并显示。可以重复按选定内容进行筛选操作,这样,在数据表视图中保留下来的将是有选择筛选的一些记录。例2-22

显示学生基本信息表中所有政治面貌为“党员”的教师。①以数据表视图方式打开学生基本信息表。②找到zzmm为“党员”的记录并选中,然后单击工具栏中的“按选定内容筛选”按钮或打开“记录”菜单,指向“筛选”,执行“按选定内容筛选”命令,就会在数据表视图中显示所有政治面貌为“党员”的学生。如图2-26所示。图2-26按选定内容筛选结果3.内容排除筛选内容排除筛选的结果是排除了包含某一特定值的所有记录。例2-23

在学生基本信息表中,只显示少数民族同学的记录。①打开学生基本信息表的数据表视图。②选择mz字段值,选中某个民族为“汉”的记录,单击鼠标右键,在弹出的快捷菜单中选择“内容排除筛选”命令即可;也可以打开“记录”菜单,选择“筛选”命令以及其下一级的“内容排除筛选”子命令。4.窗体筛选窗体筛选是几种筛选方法中使用最广泛的,通过它能够进行包含多个条件的复杂筛选。例2-24

显示教师表中所有的“男”性“讲师”记录。分析:为了实现本题的显示结果,拟使用窗体筛选,操作步骤如下:①以数据表视图方式打开教师表,单击工具栏上的“按窗体筛选”按钮,显示如图2-27所示的对话框。②设置筛选条件。在如图2-27所示的对话框中,单击xb字段,在其下面的下拉列表中选择“男”;类似的,在zc字段下面的下拉列表中选择“讲师”;也可在字段中直接键入所要筛选的值。③单击工具栏上的“应用筛选”按钮。图2-27选择筛选字段值5.高级筛选/排序在实际应用中,常常涉及到复杂的筛选条件,使用“高级筛选/排序”不仅可以筛选出满足条件的记录,还可以对结果进行排序。例2-25

在教师表中,显示所有90年代参加工作的“男”教师,并按其学位的降序排序。操作步骤如下:①打开教师表的数据表视图。②在“记录”菜单的“筛选”项中选择“高级筛选/排序”命令,屏幕显示筛选窗口。③指定排序字段及顺序。将用于筛选的字段xw添加到设计网格中,单击xw字段的“排序”单元格,选择“升序”排序。④设置筛选条件。在xb字段的条件单元格内输入“男”,在gzsj字段的条件单元格内输入表达式“Between#1990-1-1#and#1999-12-31#”,如图2-28所示。⑤单击工具栏上的“应用筛选”按钮,执行筛选。图2-28设置筛选条件和排序方式各种筛选方法的比较,如表所示。2.4.3查找与替换1.数据表中数据的查找⑴在字段中查找指定内容打开“编辑”菜单,选择“查找”选项字符用法示例*与任何个数的字符匹配,它可以在字符串中,当做第一个或最后一个字符使用。wh*可以找到以wh开头的所有字符串。如:what、white和why等。?与任何单个字母的字符匹配B?ll可以找到ball、bell和bill[]与方括号内任何单个字符匹配B[ae]ll可以找到ball和bell但找不到bill!匹配任何不在括号之内的字符b[!ae]ll可以找到bill和bull但找不到bell.与范围内的任何一个字符匹配。必须以递增排序次序来指定区域(A到Z,而不是Z到A)。b[a.c]d可以找到bad、bbd和bcd#与任何单个数字字符匹配1#3可以找到103、113、123通配符的用法⑵查找空值或空字符串

Null(空值)是指字段中数据没有或未知的值。可以在字段、表达式以及查询中使用Null表示不知道的信息。主键字段不能包含Null值。空字符串是指不包含任何字符的字符串,即长度为零的字符串。可以使用空字符串表示没有值的字段。输入时,用两个挨在一起的双引号(中间没有空格)表示空字符串。查找空值或空字符串的操作方法基本同上。在输入查找内容时,如果是查找空值字段,请键入“Null”或“IsNull”;如果要查找空字符串,则键入不包含空格的双引号("")。例2-26

在学生基本信息表中查找并显示所有汉族学生。操作步骤如下:①在数据表视图中打开学生基本信息表。②单击查找内容所在的mz(民族)字段,使光标插入在该字段范围内。③选择“编辑”→“查找”命令,显示如图2-29所示的查找和替换对话框,在查找内容组合框中输入“汉”,在查找范围组合框中选择mz(民族),在匹配框内选择“整个字段”。④单击“查找下一个”按钮,系统将顺序查找到第一个mz(民族)字段值为“汉族”的记录;重复单击“查找下一个”,系统将逐一往下查找满足条件的记录。图2-29查找和替换对话框2.数据表中数据的替换如果要对数据表中多处相同的数据作相同的修改,可以使用替换功能,Access自动将查找到的数据替换为新数据。这种方法既有效、准确,又能节省时间。例2-27

在学生基本信息表中,将所有性别为男的记录中,xb字段的值全部改为“1”;性别为女的记录中,xb字段的值全部改为“2”。①打开表的数据表视图。②选择“编辑”→“替换”命令,显示如图2-30所示的对话框。在查找内容组合框中输入“男”,替换值设置为“1”,查找范围设置为学生基本信息表,匹配设置为“整个字段”,单击“全部替换”按钮。③重复上述操作,将所有性别为女的记录替换为“2”。图2-30“查找和替换”对话框2.4.4表的外观设置1.改变行高和列宽通过鼠标拖动通过格式菜单中行高和列宽命令,可以指定

温馨提示

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

评论

0/150

提交评论