瞭解並評估表格關係

評估兩個給定表格之間的關係時,您需要瞭解一個表格中可能屬於另一個實體可能的出現次數,反之亦然。 例如,使用users表格和orders表格。 在此案例中,您想要瞭解指定的​ 使用者 ​已下多少​ 訂單,以及可能屬於多少個​ 使用者 訂單

瞭解關聯性對於維護資料完整性至關重要,因為它會影響您計算的資料行維度的正確性。 若要深入瞭解,請參閱關聯性型別如何評估您Data Warehouse中的資料表。

關係型別 types

兩個資料表之間可以存在三種關聯性:

One-to-One onetoone

one-to-one關聯性中,資料表B中的記錄只屬於資料表A中的一個記錄。 而且資料表A中的記錄只屬於資料表B中的一個記錄。

例如,在人與駕照號碼之間的關係中,一個人只能有一個駕照號碼,而一個駕照號碼只屬於個人。

One-to-Many onetomany

one-to-many關聯性中,資料表A中的記錄可能屬於資料表B中的數個記錄。 想一想ordersitems之間的關係 — 一個訂單可以包含許多專案,但一個專案屬於單一訂單。 在這種情況下,orders表格是一面,items表格是多面。

Many-to-Many manytomany

many-to-many關聯性中,資料表B中的記錄可能屬於資料表A中的數個記錄。 反之亦然,資料表A中的記錄可能屬於資料表B中的數個記錄。

想一想​ 產品 ​和​ 類別 ​之間的關係:一個產品可以屬於許多類別,而一個類別可以包含許多產品。

評估表格 eval

根據表格之間存在的關係型別,您可以瞭解如何評估Data Warehouse中的表格。 由於這些關係塑造了多資料表計算資料行的定義方式,因此請務必瞭解如何識別資料表關係,以及資料表屬於哪一邊 — onemany

有兩種方法可用來評估Data Warehouse中指定表格對的關係。 第一個方法採用概念架構,考量資料表的實體彼此互動的方式。 第二個方法使用資料表的結構描述

使用概念架構 concept

此方法使用概念架構來說明兩個表格中的實體如何彼此互動。 重要的是,要瞭解此框架會評估在給定關係下可能的情況。

例如,在考慮使用者和訂單時,考慮關係中可能的所有條件。 註冊使用者在存留期內不得下任何訂單、僅能下一份訂單或多份訂單。 如果您已啟動業務,但尚未下訂單,則特定使用者可以在其存留期內下許多訂單。 建置表格就是為了因應這種情況。

若要使用此方法:

  1. 識別每個表格中描述的實體。 提示:它通常是名詞。 例如,userorders資料表明確說明使用者和順序。

  2. 識別一或多個描述這些實體如何互動的動詞。 例如,將使用者與訂單比較時,使用者會「下單」。 另一方面,訂單「屬於」使用者。

此型別的架構可套用至Data Warehouse中的任何表格配對。 這可讓您輕鬆識別關係的型別、哪個表格是一側而哪個表格是多側。

一旦確定了描述兩個表格如何互動的術語,就可以考慮第一個實體的一個特定例項如何與第二個實體相關,以雙向設定互動的框架。 以下是每種關係的一些範例:

One-to-One

一個指定人員只能有一個駕駛執照號碼。 一個特定駕照號碼只屬於個人。

這是one-to-one關係,其中每個資料表都是單面。

One-to-Many

一個特定訂單可能包含許多專案。 一個指定專案只屬於一個訂單。

這是一種one-to-many關係,其中訂購表格是一面,而料號表格是多面。

Many-to-Many

一個特定產品可能屬於多個類別。 一個指定類別可以包含許多產品。

這是many-to-many關係,其中每個資料表都是多面。

使用表格的綱要 schema

第二個方法使用表格結構描述。 結構描述會定義哪些資料行是PrimaryForeign索引鍵。 您可以使用這些鍵將表格連結在一起,並協助判斷關係型別。

識別將兩個表格連結在一起的欄之後,請使用欄型別來評估表格關係。 以下是一些範例:

One-to-one

如果使用兩個資料表的primary key連結資料表,則每個資料表中會說明相同的唯一實體,而且關聯性為one-to-one

例如,users表格可能會擷取大部分的使用者屬性(例如名稱),而補充user_source表格則會擷取使用者註冊來源。 在每個表格中,一列代表一位使用者。

One-to-many

NOTE
您接受客服訂單嗎? 請參閱訪客訂單,瞭解訪客訂單如何影響您的資料表關係。

使用指向primary keyForeign key連結資料表時,此設定會說明one-to-many關係。 一方是包含primary key的資料表,而多面是包含foreign key的資料表。

Many-to-many

如果下列任一專案為true,則關聯性為many-to-many

  • Non-primary key欄正用於連結兩個資料表
  • 複合primary key的一部分用於連結兩個資料表

後續步驟

正確評估表格關係是精確建立資料模型的關鍵。 現在您已瞭解資料表如何相互關聯,請參閱您可以使用Data Warehouse管理員做什麼。

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc