Ms Access 简明教程
MS Access - Relating Data
在本章中,我们将了解有关关联数据的基础知识。在讨论并创建不同数据之间的关系之前,让我们回顾一下我们为什么要这样做。这一切都归结于标准化。
Normalization
数据库标准化,或简称标准化,是组织关系数据库的列(属性)和表(关系)以最大程度地减少数据冗余的过程。这是将数据拆分为多个表以提高整体性能、完整性和生命周期的过程。
-
标准化是组织数据库中的数据的过程。
-
这包括根据旨在既保护数据又通过消除冗余和不一致的依赖性使数据库更灵活的规则创建表和在这些表之间建立关系。
现在让我们看看下表,其中包含数据,但问题是这些数据相当冗余,这增加了在数据输入期间出现错别字和措辞不一致的可能性。
CustID |
Name |
Address |
Cookie |
Quantity |
Price |
Total |
1 |
Ethel Smith |
12 Main St, Arlington, VA 22201 S |
Chocolate Chip |
5 |
$2.00 |
$10.00 |
2 |
Tom Wilber |
1234 Oak Dr., Pekin, IL 61555 |
Choc Chip |
3 |
$2.00 |
$6.00 |
3 |
Ethil Smithy |
12 Main St., Arlington, VA 22201 |
Chocolate Chip |
5 |
$2.00 |
$10.00 |
为了解决此问题,我们需要重新构建我们的数据并将其分解为多个表以消除一些冗余,如下面的三张表所示。
在这里,我们有一张用于客户的表,第二张用于订单,第三张用于曲奇。
这里的问题是,仅将数据拆分为多个表并不能说明一张表中的数据如何与另一张表中的数据相关。要连接多张表中的数据,我们必须向 Orders 表中添加外键。
Defining Relationships
关系通过匹配关键列中的数据来工作,通常是两张表中具有相同名称的列。在大多数情况下,该关系将一张表的主键(为每行提供唯一标识符)与另一张表中外键中的条目匹配。表之间有三种类型的关系。创建的关系类型取决于如何定义相关列。
现在,让我们深入了解三种关系类型−
One-to-Many Relationships
一对多的关系是最常见的关系类型。在这种关系类型中,表 A 中的一行可以在表 B 中有许多匹配的行,但表 B 中的一行只能在表 A 中有一行匹配的行。
例如,“客户”表和“订单”表具有一个一对多的关系:每个客户可以下许多订单,但每个订单只能来自一个客户。