選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
2 分鐘閱讀時間 (445 個字)

[Data Modeling] Classification Pattern

nick-fewings-8MGUft1c5bs-unsplash 分門別類

在 The Data Model Resource Book: Volume 3 [1] 中,除了 Recursive Pattern 外,另一個非常實用的 Pattern 就是本篇要介紹的 Classification Pattern。

【問題描述】

在系統分析時,我們常會收集到很多用來描述Entity 的屬性,有些屬性有助於我們未來對這個Entity 做分類/分組/分群,有些分類還可以再細分成多個子類別(有階層性,如:生物分類[2]最耳熟能詳的界/門/綱/目/科/屬/種)。有時候同一個Entity也會同時符合多個分類,如:最近剛推出預告的尚氣與十環傳奇這部電影可能同時是漫威宇宙、超級英雄、漫畫改編、動作等分類。

【問題分析】

我們需要一個 [ Entity Category Type ] 來紀錄這個Entity 要用哪些維度來分類。如,我們要對出版品做分類,可能可以依出版者國籍、出版品的風格、出版品的媒體... 等。

而分類的結果則是在 [ Entity Category ] 如:依出版品的媒體可能是:紙本、光碟、線上...; 依出版品的風格可能是:文藝、動作、科幻、紀錄...

接下來則是 [ Entity Category Classification ] 則是紀錄了 [ Entity ] 與 [ Entity Category ] 之間的多對多的配對關係。

圖一、Classification Pattern

【Pattern 套用】

仍以出版品為例,套用 Pattern 後的資料如圖二。直接將圖一中的Entity 全部改成 Publication 就完成了,是不是很簡單?

圖二、Publication 套用 Classification Pattern

【舉一反三】

在很多系統可能都會有貼標籤的功能,像客戶關係管理系統就會需要依不同的方式來分類客戶,如:地區別、客戶行業別...,標籤也可能有階層關係,一個客戶同時也會貼多個標籤。(圖三)

Customer Category Type: 決定有哪些類別的標籤

Customer Category: 依上述類別產出的標籤

Customer Category Classification: 每個客戶貼上各自的標籤

圖三、Classification Pattern 應用於客戶分類(貼標籤)

【學以致用】

在知識管理系統裡,每份知識也可以分屬於多個由不同維度組成的分類樹,是否也可以套用這個Classification Pattern呢?不妨自己試著套用看看~

【業配】

本篇Data Model 使用 Sparx Enterprise Architect 製作

【參考來源】

[1]. Paul Agnew(2009). The Data Model Resource Book: Volume 3: Universal Patterns for Data Modeling, Len Silverston

[2]. https://zh.wikipedia.org/wiki/%E7%94%9F%E7%89%A9%E5%88%86%E9%A1%9E%E6%B3%95

ELK 的應用程式效能監控 Application Performance Monitoring
使用 Git Bisect 快速找到第一個有問題的 Commit

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/06, 週一

Captcha 圖像