Access 2013数据库应用案例课堂
上QQ阅读APP看书,第一时间看更新

4.4 修改数据表与数据表结构

数据表是数据库最基本的组件,在创建表时,应遵循良好的设计结构。创建表完成后,随着用户对所建数据库更加深入的了解,或者用户利用模板创建的表并不是完全符合要求,可能需要对数据表进行适当修改,以确保表结构设计的合理性,便于数据表的维护,使数据库达到最优状态。

4.4.1 利用设计视图更改表的结构

利用【设计视图】对数据表的结构进行修改,这是最基本的操作。例如前面创建的“水果信息”表,其中的某些字段可能是多余的,或者某些字段的属性需要修改,这都可以在【设计视图】界面中进行操作。下面通过在“水果信息”表中删除“价格”字段来详细介绍如何利用设计视图更改表结构。具体操作步骤如下。

step 01 启动Access 2013,打开“应用”数据库,进入“表1”的【设计视图】界面。用户可进行添加、修改和删除字段等操作,也可以修改字段的属性,如图4-50所示。

图4-50 【设计视图】界面

step 02 将光标定位在“价格”字段的行首,右击,在弹出的快捷菜单中包括【主键】、【剪切】、【复制】等命令,如图4-51所示。

图4-51 快捷菜单

step 03 选择【删除行】命令,即可删除“价格”字段,如图4-52所示。

图4-52 删除“价格”字段

提示

若选择【插入行】命令,可在“供应商”和“价格”字段之间添加一个新的字段。

4.4.2 利用数据表视图更改表的结构

在【数据表视图】界面中,同样可以进行添加、修改和删除字段等操作,从而更改表的结构。关于如何添加字段,前面小节已经介绍。下面通过在“水果信息”表中删除“供应商”字段来详细介绍如何利用数据表视图更改表结构。具体操作步骤如下。

step 01 启动Access 2013,打开“应用”数据库,进入“水果信息”表的【数据表视图】界面。

step 02 选中“供应商”字段,然后切换到【字段】选项卡,单击【添加和删除】组中的【删除】按钮,即可删除该字段,如图4-53所示。

图4-53 单击【删除】按钮

step 03 选中字段后右击,在弹出的快捷菜单中选择【删除字段】命令,也可以删除该字段,如图4-54所示。

图4-54 选择【删除字段】命令

提示

若选择【插入字段】命令,可添加一个新字段。若选择【重命名字段】命令,可对字段名称重命名。

4.4.3 数据的有效性

为了避免用户输入错误的数据,可以给数据增加有效性规则,其目的是让数据符合一定的规则,假如不符合规则,数据就无法录入,从而确保数据库用户输入正确的数据类型或数据。

Access提供了3层有效性验证的方法。

(1)数据类型验证。数据类型通常提供第一层验证。在设计数据库表时,为表中的每个字段定义了一个数据类型,该数据类型限制用户可以输入哪些内容。例如,日期/时间字段只接受日期和时间,货币字段只接受货币数据,以此类推。

(2)字段大小验证。字段大小提供了第二层验证。例如,如果创建存储名字的字段,可以将其设置为最多接受20个字符。这样做可以防止用户恶意地向字段中粘贴大量的无用文本,也可以防止缺少经验的用户在存储名字的字段中错误地输入名字和姓氏。

(3)属性验证。表属性提供了第三层验证。它提供了非常具体的几类验证。例如:

① 可以将【必需】属性设置为【是】,强制用户在字段中输入值。

② 使用【验证规则】属性要求输入特定的值,并使用【验证文本】属性来提醒用户存在错误。

③ 输入掩码验证。使用输入掩码可以强制用户以特定方式输入值,从而验证数据。例如,一个输入掩码强制用户以欧洲格式输入日期,如2015.04.14。

以上第一层和第二层验证方法在之前章节中已经简单地介绍过,下面详细介绍第三层验证方法中第②项和第③项方法的使用。

1. 使用【验证规则】属性验证

验证规则是一个逻辑表达式,设置这一属性后,验证规则将根据表达式的逻辑值确认输入数据的有效性。验证文本通常是一句有完整语句的提示句子,它往往与验证规则配合使用。

当输入数据时,验证规则首先对输入的数据进行检查,当数据无效时便弹出提示对话框。下面给“水果销售”表的“日期”字段设置【验证规则】属性,当用户在输入日期时,不能输入将来的日期,具体操作步骤如下。

step 01 启动Access 2013,打开“应用”数据库,进入“水果销售”表的【设计视图】界面。

step 02 将光标定位于“日期”字段的行首,选中该字段。在下方的字段属性列表框中可查看“日期”字段的属性,如图4-55所示。

图4-55 选中“日期”字段

step 03 切换到【常规】选项卡,在【验证规则】文本框中输入表达式“<Date()”,限定输入的日期必须是已存在的日期。在【验证文本】文本框中输入“输入错误,不能输入将来的日期,请重新输入”,如图4-56所示。

图4-56 设置【验证规则】和【验证文本】属性

step 04 以上即完成对“日期”字段设置【验证规则】属性的操作。单击【保存】按钮,保存该表。然后切换到【开始】选项卡,单击【视图】组中的【视图】按钮下方的下拉按钮,在弹出的下拉列表中选择【数据表视图】选项,将切换到“水果销售”表的【数据表视图】界面,如图4-57所示。

图4-57 选择【数据表视图】选项

step 05 当在“日期”字段中输入将来的日期时,会弹出Microsoft Access对话框,提示输入错误,即限制用户只能输入当前已存在的日期,如图4-58所示。

图4-58 Microsoft Access对话框

只要掌握了验证规则的表达式,用户就可轻松地使用【验证规则】属性来验证数据的有效性。常用的验证规则表达式如表4-2所示。

表4-2 Access 2013中常见的验证规则表达式

验证规则的表达式虽然不使用任何特殊的语法,但是用户在创建表达式时,仍然必须牢记以下原则。

●将字段的名称用方括号括起来。例如[结束日期]>=[开始日期],结束日期和开始日期都是字段的名称。

●日期用井号(#)括起来。例如<#01/01/2015#。

●将字符串值用双引号括起来。例如"[A-Z]*@[A-Z].com"。

●使用逗号来分隔项目,并将列表放在圆括号内。例如IN ("东京","巴黎","莫斯科")。

表4-3列出了验证规则表达式中常用的算术运算符,并提供了使用方法示例。

表4-3 表达式中常见的算术运算符

2. 输入掩码验证

当有多个用户向数据库中输入数据时,输入掩码可以用来定义必须在字段中输入数据的特定格式,以帮助保持一致性,并使数据库更易于管理。

输入掩码由一个必需部分和两个可选部分组成,每个部分用分号分隔。每个部分的用途如下所示。

●第一部分是必需的。它包括掩码字符或字符串(字符系列)和字面数据(例如括号、句点和连字符)。

●第二部分是可选的,指嵌入式掩码字符和它们在字段中的存储方式。如果第二部分设置为0,则这些字符与数据存储在一起;如果设置为1,则仅显示而不存储这些字符。将第二部分设置为1可以节省数据库存储空间。

●第三部分也是可选的,指明用作占位符的单个字符或空格。默认情况下,Access使用下划线(_)。如果希望使用其他字符,请在掩码的第三部分中输入。

下面给“水果销售”表的“日期”字段添加掩码,具体操作步骤如下。

step 01 启动Access 2013,打开“应用”数据库,进入“水果销售”表的【设计视图】界面。

step 02 选中“日期”字段,在字段属性列表框中单击【输入掩码】右侧的省略号按钮,如图4-59所示。

图4-59 单击【输入掩码】选项右侧的省略号按钮

step 03 弹出【输入掩码向导】对话框,在【输入掩码】列表框中显示出系统提供的掩码类型。选择【短日期】选项,然后单击【下一步】按钮,如图4-60所示。

图4-60 【输入掩码向导】对话框

step 04 弹出确定是否更改输入掩码的对话框,保持默认设置不变,单击【完成】按钮,如图4-61所示。

图4-61 确定是否更改输入掩码对话框

step 05 此时“日期”字段输入掩码设置为0000/99/99;0;_。该掩码使用了两个占位符字符9和0。9指示可选位,而0指示强制位。第二部分中的0指示掩码字符将与数据一起存储。第三部分指定使用连字符(-)而不是下划线(_)用作占位符字符,如图4-62所示。

图4-62 设置【输入掩码】属性

step 06 单击【保存】按钮,然后切换到【数据表视图】界面,当向“日期”字段添加数据时,系统将限制需按照特定的格式进行输入,如图4-63所示。

图4-63 【数据表视图】界面

提示

在Access 2013中只能为短文本和日期/时间这两个数据类型的字段设置输入掩码验证。

4.4.4 主键的设置、更改与删除

主键是表中的一个字段或字段集,用来唯一标识该表中存储的每条记录。每个表中都应该有一个主键,通过主键字段可以将多个表中的数据迅速关联起来,以一种有意义的方式将这些数据组合在一起。主键包括单字段主键和多字段联合主键。其中,多字段联合主键是将几个字段组合起来作为主键。

主键能够保证表中的记录被唯一地识别。例如,在一所大规模的公司,为了更好地管理客户,需要建立一个客户表,包括客户的公司名称、公司地址、姓名、邮箱等信息,但是姓名可能重名,电话可能会改变,如何能够在表中快速查找到该客户的信息呢?此时就需要给每个客户赋予一个客户ID,它是唯一且不可改变的,通过客户ID可以快速查找客户信息。

下面就以“客户”表为例,介绍如何设置、更改和删除主键。

设置主键的具体操作步骤如下。

step 01 打开“应用”数据库,使用表设计器新建一个空白表,命名为“客户”表,并在表中添加字段:客户ID、客户姓名、联系电话等,如图4-64所示。

图4-64 “客户”表

step 02 选中“客户ID”字段,然后切换到【设计】选项卡,单击【工具】组中的【主键】按钮,如图4-65所示。

图4-65 单击【主键】按钮

提示

若要选择多个字段作为主键,则按住Ctrl键,单击每个字段的行首以选中多个字段。

step 03 此时“客户ID”字段的行首出现图标,表示已设置该字段为主键,如图4-66所示。

图4-66 设置“客户ID”字段为主键

提示

将光标定位于“客户ID”字段行中,右击,在弹出的快捷菜单中选择【主键】命令,也可以设置该字段为主键,如图4-67所示。

图4-67 选择【主键】命令

使用以上两种方法均可设置主键,那么用户该如何删除主键呢?它的方法和设置主键的方法是相同的。具体有以下两种操作方法。

●选中“客户ID”字段,然后切换到【设计】选项卡,单击【工具】组中的【主键】按钮,即可删除主键,如图4-68所示。

图4-68 删除主键

●将光标定位于“客户ID”字段行中,右击,在弹出的快捷菜单中选择【主键】命令,也可以删除主键,如图4-69所示。

图4-69 选择【主键】命令

在删除主键之前,必须确保它没有参与任何表关系。如果要删除的主键与某个表建立了表关系,删除时Access会提示必须先删除表关系。而如果用户想要更改主键,则直接删除现有的主键,重新设置新的主键即可。

提示

若不设置主键,保存表对象时,系统会弹出Microsoft Access对话框,提示用户尚未定义主键。如果单击【是】按钮,Access会创建一个“自动编号”数据类型的ID字段,为每条记录提供一个唯一值。