第 4章 建构 Access数据库表本章重点本章以创建数据库表为重点,介绍表的组成和视图;通过多种方法创建数据库中不同的数据库表;通过对表的结构和外观显示的修改,从而编辑表;表中关键字的作用和设定方法,以及创建索引的方法;通过分析表与表之间的关系,然后创建关系,并对其进行编辑和修改,从而创建一个高质量的数据库表 。
第 4章 建构 Access数据库表
4.1 Access数据库表的基本知识
4.2 创建表
4.3 表的编辑
4.4 表的关键字和记录
4.5 建立表之间的关系
4.6 数据库表的应用实例
4.7 习题
4.1 Access数据库表的基本知识
表是 Access数据库中存储数据的惟一数据库对象,是最基本、最重要的对象,它是构建数据库的基础。
简单地说,表就是“关于特定主题的数据集合”,将相同性质的数据存储在一起,以方便增减数据、查询数据或者进行各种应用。表是由一条条记录组成,记录是由一个个字段构成,因此表的设计就是要决定各个字段的名字和属性等内容。如图 3-1所示就是表格式的存储结构。表是构成关系式数据库的基础。
一旦表建立起来,就可以对其进行各种的数据操作与应用,包括:
( 1)存储各种数据。
( 2)查询并提取所需数据。
( 3)添加或更新数据。
( 4)制作报表并进行布局设置,分析或打印报表。
( 5)将数据作成网页,供上网浏览等。
4.1.1 表的组成
表的结构中包括字段名称、数据类型、字段属性和字段说明等几部分,图 4-1所示为表的设计视图。
图 4-1 表的设计视图
1.字段
字段的名称必须能直接、清楚地反映信息内容。一般字段名称尽可能取具有代表性的名称。如果字段名称模糊不清或模棱两可,就会导致数据库的不确定性。 Access 2002对字段的命名有以下规定(也适用于控件和对象的命名):
( 1)长度不能超过 64个西文字符(或 32个汉字)。
( 2)不能包含句号“。”、感叹号“!”、重音符号,`”
和方括号,[]”,可以包含字母、数字、空格及其他特殊的字符的任意组合。
( 3)不能以空格开头。
( 4)不能包含控制字符(从 0~ 31的 ASCII值)。
( 5)最好确保字段名称和 Access中已有的属性和其他元素的名称不相同。
2.字段的数据类型
合适的数据类型能够反映字段所表示的信息选择。如果数据类型选取的不合适,会使数据库效率降低,并且容易引起错误。 Access 2002可使用的数据类型、适用范围和所需存储空间见表 4-1。
数 据 类 型 适 用 范 围 所需存储空间 备 注文本
( Text)
文本或文本与数字的组合,或不需计算的数字 最多为 255个字符 例如:地址,电话号码备注
( Memo) 长文本或文本与数字的组合 最多为 65,536个字符 例如:注释,说明数字
( Number) 用来进行算术计算的数值数据 1,2,4或 8字节 涉及货币的值除外日期 /时间
( Data/Time) 日期或时间 8字节 例如,2002年 5月 27日货币
( Currency) 货币值 8字节精确到小数点左边 15位,小数点右边 4位。计算时禁止四舍五入自动编号
( AutoNumber

添加记录时,Access自动指定的惟一顺序号(每次递增 1)或随机数
4字节 此类型字段不能更新是 /否( Yes/No) 只可能是两个值中的一个 1位 例如:是 /否,真 /假,开 /关
OLE对象
( OLEObject

用于使用 OLE协议在其他程序中创建的 OLE对象 最大为 1G字节 例如,Word文档超级链接
( Hyperlink) 用于超级链接 最多为 64,000个字符 UNC路径或 URL
查阅向导

LookupWizard

用于创建这样的字段,它允许用户使用组合框选择来自其他表或来自值列表的值与对应于查阅字段的主键大小相同的存储空间。一般为 4
字节在数据类型列表中选择此选项,将会启动向导进行定义。严格地说不是一种数据类型表 4-1 字段的数据类型
3.字段的属性
字段的属性是指字段的大小、外观和其他的一些能够说明字段所表示的信息和数据类型的描述。
Access为大多数属性提供了默认设置,一般能够满足用户的需要。用户也可以改变默认设置或自行设置。常用的简单属性有如下几种:
( 1)字段大小。可由用户设置此属性的数据类型有:文本型、数字型和自动编号型。
文本型的字段大小属性可设置为 1~ 255之间的任何整数,
从而决定文本字段最多可存储的字符数。其默认值为 50。
数字型字段大小属性的可选项有:字节、整型、长整型、
单精度型、双精度型、同步复制 ID和小数,各选项所表示的数据范围及所占用的存储空间都不相同。其默认值为长整型。
自动编号型字段大小属性可选择长整型和同步复制型,
其默认值为长整型。
( 2)索引。具有此属性的数据类型有:文本型、数字型、
货币型、日期 /时间型。索引属性可有三个取值:无索引、有索引(有重复)和有索引(无重复)。如果某字段被设置为有索引属性,那么在显示表或查询时,将按照索引顺序排列记录。如果索引为“有(无重复)”,那么 Access将不允许在两个记录中输入相同的该字段值。如果某字段被设置为
“无索引”,则不对记录进行排序。
( 3)格式。除了 OLE对象外,可为任何数据类型的字段设置格式。使用格式属性可规定字段的数据显示格式。 Access
为自动编号、数字、货币、日期 /时间等提供了预定义格式,
用户可从列表中选择。
( 4)小数位数。此属性要在设置格式属性之后定义才能生效。它提供了自动和 1~ 15位的选项。其默认值为自动,此时格式属性为“货币”、“整型”、“标准”、“百分比”
和“科学记数法”的字段,将显示 2位小数。注意,此属性只影响显示的小数位数,而不影响保存的小数位数。(若需更改保存的小数位数,必须重新设置字段大小属性)
( 5)默认值。使用此属性可以指定在添加新记录时自动输入的值。如果表中记录的某字段值大部分相同,即可为该字段设置一个默认值,可大大简化输入。添加新记录时可接受默认值,也可键入新值覆盖它。
( 6)字段有效性规则。字段有效性规则用来控制数据输入的正确性和有效性。一旦输入字段的数据违反了有效性规则,
Access将显示一个信息告诉用户哪些是允许的输入项目。大多数情况下,最好在表的设计视图中“有效性规则”中设置字段的属性,并定义数据验证和限制。
4.字段的说明
字段说明是指对每个字段一般有一个简短的说明性文字,
用来说明这个字段所表示的具体信息,以及设计字段时的注释。此说明会在向该字段添加数据时出现在状态栏中。(此项设置可选)
4.1.2 表的视图
视图是 Access数据库对象的外观表现形式,不同的视图具有不同的功能和作用范围。表有四种视图,即设计视图、
数据表视图、数据透视表视图和数据透视图视图。
1.设计视图
表的设计视图用于设计表的结构。在表的设计视图中,
既可以新创建整个表,也可以添加、删除或自定义已有表中的字段。
2.数据表视图
表的数据表视图以行列格式显示表,用于处理数据。在数据表视图中,可以添加、删除和修改数据。
表的设计视图和表的数据表视图可以通过在 Access
2002工具栏中的如图 4-2所示“视图”切换按钮,或
Access 2002中“视图”中的选项来相互转换。
3.数据透视表视图和数据透视图视图
数据透视表视图和数据透视图视图是用所选格式和计算方法,汇总大量数据的表或图,其作用是以另一种格式查看数据。一般多用在查询或窗体中。
图 4-2,视图”切换按钮BACK
4.2 创建表
Access提供了多种建立表的方法,有通过表向导、
通过输入数据创建表、表设计视图、导入和链接表等。
4.2.1 在设计视图中创建表
表的设计视图是一个功能强大的工具,它是惟一可用来对表的结构进行修改的工具,利用它不仅可以修改表的结构,还可以自行设计表。
【 例 4-1】 用“设计器”为“学籍管理数据库”创建一个如图 4-3所示的“学习课程表”。
图 4-3,学习课程表”的数据表视图
( 1)打开第 3章中创建的“学籍管理数据库”,如图 3-2所示。
( 2)在对象栏中单击“表”,双击“使用设计器创建表”,
即弹出表设计视图,如图 4-1所示。
也可以单击工具栏中“新建”按钮,如图 4-4所示。在
“新建表”对话框中选取“设计视图”列表项,然后单击
【 确定 】 按钮,屏幕上也会弹出表的设计视图。
图 4-4 新建表对话框
3)定义字段。
在“字段名称”列中输入字段名,如“课程编号”(字段名要符合 Access 2000有关字段名的规定)。
单击“数据类型”右边的按钮,显示出所有数据类型的列表框,在其中选取一种合适的数据类型,如“自动编号”。
在“说明”列中输入有关该字段的说明。此说明文字会在向该字段添加数据时显示在状态栏中。如“系统给定,用户不能更新”。(此步骤可选。)
根据实际需要,在窗口下半部的“字段属性”区域中,
分别对各个字段的属性进行设置。例如,对“课程编号”的
“字段属性”进行设置,“字段大小”为“长整型”,“新值”为“递增”,“索引”为“无”。
重复上述方法定义“学习课程表”中的其他字段:课程名称、学时数、使用教材、作者、出版社、出版时间等,并确定各个字段的说明、数据类型及属性。创建一个完整的表结构,如图 4-5所示。
图 4-5 表结构
( 4)保存表。单击工具栏中的“保存”按钮,系统将弹出如图 4-6所示“另存为”对话框。在对话框的编辑栏中输入表的名称“学习课程表”。
图 4-6,另存为”对话框
然后单击 【 确定 】 按钮。如果在保存表之前为未定义主关键字字段,系统将弹出一个如图 4-7所示“尚未定义主键”的警告对话框。单击 【 是 】 按钮,系统将第一个字段创建为主关键字,他的数据类型为“自动编号”。
图 4-7,尚未定义主键”警告对话框
至此,“学习课程表”的结构就由设计器设计好了。
由表设计视图图 4-1可看出,它分为上下两个部分。上半部分是此表中的所有字段的名称以及它们相应的数据类型:下半部分是各个字段数据类型的属性。用户可以通过设置不同的属性值,使当前的数据类型能更好地适应字段信息的要求。
主键定义后,在图中的“课程编号”字段单元格的左边有一个钥匙形状的图标,它表示该字段是此表的关键字。用鼠标单击表中各个字段名称单元格,会看到被单击到的单元格左边会出现小的三角标志,表明它是当前所选的字段。
表的设计视图详细地显示了有关表设计的所有信息。
通过它,可以清楚地看到表是由哪些字段组成的,其中包括它们的名字、顺序、属性、说明以及与之相对应的数据类型的各种信息。
4.2.2 利用向导创建表
Access 2002还提供了表向导,利用向导不仅可以快速、
简洁地创建表,不用事先对表进行设计,而且能够帮助初学者掌握表的设计过程。
【 例 4-2】 使用表向导创建一个学生信息表,如图 4-8所示。
图 4-8,学生信息表”的数据表视图
( 1)启动表向导。打开数据库。在对象栏中单击“表”,
然后双击“使用向导创建表”,即可启动表向导。或者单击工具栏中“新建”按钮,在如图 4-5所示“新建表”对话框中选取“表向导”列表项,然后单击 【 确定 】 按钮,弹出“表向导”对话框,如图 4-9所示。
图 4-10,重命名字段”对话框图 4-9,表向导”对话框一
( 2)选择字段。在上图中,选择“商务”,然后在
“示例表”列表框中选择一个表 ——“学生”表,接着双击“示例字段”中的字段,将“学生 ID”、“名字”、
“地址”、“邮政编码”、“电话号码”、“电子邮件帐户名”、“主修”、“学号”、“附注”等列表项作为新建表的字段,向导自动将其添加到“新表中的字段”列表框中。(单击 按钮,将选中字段添加到“新表中的字段”列表框中;单击 按钮,删除已添加到新表中的选中字段;单击 可把“示例字段”
中的所有字段都添加到新建表中;单击 则删除已添加到新表中的所有字段。)
( 3)修改字段名称(可选项)。对上述所建新表,若要修改表中字段的名称,可在“新表中的字段”列表框中选中需修改的字段,如选择“名字”字段,然后单击 【 重命名字段 】 按钮,弹出,重命名字段”对话框,如图 4-10所示。输入新的字段名称“姓名”,单击 【 确定 】 按钮。如需修改多个字段名,可重复此过程。
图 4-10,重命名字段”对话框
( 4)指定表的名称、设置主键。单击图 4-9中的 【 下一步 】
按钮,打开“表向导”对话框二,如图 4-11所示。在“请指定表的名称”文本框中输入新建表的名称 ——“学生信息表”。
在“请确定是否用向导设置主键:”单选框中,确定设置主键的方法。选择“是,帮我设置一个主键”,然后单击
【 下一步 】 按钮,则进入第 5步。
图 4-11,表向导”对话框二
若选择“不,让我自己设置主键”,然后单击 【 下一步 】
按钮,弹出如图 4-12所示的“表向导”对话框三。在“请确定哪个字段将拥有对每个记录都是唯一的数据:”的下拉列表中选择字段作为主关键字字段 ——“学生 ID”。然后,指定其数据类型,如“让 Microsoft Access 自动为新记录指定连续数字”,即自动编号类型。
图 4-12,表向导”对话框三
( 5)确定下一步工作。单击 【 下一步 】 按钮。系统弹出如图 4-13所示“表向导”对话框四,确定此表是否与数据库中其他的表相关。
图 4-13,表向导”对话框四
( 6)最后单击 【 下一步 】 按钮,系统弹出如图 4-14所示
“表向导”对话框四,选择利用向导创建完表之后的工作,
如“直接向表中输入数据”,然后单击 【 完成 】 按钮。
图 4-14,表向导”对话框四
( 7)输入数据。新建表完成之后,将在数据表视图中打开,
如图 4-15所示。
在如图 4-15所示的数据表视图中,可以直接输入字段值。输入完一个字段后,按回车键确认,并跳到下一个字段。(注意:
自动编号类型的字段值,由系统给出,用户不能输入。)
图 4-15,学生信息表”数据表视图输入完一条记录的最后一个字段后,按回车键,系统会自动保存本条记录,并定位到下一条记录的第一个字段。也可单击工具栏中的“保存”按钮,保存记录。切换回数据库窗口,可查看“学生信息表”已创建成功。
4.2.3 通过输入数据创建表
通过“输入数据创建表”的方法可一次性完成表的创建和数据的输入,适合把记录在纸上的数据直接建成数据库的形式。
【 例 4-3】 用“输入数据创建表”的方法来创建完成在学籍管理数据库中如图 4-16所示的“学生成绩表”。
图 4-16,学生成绩表”的数据表视图
( 1)打开数据表视图。打开“学籍管理数据库”窗口,双击图 4-5列表框中“通过输入数据创建表”列表项,屏幕上弹出如图 4-17所示的数据表视图。
图 4-17 空表的数据表视图
( 2)命名字段。双击视图中的“字段 1”,输入所需的字段名 ——“学生 ID”,然后依次将各字段名称改为“课程编号”、
“学期”、“成绩”等字段,如图 4-18所示。
图 4-18 修改字段后的数据表视图
( 3)输入数据。在各字段中按顺序输入数据,如图 4-16所示。可拖动表的分栏线,改变表格的宽度。
( 4)保存表。单击工具栏中的“保存”按钮,在弹出的
“另存为”对话框中输入表名称 ——“学生成绩表”,然后单击 【 确定 】 按钮。
( 5)定义主键。系统弹出“尚未定义主键”警告对话框,
单击 【 是 】 按钮,系统自动为表创建一个主键,并显示该表的数据表视图,如图 4-16所示。
这样,“学生成绩表”就通过输入数据的方法创建成功了。
4.2.4 通过获取外部数据创建表
Access 2002可以导入和链接的数据源有,Microsoft
Access,Microsoft Excel,Exchange,Outlook,Lotus1-
2-3,Lotus1-2-3/DOS,Paradox,Text Files,HTML
Documents,dBASEⅢ,dBASEⅣ,dBASE5,ODBC
Databases等。
在导入或链接数据之前,必须创建或打开 Access 2002
数据库,以包含导入或链接的表。在 Access 2002数据库中,
导入的数据将用新表创建导入数据的一个副本。同时,源表或源文件不会改变。
链接数据使得用户能够读取外部数据源中的数据,并且在多数情况下可以更新这些数据,但数据本身并不存储在
Access 2002数据库中,外部数据源的格式也不改变。因此可以继续用创建文件的程序来使用它,同时也可以用 Access
2002来编辑它的数据。
Access中,数据的导入是将其他文件格式转换成
Access的数据和数据库对象。
数据的导出是一种将数据和数据库对象输出到其他数据库、电子表格或文件格式的方法,以便其他数据库、
应用程序等可以使用这些数据。导出功能与复制和粘贴功能相似,可以将数据导出到各种支持的数据库、程序或文件格式中。
数据的链接是建立从另外一个应用程序的数据文件到 Access之间的连接,以便在源应用程序和 Access中都可以查看和编辑数据。
1.导入表
在 Access数据库中,不仅可以导入原始表的结构,还可以导入其中的数据。
【 例 4-4】 将已经建立的“学生信息表”,导入到一个
“空数据库,mdb”中。
( 1)打开数据库,创建一个“空数据库”。
( 2)单击“文件”菜单,选择“获取外部数据”中的“导入”命令,如图 4-19所示。
图 4-19 选择“导入”命令
( 3)系统弹出“导入”对话框,从“文件类型”中选择要导入的表的数据库文件类型 Microsoft Access,如图 4-20所示。同样,可以导入其他的文件类型数据。
图 4-20,导入”对话框
( 4)单击 【 导入 】 按钮,弹出如图 4-21所示“导入对象”对话框,选取需要导入的“学生信息表”。
图 4-21,导入对象”对话框
( 5)单击 【 确定 】 按钮,在“空数据库”中就可以看到刚刚导入的“学生信息表”,如图 4-22所示。
图 4-22 成功导入数据表
2.导出表
【 例 4-5】 将刚导入的
“学生信息表”,导出到另外一个数据库
,db1.mdb”中。
( 1)打开需要导出的数据库,如图 4-22所示,并选中要导出的数据库表。
( 2)单击“文件”菜单,
选择,导出”命令,如图
4-23所示。
图 4-23 选择“导出”命令
( 3)系统弹出“导出”对话框一,如图 4-24所示,选取导出的目标数据库。同样,可以将数据导出至其他文件类型。
图 4-24,导出”对话框一
( 4)单击 【 导出 】 按钮,弹出如图 4-25所示“导出”对话框二。在这里,可以改变表的名称,并可以选择导出项目。
其中“定义”指的是表的结构,即字段的定义;“数据”
指的是表中存储的实际数据内容。
图 4-25,导出”对话框二
( 5)单击 【 确定 】 按钮,打开目标数据库验证,会发现数据表成功导出,如图 4-26所示。
图 4-26 成功导出数据表
3.链接表
链接和导入表的区别在于数据所存储的位置不同。
导入表是 Access将原始表中的结构和数据复制到数据库中;链接表只是通过链接关系将原始表映射到数据库,
其结构和数据仍保存在原始表中。在数据库中,链接表中的数据被修改时,原始表中的数据也被修改。而在使用导入表时,导入表中的数据被更改时,原始表中的数据不会受影响。其操作步骤与导入表相同。
BACK
4.3 表的编辑
如果要使一个好的数据库能够真实反映事物的特征,它的结构和记录就需要及时修改更新。因此,表的编辑是数据库维护人员的一项日常工作,可以使数据库更符合实际需求。
4.3.1 修改表的结构
在维护数据库工作中,经常会要修改已创建好的表的结构。 Access 数据库允许用户通过表设计视图,对表的结构进行修改。
表是数据库的基础,对表结构的修改,会对整个数据库产生较大影响。例如,修改字段,系统中与之相关的查询、
窗体和报表就不能正常工作,从而产生错误。因此,对表结构的修改应该慎重,最好事先备份。
结构的修改,主要包括修改表的设计,更改字段名称,
编辑字段及修改表的显示。
1.修改表的设计
( 1)重命名字段既可以在表设计视图中进行,也可以在数据表视图中进行。只要双击所要修改的字段,然后输入新的字段名称,再按回车键确认即可。
( 2)修改字段的数据类型,即在表的设计视图中重新选择新的数据类型。
2.在设计视图中编辑字段
( 1)打开“学籍管理数据库”,选择“学生信息表”,如图 4-27所示选择“设计”按钮。
图 4-27 用“设计”视图打开数据表
( 2)打开设计窗口,将光标移到“电子邮件帐户名”所在单元格,如图 4-28所示。将其修改为“电子邮箱”。用这种方法可以修改其他字段和其数据类型。
图 4-28 修改字段名
( 3)在视图中插入字段时,用光标选中“家庭住址”单元格,单击“插入”菜单中的“行”命令,如图 4-29所示。
或单击鼠标右键,从弹出的如图 4-30所示菜单中选择
“插入行”。
图 4-29 在设计视图中的“插入” ——“行”
图 4-30 从弹出菜单中选择“插入行”
或者单击工具栏中的“插入行”按钮,即可在该行的上方插入一空行,如图 4-31所示,在该行中可输入字段“性别”及其属性。
( 4)在设计视图中删除字段时,将光标移至要删除的字段上,
或者选中某一行,选择“编辑”菜单中的“删除行”命令,如图 4-32所示。
图 4-31 插入一空行 图 4-32 设计视图中的“编辑” ——“删除行”
或单击鼠标右键,从如图 4-30所示的菜单中选择“删除行”。
或者单击工具栏中的“删除行”按钮。系统会同时删除表中该字段所在行的所有数据,此时会弹出如图 4-33所示的警告对话框加以确认。
完成对表中字段的修改后,单击工具栏上的“保存”按钮。或者在关闭表的设计视图时,系统会自动对表进行检测,
如果表已被修改,屏幕上出现如图 4-34所示“保存表设计”
警告框,单击 【 是 】 按钮即可。
图 4-33 警告对话框 图 4-34,保存表设计”警告框
3.在数据表视图中编辑字段
打开“学籍管理数据库”中的“学生信息表”的数据表视图,
如图 4-8所示。
在数据表视图中插入字段时,将光标移至到某一字段列上。
或者用鼠标单击该字段列,单击“插入”菜单中的“插入列”
命令,如图 4-35所示。
图 4-35 数据表视图中的“插入”菜单中的“插入列”命令
或者单击鼠标右键,从如图 4-36所示的菜单中选择
“插入列”选项。
图 4-36 从弹出菜单中选择“插入列”
在所选字段之前插入一个空白字段列,通常为“字段
1”,如图 4-37所示。双击空白字段列中字段名单元格,输入要插入的新字段的名称,按回车键即可。
图 4-37 插入一个空白字段列
在数据表视图中删除字段时,
将光标移至要删除的字段上,选择如图 4-38所示中“编辑”菜单中的
“删除”命令,删除一个字段。
如果用鼠标单击某一列字段列,
则可从如图 4-38所示的菜单中选择
“删除列”,或者单击鼠标右键,
从如图 4-36所示的菜单中选择“删除列”选项,则会删除该字段及其所有数据,并且系统将弹出如图 4-
33所示警告对话框加以确认。图 4-
38,编辑”菜单中的“删除”命令
完成对表中字段的修改后,单击工具栏上的“保存”按钮。或者在关闭表的设计视图时,系统回自动对表进行检测,如果表已被修改,
屏幕上出现如图 4-34所示“保存表设计”警告框,单击 【 是 】 按钮即可。
图 4-38,编辑”菜单中的“删除”命令
4.移动字段
对表中字段的插入和删除,一般会影响到表中存储的数据,以及与表相关的查询、窗口和报表等数据库对象。而对在设计视图和数据表视图中的字段均可以进行移动,操作非常简单,而且一般不会有什么不良后果。方法是单击所要移动的字段,按下鼠标左键并拖动该字段到需要的位置,单击
“保存”按钮即可。
5.修改字段的属性
字段属性包括常规和查阅属性。其中常规属性的修改包括设置字段的标题和大小,修改日期 /时间类型字段的属性,
修改数字类型字段的属性,设置默认值,设置有效性规则和有效性文本等。
查阅属性是指可用使用组合框或列表框代替文本框来显示或输入表中的数据,这样可以方便用户的输入,并防止字段中出现无效的数据,因为系统将会只接收列表框中的值。
【 例 4-6】 将“学生信息表”中的“性别”属性改为查阅属性,用列表框来显示。结果如图 4-39所示。
图 4-39 带列表框查阅属性的“学生信息表”之数据表视图
如果要在表的设计视图中直接创建查阅字段的方法,其操作步骤如下:
( 1)在设计视图中打开“学生信息表”,选择所要修改的字段“性别”,然后单击选择属性框中“查阅”选项,在“显示控件”栏中选择控件列表框作为显示控件,如图 4-40所示。
图 4-40 在设计视图直接创建查阅字段
( 2)在“行来源类型”栏中选择列表框中行的来源为“值列表”。若行中的信息来源于表或查询,可以选择“表 /查询”
列表项;如果想引用字段名为列表值可以选择“字段列表”
项。
( 3)根据行来源类型,在“行来源”中为列表框中的行输入“男;女”。可以选择相应的表或查询,以及提供值列表等。
( 4)在“绑定列”栏中,设置字段值为 1,表示将与表或查询中哪一列结合。
( 5)在“列数”栏中输入 1,确定显示在列表框中的列数。
( 6)选择是否要列出列的标题,还可以在“列宽”栏中为列表框设置列的宽度。
( 7)单击工具栏中“保存”按钮,保存修改结果。
在列表框中用户只能选择列表中的选项。在组合框中,
不仅可以选择列表的值,还可以输入新的值。它在形式上与列表框相类似,但是比列表框更灵活。
【 例 4-7】 用组合框显示“学籍管理数据库”中“学生成绩表”的“课程编号”,使它显示相应的图书名和作者名,如图 4-41所示。
图 4-41 带组合框查阅属性的“学生成绩表”
( 1)在设计视图中打开“学生成绩表”,单击“课程编号”
字段的“数据类型”栏,并选择“查阅向导”,如图 4-42
所示。要注意的是,所定义查阅向导的字段不能是一个或多个关系的一部分。
图 4-42 选择“查阅向导”
系统弹出如图 4-43所示的“查阅向导”对话框一。
图 4-43,查阅向导”对话框一
( 2)选择“使用查阅列查阅表或查询中的值”,单击 【 下一步 】 按钮,弹出如图 4-44所示的“查阅向导”对话框二。
图 4-44,查阅向导”对话框二
( 3)选择要创建的查阅字段所在的源表或查询“表:学习课程表”,单击 【 下一步 】 按钮,弹出如图 4-45所示的
“查阅向导”对话框三。
图 4-45,查阅向导”对话框三
( 4)选择要在查阅时显示的“可用字段”中的“课程名称”
和“学时数”两个字段,单击 【 下一步 】 按钮,弹出如图
4-46所示的“查阅向导”对话框四。
图 4-46,查阅向导”对话框四
( 5)指定查阅列中列的宽度,并选择或清除“隐藏关键字列”复选框(隐藏时关键字列不再显示),单击 【 下一步 】 按钮,弹出如图 4-47所示的“查阅向导”对话框五。
图 4-47,查阅向导”对话框五
( 6)为查阅列指定标签后,单击 【 完成 】 按钮,系统将创建查阅字段,并基于向导中的各种选择来设置某些字段属性。
4.3.2 修改表的外观显示
对表设计的修改,将导致表结构的变化,会对整个数据库产生影响。如果只是针对数据表视图进行修改,则只影响数据在数据表视图中的显示,而对表的结构没有任何改变。
现在以数据表视图中“图书管理数据库”中的“读者信息表”中的内容为例。在数据表视图中打开所要修改的“学生信息表”,如图 4-8所示。
1.改变字体、字号和颜色
( 1)在数据表视图窗口中选择“格式”菜单中“字体”命令,
如图 4-48所示。
图 4-48 选择“格式”菜单中的“字体”命令
系统弹出“字体”对话框,如图 4-49所示。
图 4-49,字体”对话框
( 2)选择合适的“字体”、“字形”、“字号”和“特殊效果”,并可以在“示范”区域中看到选择后的效果。
( 3)单击 【 确定 】 按钮,如图 4-50所示。
图 4-50 改变字体、字号和颜色后的数据表
2.改变数据表的样式
在如图 4-48所示的菜单中,选择“数据表”命令,系统弹出“设置数据表格式”对话框,如图 4-51所示。可以选择“单元格效果”、“网格线显示方式”、“背景色”、
“网格线颜色”和“边框和线条样式”,并可在“示例”
区域中观察所设置的效果。
图 4-51,设置数据表格式”对话框
将“背景色”设置为银色,“网格线颜色”设置为灰色,“单元格效果”设置为凸起,效果如图 4-52所示。
图 4-52 改变数据表样式后的数据表
3.调整行和列的大小在如图 4-48所示的菜单中,选择“行高”命令,系统弹出“行高”对话框,如图 4-53所示,输入新的行高值即可,
若选取“标准高度”复选框,则行高被设置为默认值。
图 4-53,行高”对话框
在数据表视图中,将鼠标停放在两个记录选择器的中间,等光标变成上下双箭头形状后,按下鼠标左键上下拖动,可以直接改变行高或列宽,如图 5-54所示。
图 5-54 调整行和列后的数据表
4.列的冻结和解冻
冻结一列或多列,就是将这些列自动地放在数据表视图的最左端,而且无论如何左右滚动数据表视图窗口,系统会自动将冻结的字段列放在最左端,保持它们随时可见,
以方便用户浏览表中数据。
在图 4-8中,单击字段名所在的单元格选取整个字段列,如图 4-55示。
图 4-55 选取整个字段列
也可以按住鼠标左键不放,拖动到所要选择的最后一个字段上以选择多列。选择如图 4-48所示的菜单中的“冻结列”命令,此时,所有被选择的字段依次出现在数据表视图的最左端,如图 4-56所示。
图 4-56 设置冻结列的数据表这时,该冻结列不能再被移动。只有选择“格式”菜单中的“取消对所有列的冻结”命令,解冻所有的列以后,才能进行其他的操作。
5.列的隐藏
选择要隐藏的列后,只要选择“隐藏列”命令,即可隐藏一个或多个字段,这些列将不会显示在数据表视图中,但是,它们并没有被删除,还保存在表中,只要取消对列的隐藏,这些字段会重新出现在数据表视图中。
这样可以使数据表视图简化。同样,可以选择“取消隐藏列”命令,使这些字段重新出现在数据表中。
BACK
4.4 表的关键字和记录
为了使 Access能够快速地寻找和取得存储在不同表之中的数据,就需要有一个能惟一标记表的字段,这就是主关键字。例如,在学生信息表中,一般我们会想到通过
“姓名”字段,就能够快速找出一条特定的学生信息。但是,“姓名”却不具备惟一性。因为可能有一个以上的学生具有同样的名字,所以适合的是“学生 ID”字段,因为编号绝不会出现重复的数值,它可以用来识别单一的记录。
4.4.1 定义关键字
关键字是表中惟一标志一条记录的字段。通过它数据库管理系统可以快速准确地在各个表中收集和查找数据。因此,
Access数据库系统要求每一个表中都必须要有一个能够确定表中记录的关键字字段,但是有些表中具有识别性的单一记录需要是多个字段的组合,这种字段称为“主关键字”。
就像每个人都有一个身份证号码一样,表中的每个记录必须要用类似身份证号码的字段来识别不同的记录。因此,
主关键字必须具备惟一性。我们必须根据这个原则为表设置主关键字。
Access 2002中定义关键字的方法主要有两种。
1.系统自动定义关键字
自动生成的关键字是由系统维护的,用户无需对该字段进行输入,每次添加和删除记录时,系统都自动为其设置一个值,并保证它可以作为表中主关键字。如在 4.2节中,不管用什么方法创建表,Access 2002都会询问是否需要建立一个关键字。如果选择“是”,系统将自动产生一个名为
,ID”,数据类型为“自动编号”的字段自动作为该表的主关键字。
2.用户自定义关键字
常用于将两个或更多的字段组合起来构成主关键字。这时用户可以直接指定表中某个字段为关键字。
【 例 4-8】 使用“设计器”创建“学生成绩表”,其中包括“学生 ID”、“课程编号”、“学期”、“成绩”等字段,
如图 4-57所示。
图 4-57,学生成绩表”设计视图
先按住 〈 Ctrl〉 键,同时选中“学生 ID”和“课程编号”
字段,单击工具栏中的“主键”按钮,左边方块形按钮上出现钥匙状标志,说明主关键字已经定义好了,如图 4-58所示。
图 4-58 定义“主关键字”
若想更改主键的设置,方法非常简单。在设计视图中,
单击工具栏中的“主键”按钮,撤销原主键,此时设计视图中的钥匙标志将消失。
选择新的字段或字段组合。再单击工具栏中的“主键”
按钮。此时,方块型按钮处(该字段的最左端)会出现钥匙标志,主键即已更改完毕。
一旦为表设定了主关键字,Access将避免任何的重复值或 Null值输入到主键字段中,以保证它的惟一性和不可重复性。
4.4.2 创建索引
在表中关键字定义结束后,为了能高效地访问表中记录,
系统会为表中关键字自动建立索引。通过索引系统可以快速地在表中定位记录,以较高的效率来管理数据库。所以在数据库中经常要为在查询中使用的字段建立索引。
【 例 4-9】 在“学籍管理数据库”中,经常会以姓名为关键字来查询有关学生的信息。下面为“学生信息表”的“姓名”
字段建立索引。
( 1)在设计视图中打开“学生信息表”。
( 2)选择要建立索引的字段“姓名”,如图 4-59所示,在属性框中的“索引”栏中为字段选择合适的索引类型。
图 4-59 为字段建立索引
( 3)单击工具栏中的“索引”按钮,系统弹出如图 4-60所示的“索引”对话框。
图 4-60,索引”对话框
( 4)在“索引”对话框中选择所需要的索引“姓名”,然后为索引选择合适的属性。一般只有关键字才是主索引。如果字段中没有重复的值,可以为“唯一索引”项选择“是”;
如果为“忽略 Nulls”项选择“是”,则索引将排除值为空的记录。
( 5)关闭“索引”对话框后,单击工具栏中的“保存”按钮,即可保存修改。
4.4.3 编辑表的记录
对表的记录进行编辑包括添加、删除和修改记录。
在数据表视图中编辑数据记录时,可以通过观察记录最左端的“记录选择器”来获得有关记录的信息。一般有三种指示符表示不同的含义。
( 1)当前记录指示符。如图 4-61所示,出现在记录最左端的一个指向右边的三角形,就是当前记录指示符。表示当前用户正准备处理的记录。
图 4-61 当前记录指示符
( 3)新记录指示符。如图 4-63所示,出现在记录最左端的是一个星号,这就是新记录指示符,表示这是本表的最后一条记录,通常为空。
如图 4-64所示,这是位于数据表视图左下方的记录定位指示器,上面包括“首记录”、“上一条记录”、“当前记录号”、
“下一条记录”、“尾记录”和“新记录”等按钮,用这些按钮可以很方便地浏览,并修改表中所有记录,尤其是对于拥有大量记录的表格是非常有用的。
图 4-63 新记录指示符图 4-64 记录定位指示器
【 例 4-10】 以“学生信息表”为例,进行添加、删除、修改和保存记录的的操作。
1.添加记录
在创建表的各种方法中,只有“通过输入数据创建表”
可以直接向表中输入数据,其他方法都只能设计表的结构,
而无法向表中输入记录。
在数据表视图中打开已经设计好的表,可以向其中输入数据。一个新建的表的数据表视图仅在表的顶端显示表的字段名称,并在其下面显示一条记录。如果任何字段有默认值,
Access 2002将在空记录的相应字段内,显示该默认值。而无论表中有多少记录,在表的底部总有一条空记录,以方便于用户添加新的记录。
( 1)打开“学籍管理数据库”,双击“学生信息表”列表项,系统出现如图 4-8所示“学生信息表”的数据表视图。
( 2)按 〈 Tab〉 键、或者按右箭头键或者按回车键,使光标出现在最后一条记录的“姓名”单元格中,输入一个姓名,
此时,Access自动在其下方新增一条新的空白记录,而在当前记录选择器上出现铅笔状的编辑记录指示符,如图 4-65
所示。
图 4-65 在数据表中添加记录
( 3)用同样的方法可以将光标定位在任意一个字段,输入所需要的数据。
( 4)要定位在同一条记录的上一个字段时,可以按下
〈 Shift+Tab〉 组合键或左箭头键。
( 5)输入完一条记录的最后一个字段后,按下 〈 Tab〉 键或回车键时,系统会自动保存本条记录,并定位在下一条记录的第一个字段。或者可以单击工具栏中的“保存”按钮,存储记录。
2.删除记录
在 Access数据库的数据表视图中,可以在任何时候删除表中的任意一条记录,但是记录一旦删除,就不能再恢复,所以在执行此项操作时,一定要慎重。选中所要删除的记录,在该记录的最左端出现一个小三角标志,表明当前的焦点处于该记录。还可以选取要删除的多条记录,单击鼠标右键,在弹出的菜单中选择“删除记录”命令,如图 4-66所示。
或者单击工具栏中的“删除记录”按钮,系统弹出删除记录警告框,如图 4-67所示,单击 【 是 】 按钮,确认删除记录。
图 4-66 弹出编辑菜单
3.修改记录
用鼠标单击选取要修改的字段值,进行修改时,记录选择器上出现,表示用户正在修改该记录,且未保存。按回车键,或单击“保存”按钮,即可保存修改。
图 4-67 删除记录警告对话框
BACK
4.5 建立表之间的关系
现在我们学习了许多表的操作,但是如何设计表呢?怎样决定表中该有哪些字段呢?对于一个较为复杂的数据库的设计,需要多个表之间相互搭配。
在关系型数据库理论中,应用规范化原则可以帮助我们将数据库设计成为一个满足特定应用需求的弹性数据库。
4.5.1 表的规范化
规范化是降低或消除数据库中冗余数据的过程。尽管在大多数的情况下,冗余数据不能被完全清除,但冗余数据降得越低,就越容易维护数据的完整性,并且可以避免非规范化的数据库中的数据更新异常。
规范化原则包括以下几点:
( 1)字段的惟一性。在设计表时,所有字段内容一定要简单明确,每个字段只能存储一个数据。
( 2)主关键字。在数据库中每一个表都应该具备一个字段,
用来识别单一的记录。
( 3)功能关系性。在设计时应该考虑表中的其他字段与主关键字是否有直接的相关性。如果该字段与主关键字段并不密切相关,就表示该字段的存放位置不适当,应当采取表的分割处理。
( 4)字段的独立性。在修改某字段值时,其他的字段不应该受到影响,即字段与字段之间并不存在相依性。
4.5.2 关系的概念
通过规范化的方法,可以对表进行有效的分割,这些表虽然被分割成数个表,但它们之间是彼此关联的。通过建立表之间的参照关系,既能维持数据之间的联系,又可以避免不需要的数据重复。
这种表示两个表的共有字段之间的关联性就是关系。通过定义表之间的关系,可以将数据库中各个表中的信息联系起来。只有定义了关系以后,创建查询、窗体以及报表等才可以同时显示多个表的信息。
关系可以协调各个表中的字段,它是通过匹配各个表中的主关键字字段的数据来完成这种功能的。主关键字字段通常是两个表中名称相同的字段。而且一般情况下,这些相互匹配的字段往往是各表中的关键字。 Access 数据库只有通过各个表中主关键字之间的关系,才能高效率地完成各种数据库的强大功能。
4.5.3 关系的创建
关系通过匹配字段的数据来执行。建立表之间的关系,
必须满足以下条件:
( 1)相关联的字段名称不一定相同,但字段类型必须相同。
( 2)相关联的字段若为数字型,二者还必须具有相同的
“字段大小”属性设置。
( 3)特殊情况,自动编号型字段可以和数字型字段匹配,
且要求二者必须具有相同的“字段大小”属性设置。
关系的创建关键是分析表之间的内在联系。 Access数据库中表之间的关系可以根据两个表中记录的匹配情况分为三类。在创建关系之前一般应确保各表具有主关键字或惟一索引,应遵循以下原则:
( 1)“一对多”关系,要求只有一个表的相关字段是主关键字或惟一索引。
( 2)“一对一”关系,要求两个表的相关字段都是主关键字或惟一索引。
( 3)“多对多”关系,通过使用第三个表来创建,第三个表至少包括两个部分(这两部分既可以是字段,也可以是字段组),一部分来自 A表的主关键字或惟一索引字段(或字段组),另一部分来自 B表的主关键字或惟一索引字段(或字段组),如果需要还可以增加其他字段。
关于表之间的各种关系类型的介绍,可参考本书 1.3.2节内容,在此不在赘述。
【 例 4-11】 在所创建的“学籍管理数据库”中,建立其中各表之间的关系。
首先分析所创建的各个表之间的内在联系。如“学生信息表”、“学生成绩表”和“学习课程表”是所有可以借阅图书的人员清单,“借书信息表”是图书馆内已借出图书的信息,一个读者可以借阅多本图书,因此两表是一对多的关系。同理可分析出它们与“图书信息表”、“读者权限”表间的关系,如图 4-68所示。
图 4-68 图书管理数据库之间表的关系
表间的关系确定之后,按照如下步骤进行操作,开始创建关系:
( 1)关闭所有打开的表。
( 2)选择需要创建关系的表。单击工具栏中的“关系”按钮。如果该数据库还未定义过关系,系统将弹出“显示表”
对话框,如图 4-69所示。(或单击“关系”按钮后,再单击此时工具栏中“显示表”按钮)
图 4-69,显示表”对话框
在“显示表”对话框的“表”选项卡中,单击需要创建关系的表名称,再单击 【 添加 】 按钮(或双击欲创建关系的表名称),此时在“关系”窗口中将出现这些表(包含字段列表框)。选取所有表,将它们拖动到合适的地方并调整布局,并关闭“显示表”对话框,结果如图 4-70所示。
图 4-70,关系”窗口
( 3)定义关系。在“关系”窗口中,将要建立关系的字段从一个表中拖动到相关表的对应字段上。
如将“学生信息表”中的“学生 ID”字段拖动到“学生成绩表”的“学生 ID”字段上。则系统将弹出如图 4-71所示的“编辑关系”对话框一,其中列出了相关表及其相关字段的名称和关系类型。
图 4-71,编辑关系”对话框一
或者如图 4-72所示,从工具栏上选择“关系”菜单中的
“编辑关系”选项。
则系统弹出如图 4-73所示“编辑关系”对话框二。
图 4-72,关系”菜单 图 4-73,编辑关系”对话框二
单击 【 新建 】 按钮,系统弹出如图 4-74所示“新建”对话框,从对话框,左表名称”中选择“学生信息表”,并从其表的“左列名称”中所需选择字段“学生 ID”;以此方法“右表名称”选择“学生成绩表”,并从其表的“右列名称”中选择所需字段“学生 ID”。
单击 【 确定 】 按钮,出现如图 4-71所示“编辑关系”对话框。选中“实施参照完整性”复选框,则将建立两个表之间“一对多”的关系。
图 4-74,新建”对话框
如果用户想在主表的记录更改时,自动更新相关表中的记录,请选中“级联更新相关字段”复选框。
如果用户想在主表的记录被删除时,自动删除相关表中的记录,请选中“级联删除相关字段”复选框。
单击“创建”按钮,则建立了,学生信息表”和“学生成绩表”之间的关系。
重复①~⑤,依次定义各表之间的关系,结果如图 4-68
所示。
( 4)保存关系。
单击工具栏中的“保存”按钮。
4.5.4 关系的编辑
对于已建立好的关系,如果某一方面不符合需要,可以对其进行修改这些修改包括:重新选择关系两端的表及字段、
关系的选项、联结类型或新建关系。
【 例 4-12】 对“学籍管理数据库”中“学生信息表”和
“学生成绩表”进行关系的编辑。
( 1)打开所要修改的数据库,并使数据库窗口成为当前窗口。
( 2)关闭所有已打开的表,因为不能修改已打开的表之间的关系。
( 3)单击工具栏上的“关系”按钮,系统打开“关系”窗口,如图 4-68所示。
( 4)单击所要编辑的关系连线,选中时,关系线变成一条粗黑线,在选中的关系线上单击鼠标右键,弹出如图 4-75所示的“编辑关系”和“删除”两个选项。
图 4-75 编辑关系线选项
单击“编辑关系”,则系统弹出如图 4-71所示的“编辑关系”对话框,其操作如同 4.5.2中“定义关系”的
( 1)~( 5)步;如选择“删除”选项,则系统弹出如图
4-76所示警告对话框,若选择 【 是 】 按钮,系统将在“关系”窗口中删除关系联结线,表示该关系已不存在。
图 4-76 警告对话框
4.5.5 建立父子表
父子表是 Microsoft Access 2000以上版本所提供的新功能,子表就是必须参考父表中的数据,才能表示完整的数据表。
父子表的创建使用户不必建立查询,就可以通过按下,+”按钮,而在同一窗口中直接显示子表的记录,前提是两者之间的关系必须已经建立。
如图 4-68所示,“学生成绩表”和“学习课程表”是多对一关系,说明同一门课程会在“学生成绩表”中出现多条记录,通过按下,+”按钮,会得到如图 4-77所示的父子表,
其中“学习课程表”称为父表,“学生成绩表”称为子表。
按下,-”按钮,将子表折叠。
图 4-77 父子表
或者选择如图 4-78所示的菜单中的“子数据表”中的
“全部展开”命令,
图 4-78 选择,子数据表,子菜单中的,全部展开,命令
此时,显示如图 4-79所示的全部展开的父子表图 4-79 全部展开的父子表选择“子数据表”的“全部折叠”命令,即可恢复原数据表。
用同样的方法,可以嵌套子数据表。
BACK
4.6 数据库表的应用实例
【 例 4-13】 在 Microsoft Excel 中有如图 4-80所示的一个表格,现在将其导入到“学籍管理数据库”里。
图 4-80 Excel表格
( 1)打开数据库,切换到当前的“学籍管理数据库”。
( 2)单击“文件”菜单,选择“获取外部数据”中的“导入”
命令,打开如图 4-81所示“导入”对话框,从“文件类型”
中选择要导入的文件类型 Microsoft Excel,从“查找范围”
中选择要导入的“工作统计”表。
图 4-81,导入”对话
( 3)单击 【 导入 】 按钮,弹出如图 4-82所示的导入数据表向导一,在此选择合适的工作表或区域。
图 4-82,导入数据表向导”对话框一
( 4)单击 【 下一步 】 按钮,弹出如图 4-83所示的导入数据表向导二,在此确定第一行是否包含列标题。
图 4-83,导入数据表向导”对话框二
( 5)单击 【 下一步 】 按钮,弹出如图 4-84所示的导入数据表向导三,选择数据的保存位置在“新表中”。
图 4-84,导入数据表向导”对话框三
( 6)单击 【 下一步 】 按钮,弹出如图 4-85所示的导入数据表向导四,在此可以指定有关正在导入的每一字段的信息,
并可以在字段选项框内对字段信息进行必要的更改。
图 4-85,导入数据表向导”对话框四
( 7)单击 【 下一步 】 按钮,弹出如图 4-86所示的导入数据表向导五,为新表定义一个主键。
图 4-86,导入数据表向导”对话框五
( 8)单击 【 下一步 】 按钮,弹出如图 4-87所示的导入数据表向导六,为导入的表输入名称“亚洲 Asia”。
图 4-87,导入数据表向导”对话框六
( 9)单击 【 完成 】 按钮,系统弹出如图 4-88所示的导入数据表向导七,单击 【 确定 】 按钮,完成从 Microsoft Excel表导入到 Microsoft Access的过程。
图 4-88,导入数据表向导”对话框七
,亚洲 Asia”表成功导入到 Access数据库中,如图 4-89所示。
图 4-89 Access数据库中的“亚洲 Asia”表
BACK
4.7 习题
1.选择题
( 1)以下( )不是表设计器的基本组成部分。
A.字段名 B.数据类型 C.记录
D.属性
( 2)如果在数据表中数据有“¥ 100”,在表字段设计时应将其数据类型设计为( )。
A.文本型 B.数字型 C.货币型
D.日期型
2.思考题
( 1)表的作用是什么?
( 2)表的结构中包括几部分?
( 3)主键的特征是什么?
( 4)为什么要建立表间的关系?
BACK