今天要來講解一個與Power BI Desktop非常相關的一個名詞,資料模型。
網路上其實已經有很多相關的文章,但我想用比較簡單的方式來說明,其實可以簡單的理解成要共用不同資料表內的欄位,也就是當我有A、B、C三張資料表,其中又各自有各自不同的欄位,此時要同時運用到A資料表的第一欄,B資料表的第二欄,C資料表的第三欄,此時就必須要共用,也就是建立資料模型。
那要如何建立?答案就是要將A、B、C三張資料表進行關聯,因此雖然這三張表內容可能很不一樣,但其中要有一欄是與其他資料表有所相關的,這樣才可以把這些表連起來,這麼做的好處是,可以將不同的資料存放在不同的資料表內,而不是都存在同一張表內,這樣較容易維護以及可以提高安全性,下面我將用我之前學校的資料庫管理系統的關聯圖來進行簡單的說明。
可以看到有六個格子,這些格子分別就是代表一張資料表,而這些格子裡面的小格子就是表的欄位名稱,原本這些互不關聯的表為了要進行關聯,若拿「訂單」這張表來舉例,為了要與「交易紀錄」進行關聯,因此在交易記錄內就有一個訂單編號的欄位,這樣就可以與訂單的這張表進行關聯。我們可以看到訂單這張表有三條線牽著另外三張表,這就代表這四張表示互相關聯的,而這其中兩張又分別牽著一張,就可以順利的把六張表都關聯起來!
可以看到有些欄位前面有小小的黃色鑰匙,這代表這一欄是這張表的「主鍵」,主鍵在每張表內都會是唯一的且不可空白的,因此其實其他表在關聯時都是要關聯到某張表的主鍵的,拿剛剛的例子來說「交易紀錄」關聯到「訂單」的訂單編號,因此可以得知「訂單」內的訂單編號必須是主鍵,也就是唯一的,而我們會稱「交易紀錄」內的訂單編號為「外來鍵」,這就是大家常聽到主鍵及外來鍵啦,當然還有超級鍵什麼的,但我就先不特別說明。
其實在圖中還可以看到訂單明細的訂單編號關聯到訂單內的訂單編號,這麼做的好處就是一張訂單可以有多張訂單明細,這樣比較符合實際情況,如果沒將這些都放在同一張表內的話,那就會很難管理整張表也一定很凌亂,因此將全部拆開並用主鍵及外來鍵關聯起來才是較好的做法,而這樣就是資料模型囉!
好啦,雖然我們的主題是Power BI Desktop,但我覺得有必要先講解一下資料模型的意思以及關聯的一些基本知識,不知道大家都學廢了嗎 XDD