MS Access相關(guān)數(shù)據(jù)

2018-12-22 19:36 更新

在本章中,我們將了解相關(guān)數(shù)據(jù)的基礎(chǔ)知識(shí)。在討論和創(chuàng)建不同數(shù)據(jù)之間的關(guān)系之前,讓我們來回顧一下為什么我們需要它。這一切都回歸正?;?/span>

正?;?/h2>

數(shù)據(jù)庫規(guī)范化或簡單規(guī)范化是組織關(guān)系數(shù)據(jù)庫的列(屬性)和表(關(guān)系)以最小化數(shù)據(jù)冗余的過程。它是跨多個(gè)表分割數(shù)據(jù)以提高整體性能,完整性和壽命的過程。

  • 規(guī)范化是在數(shù)據(jù)庫中組織數(shù)據(jù)的過程。

  • 這包括根據(jù)設(shè)計(jì)的規(guī)則創(chuàng)建表并在這些表之間建立關(guān)系,以保護(hù)數(shù)據(jù)并通過消除冗余和不一致的依賴性使數(shù)據(jù)庫更加靈活。

現(xiàn)在讓我們看看包含數(shù)據(jù)的下表,但問題是這個(gè)數(shù)據(jù)是相當(dāng)冗余的,這增加了在數(shù)據(jù)輸入期間打字和不一致短語的機(jī)會(huì)。

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

為了解決這個(gè)問題,我們需要重構(gòu)我們的數(shù)據(jù)并將其分解成多個(gè)表,以消除一些冗余,如下面三個(gè)表所示。

Three Tables

這里,我們有一個(gè)Customers表,第二個(gè)是Orders表,第三個(gè)是Cookies表。

這里的問題是,只是通過拆分多個(gè)表中的數(shù)據(jù)將無助于告訴一個(gè)表中的數(shù)據(jù)如何與另一個(gè)表中的數(shù)據(jù)相關(guān)。要在多個(gè)表中連接數(shù)據(jù),我們必須向Orders表添加外鍵。

定義關(guān)系

關(guān)系通過匹配鍵列中的數(shù)據(jù)(通常是兩個(gè)表中具有相同名稱的列)來工作。在大多數(shù)情況下,關(guān)系與來自一個(gè)表的主鍵匹配,該表為每個(gè)行提供唯一標(biāo)識(shí)符,在另一個(gè)表中的外鍵中具有條目。這里有三種類型的表之間的關(guān)系。創(chuàng)建的關(guān)系類型取決于如何定義相關(guān)列。

現(xiàn)在讓我們看看這三種類型的關(guān)系 -

一對(duì)多關(guān)系

一對(duì)多關(guān)系是最常見的關(guān)系類型。在此類型的關(guān)系中,表A中的行可以在表B中具有許多匹配的行,但表B中的行在表A中只能具有一個(gè)匹配的行。

例如,客戶和訂單表具有一對(duì)多關(guān)系:每個(gè)客戶可以下訂單,但每個(gè)訂單只來自一個(gè)客戶。

多對(duì)多關(guān)系

在多對(duì)多關(guān)系中,表A中的行可以在表B中具有許多匹配的行,反之亦然。

您通過定義第三個(gè)表(稱為聯(lián)結(jié)表)來創(chuàng)建此類關(guān)系,其主鍵由來自表A和表B的外鍵組成。

例如,Customers表和Cookies表具有多對(duì)多關(guān)系,該關(guān)系由從這些表到Orders表的一對(duì)多關(guān)系定義。

一對(duì)一關(guān)系

在一對(duì)一關(guān)系中,表A中的行在表B中可以不多于一個(gè)匹配行,反之亦然。如果相關(guān)列都是主鍵或具有唯一約束,那么將創(chuàng)建一對(duì)一關(guān)系。

這種類型的關(guān)系不常見,因?yàn)橐赃@種方式相關(guān)的大多數(shù)信息將全部在一個(gè)表中。您可以使用一對(duì)一關(guān)系 -

  • 將表分成多個(gè)列。
  • 出于安全原因,隔離表的一部分。
  • 存儲(chǔ)短暫的數(shù)據(jù),只需刪除表即可輕松刪除。
  • 存儲(chǔ)僅適用于主表子集的信息。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)