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