第二 章
本章学 习目标:
◆ 理解零售商店管理信息系统(GrocerMIS)数据表结构设计参数
◆ 掌握新建 Access 2003 数据表对象的两种操作方法
◆ 掌握 Access 2003 数据表设计视图应用,设计完成 GrocerMIS 中的各个数据表 对象
◆ 理解 Access 2003 数据表各项属性的含义
◆ 掌握 Access 2003 数据表各项属性值的设计操作方法
◆ 完成“零售商店管理信息系统”的 6 个数据表对象设计
本章教 学目的
作为 Access 2003 数据库应用系统设计的第二步工作,应该在数据库中逐一创建相应的
数据表对象,并建立各数据表对象之间的关系。这就是本章准备讲解的 Access 2003 数据表
对象设计。
2.1 零售商店管理信息系统数据表结构设计
2.1.1 基础数据记录表结构设计
2.1.2 基础数据记录表间关系设计
2.1.3 辅助数据记录表结构设计
小数位数
索引
操作界面上将提供下拉式菜单供操作者从中选取供货商名称,被选中的供货商名称将自动
填入库存数据记录表的供货商字段中,从而避免键盘输入汉字的弊端。
字段名称 供货商 供货人
数据类型 文本 文本
字段大小 20 位 8位
小数位数
索引
2.收货人员名单表结构设计
收货人员名单表,用以存储商店经理们的姓名。在进行商品进货操作时,操作界面上将
提供下拉式菜单供操作者从中选取收货人姓名,被选中的收货人姓名将自动填入库存数据
记录表的收货人字段中。在进行商品上柜操作时,操作界面上将提供下拉式菜单供操作者从
中选取上柜人姓名,被选中的上柜人姓名将自动填入柜存数据记录表的上柜人字段中。同样
避免了键盘输入汉字的弊端。
字段名称 收货人名
数据类型 文本
字段大小 8位
小数位数
索引 主键
3.售货人员名单表结构设计
售货人员名单表,用以存储营业员们的姓名。在进行商品销售操作时,操作界面上将提
供下拉式菜单供操作者从中选取售货人员姓名,被选中的售货人员姓名将自动填入销售数
据记录表的售货人员字段中,从而避免键盘输入汉字的弊端。
字段名称 收货人名
数据类型 文本
字段大小 8位
小数位数
索引 主键
Access 教案—崔学峰
2.2.1 创建新的数据表对象
2.2.2 在设计视图中设计表对象
2.2.3 在数据表视图中创建表对象
2.2.4 在设计视图中修改表对象的结构
2.2.5 理解字段的主要属性
计视图,如图所示。
Access 教案—崔学峰
完成表结构设计操作后,单击设计视图窗口右上角的“关闭”按钮“ ”,即弹出询问
是否保存的对话框,如图所示。
在“是否保存”的对话框中,单击“是”按钮“ ”,即弹出“另存为
”对话框。此时,需输入新建表的名称。为了创建“库存数据记录”表对象,必须输入表名
称如图所示,然后,单击“确定”按钮“ ”,即完成了“库存
Access 教案—崔学峰
数据记录”表对象的创建设计操作。
对于任意一个数据表对象,Access 一般都要求定义唯一的一个主关键字段。根据关系数
据库的基本概念,这是必要的。主关键字段的含义是,在一个数据表中不允许任两条记录的
主关键字段值相同。若未定义主关键字段,则在退出表结构设计并要求保存本次设计操作时,
Access 2003 会询问并在得到认可的情况下自行增加一个取名为 ID 的、数据类型为“长整型
”的自动编号字段。在本例的“库存数据记录”数据表中,需要设定“货号”字段为主关键
字。如图 2-3 所示,在作为主关键字的“货号”字段左部标记列上标记着一个“钥匙”图标
“ ”,这就表明将“货号”字段设置成为主关键字了。
2.2.3 在数据 表视图中 创建表对 象
在“新建表”对话框中,如果选择“数据表视图”,并单击“确定”按钮“
”,即进入创建新表的数据表视图,如图所示。
在数据表视图中创建表结构的方法是,直接在数据表视图中输入数据。输入了多少列的
数据,所创建的表就有多少个字段,各字段名称分别为“字段 1”、“字段 2”等等;各字段
的数据类型则由 Access 根据所输入的数据做出判断。
2.2.4 在设计 视图中修 改表对象 的结构
为了修改数据表对象的结构,应该在数据库设计视图中选中需修改结构的表对象,然后单
击工具栏上的“设计”按钮“ ”,即进入数据表设计视图。例如,在数据
库 设计 视图 中选 中“ 柜存 数据 记录 ”数 据表 对象 ,单 击工 具栏 上的 “设 计” 按钮 “
”,即进入“柜存数据记录”表设计视图,如图所示。
Access 教案—崔学峰
Access 教案—崔学峰
是/否 这 种 类 型 只 包 含 两 种 值 中 的 一 种 , 例 如 1 位。
Yes/No、True/False、On/Off。
OLE 对象 在其他使用 OLE 协议程序创建的对象(例最大可为 1 GB (受磁盘空
如 Microsoft Word 文档、Microsoft Excel 电间限制)。
子表格、图象、声音或其他二进制数据),可
以将这些对象链接或嵌入 Microsoft Access
表中。必须在窗体或报表中使用结合对象框
来显示 OLE 对象。
超级链接 保存超级链接的字段。超级链接可以是某个最长为 64,000 个字符。
UNC 路径或 URL。
查阅向导 创建字段,该字段将允许使用组合框来选择通常为 4 个字节。
另一个表或一个列表中的值。从数据类型列
表中选择此选项,将打开向导以进行定义。
2.字段的常 规属性
♦ 在 Access 2003 表对象中,一个字段的属性是这个字段特征值的集合,该特征值集
合将控制字段的工作方式和表现形式。
♦ 字段属性可分为常规属性和查阅属性两类。其中,字段常规属性如图 2-3 和图-10 所
示。以下分别介绍各个常规属性的含义。
♦ 在这些常规属性中,“字段大小”属性、“格式”属性和“索引”属性是三个最基
本的属性,也是最常用的属性。
(1)字段大小
♦ 只有当字段数据类型设置为“文本”或“数字”时,这个字段的“字段大小”属性
才是可设置的,其可设置的值将随着该字段数据类型的不同设定而不同。当设定字
段类型为文本型时,字段大小的可设置值为 1-255,表示该字段最多可容纳的字符
个数最少为 1 个字符,最多为 255 个字符。当设定字段类型为数字型时,字段大小
的可设置值如表 2-9 所列。
数字型 字段大小 的属性取 值
可设置值 说明 小数位数 存储量大小
(3)输入法模式
♦ “输入法模式”属性仅针对文本数据类型的字段有效,可有三个设置值:“随意”、
“输入法开启”与“输入法关闭”,分别表示保持原汉字输入法状态、启动汉字输
入法和关闭汉字输入法。“输入法模式”属性的默认值为“输入法开启”。
(4)输入掩码
♦ 使用“输入掩码”属性,可以使数据输入更容易,并且可以控制用户在文本框类型
的控件中的输入值。例如,可以为“电话号码”字段创建一个输入掩码,以便向用
户显示如何准确地输入新号码,如:(010) 027-83956230 等。通常使用“输入掩码向
导”帮助完成设置该属性的工作。
5
( )标题
♦ “标题”属性值将取代字段名称在显示表中数据时的位置。即在显示表中数据时,表
列的栏目名将是“标题”属性值,而不是“字段名称”值。
(6)默认值
♦ 在表中新增加一个记录,并尚未填入数据时,如果希望 Access 自动为某字段填入
一个特定的数据,则应为该字段设定“默认值”属性值。此处设置的默认值将成为
新增记录中 Access 2003 为该字段自动填入的值。一般可用“向导”帮助完成该属性
的设置。
(7)有效性规则
♦ “有效性规则”属性用于指定对输入到记录中本字段中数据的要求。当输入的数据违
反了“有效性规则”的设置时,将给用户显示“有效性文本”设置的提示信息。可
用“向导”帮助完成设置。
(8)有效性文本
♦ 当输入的数据违反了“有效性规则”的设定值时,“有效性文本”属性值将是显示
给操作者的提示信息。
(9)必填字段
♦ “必填字段”属性取值仅有“是”和“否”两项。当取值为“是”时,表示必须填写
本字段,即不允许本字段数据为空。当取值为“否”时,表示可以不必填写本字段
数据,即允许本字段数据为空。
(10)允许空字符串
♦ 该属性仅对指定为“文本”型的字段有效,其属性取值仅有“是”和“否”两项。
当取值为“是”时,表示本字段中可以不填写任何字符。
(11)索引
♦ 本属性可以用于设置单一字段索引。索引可加速对索引字段的查询,还能加速排序
Access 教案—崔学峰
及分组操作。本属性可有以下取值:“无”,表示本字段无索引;“有(有重复)
”,表示本字段有索引,且各记录中的数据可以重复;“有(无重复)”,表示本
字段有索引,且各记录中的数据不允许重复。
3.索引的意义及其选择
♦ 索引可加速对索引字段的查询,还能加速排序及分组操作,因此是一个非常重要的
属性选项。Access 2003 提供两种形式的索引。
♦ (1)字段索引
♦ 专指针对单个字段的索引,其设置方法及其取值操作可在表设计视图的字段常规属
性栏中进行。即通过设定需检索引字段的“索引”属性值,来实现字段索引的建立。
♦ (2)组合索引
♦ 在需要将若干个字段组合在一起建立索引时,就必须使用组合索引了。在表设计视
图中,单击工具栏上的“索引”工具按钮“ ”,即出现“索引”对话框如图
所示。
“索引”对话 框
在“索引对话框”中建立一个组合索引的操作方法是:在“索引名称”列中,输入所
需要的索引名称;在“字段名称”列中,通过下拉式列表框选择所建立的组合索引中的各
个字段;在“排序次序”列中,选定排序次序。
在表设计视 图中利用 快捷菜单 指定排序 列
Access 教案—崔学峰
组合索 引的作用
4.字段的查 阅属性设 计
♦ 在表设计视图中,通过单击“字段属性”节中的“查阅”选项卡,可以对表中各字
段设置其查阅属性。在“查阅属性”选项卡上,显示有各个属性行以便设置各个属
性取值,如图所示
Access 教案—崔学峰
2.3.1 一对一 关联
一对一关联是指两个数据表对象中的各条记录之间存在这样一种对应的关系,只有当
两个数据表中某一条记录的联接关键字段值相等时,两个数据表中的这一条记录才能联接
成为关联数据表中的一条记录。一对一关联要求两个关联数据表中的联接关键字段分别是这
两个数据表的主关键字段。
可以 GrocerMIS 为例讨论关联的意义。在“库存数据记录”表中,“货号”字段中的数
据必须互不相同,用以表示不同的商品。只有在“库存数据记录”表中存在的商品才可以通
过“商品上柜数据录入”操作,使其添加到“柜存数据记录”表中,且在“柜存数据记录
”表中的同一商品的货号必须与“库存数据记录”表中的货号相同,如此方能保证各种查
询和统计数据的正确性。这就表示“库存数据记录”表中的记录与“柜存数据记录”表中的
记录必须是一对一的关联,且“库存数据记录”表称为主表,“柜存数据记录”表称为从
表,而两个数据表间的联接关键字是“货号”字段。
2.3.2 一对多 关联
一对多关联不同于一对一关联,它不要求两个关联数据表中的联接关键字段分别是这
两个数据表的主关键字段,这意味着联接关键字段值相等的记录可能不只一条。如此一来,
一对多关联就存在两种不同的形式。第一种一对多关联形式为,取主表中的所有记录,并逐
一从从表中选取那些与主表中联接关键字段值相等的记录,联接形成关联数据表中的一条
记录。第二种一对多关联形式为,取从表中的所有记录,并逐一从主表中选取那些与从表中
联接关键字段值相等的记录,联接形成关联数据表中的一条记录。
2.3.2 一对多 关联
可以 GrocerMIS 为例讨论第一种一对多关联的形式。在“柜存数据记录”表和“销售数
据记录”表之间存在着一对多的关联,“柜存数据记录”表中记录的商品可以分多次售出。
因此,在“柜存数据记录”表中同一商品将在“销售数据记录”表中被记录多次。这就表示
“柜存数据记录”表中的记录与“销售数据记录”表中的记录实际是一对多的关联,且“
柜存数据记录”表是主表,“销售数据记录”表是从表,两个数据表间的联接关键字是“
货号”字段。在以此形成的关联数据表中,一些“柜存数据记录”表中的记录将重复记录几
次,重复记录的次数取决于一件商品的销售次数。
2.3.3 子数据 表
♦ Access 2003 数据表对象支持子数据表。所谓子数据表,是指在一个数据表视图中显
示已与其建立关联的数据表视图。
♦ 在建有关联的主数据表视图上,每一条记录左端均有一个关联标记“□”。在未显
示子数据表时,关联标记“□”内为一个“ +”号,此时单击某以记录的关联标记“
□”,即可显示该记录对应的子数据表记录数据,而该记录左端的关联标记“□”
内成为一个“-”号。
♦ 若需展开所有记录的子数据表数据,可以在数据库设计视图的菜单栏上单击【格式】
|
【子数据表】|
【全部展开 】。若需将所有展开的子数据表折叠,可以在数据库设计视 图
的菜单栏上单击【格式】|【子数据表】|【全部折叠】 。
2.3.3 子数据表
Access 教案—崔学峰
2.设定各个表对象间的关联
♦ 在“关系设计视图”窗口(如图所示)中,可以为显示在其中的各表对象设定关联 。
用鼠标指向主表中的关联字段,按住鼠标左键将其拖曳至从表的关联字段上放开,
就会弹出“编辑关系”对话框,如图所示。
♦ 为了建立“库存数据记录”表中“货号”字段与“柜存数据记录”表中“货号”字
段之间的联接关系,应从“库存数据记录”表中的“货号”字段,按住鼠标左键将
Access 教案—崔学峰
鼠标拖曳至“柜存数据记录”表中的“货号”字段上放开。随之弹出的“库存数据
记录”表与“柜存数据记录”表间的“编辑关系”对话框如图所示。
“编辑关系” 对话框
4.选择关联类型
♦ 在 “编辑关系”对话框中,单击“联接类型”按钮“”,即可弹出“联接属性”
对话框,如图所示。从图中可见,Access 2003 数据库支持三种不同类型的关联属性。
♦ 三种不同类型联接属性:只包含来自两个表的联接字段相等处的行,包含所有“主
表”的记录和那些联接字段相等的“从表”的记录,包括所有“从表”的记录和那
些联接字段相等的“主表”的记录。应该根据实际需要从中选定一种联接属性类型。
对于 GrocerMIS 实例,应该选择“只包含来自两个表的联接字段相等处的行” 。
Access 教案—崔学峰
2.4 数据表对象的复制、删除与更名
Access 2003 数据表是属于 Access 2003 数据库中的基本对象,如同 Windows 操作系统
的文件是其中的对象一样,可以对其实施相应的对象操作。这些操作主要包含:复制、删除
和更名。
2.4.1 表的复制操作
2.4.2 删除表操作
2.4.3 表的更名操作
1.在同一个数据库中复制表的操作
打开一个 Access 2003 数据库,在数据库设计视图中,选中准备复制的表对象,如此即
设定了复制源。接着,单击常用工具栏上的复制按钮;然后,单击常用工具栏上的粘贴按钮,
即会弹出“粘贴表方式”对话框。例如,打开上 2 节设计完成的 GrocerMIS 数据库,在
GrocerMIS 数据库设计视图选定数据表对象“库存数据记录”。接着,单击常用工具栏上的
复制按钮“”;然后,单击常用工具栏上的粘贴按钮“”。即会弹出“粘贴表方式”对话框。
2.从一个数据库中复制表到另一个数据库中的操作
如果需要将另外一个 Access 数据库中的数据表对象复制到本数据库中来,可以这样完
成操作。
♦ 打开准备复制的表对象所在的数据库,在该数据库设计视图中,选中准备复制的表
对象,单击常用工具栏上的复制按钮,然后关闭这个数据库。再打开准备接收复制
Access 教案—崔学峰
表的数据库,在这个数据库设计视图中,单击常用工具栏上的粘贴按钮,也同样弹
出“粘贴表方式”对话框如图 2-21 所示,接下来的操作如同 1 中所述。
♦ 那么,如果需要将一个非 Access 数据库中的数据表对象导入成为到一个 Access
2003 数据库中的数据表对象,还可以通过复制操作来进行吗?当然不行,我们将
会在下一章介绍外部数据的导入方法。
3.何时需要进行复制表的操作
♦ 可以联想一下,将一份 Word 文档从一个文件夹中复制到另一个文件夹中,是为了
什么呢?为了多保存一个备份,当然是一个重要的原因。可能还有这么一种原因,
通过修改复制的文档,可以很快地获得一份新的文档。
♦ 接下来就可以回答为何需要进行复制表的操作了,一般可以有以下三种情况。
1
( )需要将一个结构相同的数据表中的数据全部追加到另一个数据表中
这两个数据表可以在同一个数据库中,也可以存在于两个不同的数据库中。此时,在“粘贴
表方式”对话框中应选择“追加数据到已有的表”。
(2)需要将外部数据库中的一个表导入本数据库而成为本数据库中的一个表对象
此时,在“粘贴表方式”对话框中也应选择“追加数据到已有的表”。
(3)当需要在本数据库中创建一个新表,且该表结构与某一个表结构相似时
可以复制那个具有相似结构的表结构形成一个新表,然后再来修改这个新表的结构,从而
减轻创建新表的操作工作量。
2.4.2 删除表 操作
在发现数据库中存在多余的数据表对象时,可以删除它们。在数据库设计视图中的操作
过程可以是:在数据库设计视图的“表”对象选项卡上,选中需要删除的表对象(用鼠标
单击),按下键盘上的“ Del”键;也可以用鼠标右键单击需要删除的表对象,在随之出现
的快捷菜单中单击【删除】 。
例如,我们可以在 GrocerMIS 数据库中删除刚刚复制的“库存数据记录表对复制示例
”数据表对象。进入 GrocerMIS 数据库设计视图,选中“库存数据记录表对复制示例”数据
表对象,按下键盘上的“Del”键。随之,弹出 Access 提示对话框如图所示。最后,单击对话
框中的“是”按钮,即完成了删除“库存数据记录表对复制示例”数据表对象的操作。
2.5GrocerMIS 数据库其他数据表对象设计
通过上述几节的学习,完成了“库存数据记录”和“柜存数据记录”两个数据表对象
的设计。根据 2.1 节的分析,还应该创建并设计完成另外 4 个数据表对象:“销售数据记录
”表、“供货商名单”表、“收货人员名单”表和“售货人员名单”表。
2.5.1 “销售数据记录”表对象设计
2.5.2 辅助数据表对象设计
2.进入“销售数据记录”表设计视图修改相关属性
♦ 完成复制操作后,在数据库设计视图中可以看到“销售数据记录”表对象。但是,
这时的“销售数据记录”表结构还不是所需要的结构。因此,必须进入“销售数据
记录”表设计视图,修改各项属性。
♦ 进入 GrocerMIS 数据库设计视图,在表选项卡上选定“销售数据记录”表对象,单
击工具栏上的“设计”按钮“”,即进入“销售数据记录”表设计视图。此时,可
以看到的各项属性值还是“库存数据记录”表结构的属性值,如图 2-24 所示。
具有初步属 性值的“ 销售数据 记录”表 结构
2.“收货人员名单”表对象设计
“收货人员名单”表对象仅由 1 个字段:“收货人员”字段,且为主关键字字段。可以
直接进入表设计视图创建“收货人员名单”表对象,如图所示。
3.“售货人员名单”表对象设计
“售货人员名单”表对象仅由 1 个字段:“售货人员”字段,且为主关键字字段。可以直
接进入表设计视图创建“售货人员名单”表对象,如图所示。
Access 教案—崔学峰