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

×
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

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

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
2025年9月21日, 星期日

Captcha 圖像