举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > ms access MS Access相关数据

ms access MS Access相关数据

2023-05-16 17:18 MSAccess教程

ms access MS Access相关数据

ms access MS Access相关数据

ms access

在本章中,我们将了解相关数据的基础知识。在讨论和创建不同数据之间的关系之前,让我们来回顾一下为什么我们需要它。这一切都回归正常化。

正常化

数据库规范化或简单规范化是组织关系数据库的列(属性)和表(关系)以最小化数据冗余的过程。它是跨多个表分割数据以提高整体性能,完整性和寿命的过程。

  • 规范化是在数据库中组织数据的过程。

  • 这包括根据设计的规则创建表并在这些表之间建立关系,以保护数据并通过消除冗余和不一致的依赖性使数据库更加灵活。

现在让我们看看包含数据的下表,但问题是这个数据是相当冗余的,这增加了在数据输入期间打字和不一致短语的机会。

CustIDNameAddressCookieQuantityPriceTotal
1Ethel Smith12 Main St, Arlington, VA 22201 SChocolate Chip5$ 2.00$ 10.00
2Tom Wilber1234 Oak Dr., Pekin, IL 61555Choc Chip3$ 2.00$ 6.00
3Ethil Smithy12 Main St., Arlington, VA 22201Chocolate Chip5$ 2.00$ 10.00

为了解决这个问题,我们需要重构我们的数据并将其分解成多个表,以消除一些冗余,如下面三个表所示。

Three Tables

这里,我们有一个Customers表,第二个是Orders表,第三个是Cookies表。

这里的问题是,只是通过拆分多个表中的数据将无助于告诉一个表中的数据如何与另一个表中的数据相关。要在多个表中连接数据,我们必须向Orders表添加外键。

定义关系

关系通过匹配键列中的数据(通常是两个表中具有相同名称的列)来工作。在大多数情况下,关系与来自一个表的主键匹配,该表为每个行提供唯一标识符,在另一个表中的外键中具有条目。这里有三种类型的表之间的关系。创建的关系类型取决于如何定义相关列。

现在让我们看看这三种类型的关系 -

一对多关系

一对多关系是最常见的关系类型。在此类型的关系中,表A中的行可以在表B中具有许多匹配的行,但表B中的行在表A中只能具有一个匹配的行。

例如,客户和订单表具有一对多关系:每个客户可以下订单,但每个订单只来自一个客户。

多对多关系

在多对多关系中,表A中的行可以在表B中具有许多匹配的行,反之亦然。

您通过定义第三个表(称为联结表)来创建此类关系,其主键由来自表A和表B的外键组成。

例如,Customers表和Cookies表具有多对多关系,该关系由从这些表到Orders表的一对多关系定义。

一对一关系

在一对一关系中,表A中的行在表B中可以不多于一个匹配行,反之亦然。如果相关列都是主键或具有唯一约束,那么将创建一对一关系。

这种类型的关系不常见,因为以这种方式相关的大多数信息将全部在一个表中。您可以使用一对一关系 -

  • 将表分成多个列。
  • 出于安全原因,隔离表的一部分。
  • 存储短暂的数据,只需删除表即可轻松删除。
  • 存储仅适用于主表子集的信息。

阅读全文
以上是编程学为你收集整理的ms access MS Access相关数据全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • access 查找重复 MS Access查找重复项

    access 查找重复 MS Access查找重复项

    2023-05-10 MSAccess教程

    在本教程中,我们创建了各种选择查询,主要来自设计视图。但在Access中,我们可以使用一些特殊的查询向导来创建几个特定的​​选...

  •  SQLite 事务

    SQLite 事务

    2023-05-25 SQLite教程

    事务(Transaction)是一个对数据库执行工作单元。事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作...

  • mariadb select MariaDB 选择查询

    mariadb select MariaDB 选择查询

    2023-04-22 MariaDB教程

    在本章中,我们将学习如何从表中选择数据。SELECT语句检索所选行。 它们可以包括UNION语句,排序子句,LIMIT子句,WHER&...

  • mariadb事务隔离级别 MariaDB 事务

    mariadb事务隔离级别 MariaDB 事务

    2023-05-19 MariaDB教程

    事务是顺序组操作。 它们作为单个单元运行,并且直到组中的所有操作都成功执行时才终止。 组中的单个故障会导致整个事务失败,并...

  • mariadb 注入 MariaDB SQL注入保护

    mariadb 注入 MariaDB SQL注入保护

    2023-03-25 MariaDB教程

    接受用户输入的简单行为打开了利用的大门。 这个问题主要来自数据的逻辑管理,但幸运的是,很容易避免这些主要缺陷。SQL注入的机...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部