表是数据库中的基本对象,因为它们保存所有信息或数据。 例如,企业的数据库可以具有一个“联系人”表,用于存储供应商的名称、电子邮件地址和电话号码。 因为其他 数据库对象 很大程度上依赖于表,因此应始终通过创建数据库的所有表,再创建任何其他对象的方式开始你的数据库设计。 在 Access 中创建表之前,请考虑要求并确定可能需要的所有表。 有关规划和设计数据库的介绍,请参阅数据库设计基础。
本文内容
概述
关系数据库(如 Access)通常具有多个相关表。 在设计良好的数据库中,每个表存储有关特定主题的数据,例如员工或产品。 表具有记录(行)和字段(列)。 字段具有不同类型的数据,例如文本、数字、日期和超链接。
-
记录:包含特定数据,例如有关特定员工或产品的信息。
-
域:包含有关表主题的一个方面(例如名字或电子邮件地址)的数据。
-
字段值:每条记录都有字段值。 例如,Contoso, Ltd. 或 someone@example.com。
表和字段属性
表和字段也包含可设置用于控制其特征或行为的属性。
1.表属性
2.字段属性
在 Access 数据库中,表属性是会对整个表的外观或行为产生影响的属性。 在表的属性表的“设计”视图中设置表属性。 例如,可设置表的“默认视图”属性,指定默认情况下表的显示方式。
一个字段属性适用于表中的一个特定字段,并可定义一个字段特征或字段行为的一个方面。 在 数据表视图 中设置某些字段属性。 也可以使用“</c0>字段属性</c0>”窗格,在“设计”视图中设置任何字段属性。
数据类型
每个字段均具有一个数据类型。 字段的数据类型指示该字段存储的数据类型,如大量文本或附加文件。
数据类型是字段属性,但它不同于其他字段属性,如下所述:
-
在表设计网格而非“字段属性”窗格中设置字段的数据类型。
-
字段的数据类型决定字段具有哪些其他属性。
-
创建字段时必须设置字段的数据类型。
在 Access 中,可以通过在数据表视图中的新列中输入数据来创建新字段。 通过在数据表视图中输入数据来创建字段时,Access 会自动根据输入的值为字段分配数据类型。 如果你的输入没有暗示任何其他数据类型,则 Access 会将数据类型设置为“文本”。 若需要,可使用功能区更改数据类型。
自动数据类型检测示例
下表显示自动数据类型检测如何在数据表视图中工作。
|
表关系
虽然每个表存储不同主题的数据,但 Access 数据库中的表通常存储彼此相关的主题数据。 例如,数据库可能包含:
-
客户表,列出公司的客户及其地址。
-
产品表,列出所售产品,包括每个产品的价格和图片。
-
订单表,跟踪客户订单。
由于不同主题的数据存储在单独的表中,因此需采用某种方法将数据绑定在一起,这样便可轻松合并这些单独表中相关的数据。 若要连接存储在不同表中的数据,可创建关系。 关系是两个表之间的逻辑连接,用于指定两个表中的相同字段。 有关详细信息,请参阅表关系指南。
键
属于表关系的一部分的字段称为键。 键通常包含一个字段,但也可能包含多个字段。 有两种类型的键:
-
主键 每个表只能有一个主键。 主键包含唯一标识表中存储的每条记录的一个或多个字段。 通常存在一个唯一标识编号,如 ID 号、序列号或充当主键的代码。 例如,你可能有一个“客户”表,其中每位客户具有唯一的客户 ID 编号。 客户 ID 字段是“客户”表的主键。 当主键包含多个字段时,它通常由预先存在的字段组成,而这些字段一起提供唯一值。 例如,你可能会使用姓氏、名字和出生日期一起作为与人员相关的表的主键。 有关详细信息,请参阅添加或更改表的主键。
-
外键 表可以有一个或多个外键。 外键包含的值对应于其他表的主键中的值。 例如,您可能有一个“订单”表,其中每个订单都有一个对应于“客户”表中的记录的客户 ID 号。 “客户 ID”字段即为“订单”表的外键。
键字段之间的值的对应关系构成表关系的基础。 使用表关系来组合相关表中的数据。 例如,假定您有一个“客户”表和一个“订单”表。 在您的“客户”表中,每条记录由主键字段 ID 标识。
若要使每个订单与客户关联,可以向“订单”表中添加对应于“客户”表的 ID 字段的外键字段,然后在两个键之间创建关系。 在向“订单”表中添加记录时,对客户 ID 使用来自“客户”表的值。 每当您希望查看有关订单客户的任何信息时,都可以使用关系来识别“客户”表中的哪些数据对应于“订单”表中的哪些记录。
1. 主键,由字段名称旁边的“钥匙”图标标识。
2. 外键 - 注意没有键图标。
如果预期表中所述的每个唯一实体可能需要多个字段值,请勿添加字段。 对于上例,如果希望开始跟踪客户下达的订单,则请不要向表中添加字段,因为每位客户会有多个订单。 而应创建新表来存储订单,然后创建两个表之间的关系。
使用关系的好处
按相关表分隔数据具有以下好处:
-
一致性 因为每项数据只在一个表中记录一次,所以可减少出现模棱两可或不一致情况的可能性。 例如,您在有关客户的表中只存储一次客户的名字,而非在包含订单数据的表中重复(且可能不一致地)存储它。
-
提高效率 只在一个位置记录数据意味着使用的磁盘空间更少。 另外,与较大的表相比,较小的表往往更快地提供数据。 最后,如果不对单独的主题使用单独的表,则会向表中引入空值(不存在数据)和冗余,这两者都会浪费空间和影响性能。
-
易于理解 如果按表正确分隔主题,则数据库的设计更易于理解。
规划表时要考虑到关系。 如果包含相应主键的表已存在,可使用查阅向导创建外键字段。 查阅向导会为你创建关系。 有关更多信息,请参阅创建或删除查阅字段。