系統分析筆記_物件角色建模ORM (Object Role Modeling)_part1




在 1970 年代,特別是在歐洲,重要的研究都集中在如何提供一種高階的語法來為資訊系統建模,由Falkenberg 提出了物件角色建模(Object Role Model)為資料庫設計提出一不同的建模方法。


物件角色建模(Object-Role Modeling; ORM)是一種以概念模式(Conceptual Model)設計資料庫的方法。

所謂的概念模式即是以一般任何人都容易理解的層次,如:語言、文章句子、圖形符號
等,來表達與互相進行溝通。進行資料庫分析或設計時,分析與設計者透過ORM 使用企業內常用的名詞來描述資料,進而與使用者溝通,以免讓分析者、設計者與使用者之間產生誤解。



可以一般的語言或事實(facts)來描述資料,
如:
Person visited City on Date.
Person works in City.
Person was born in City.
Person was born on Date 

等四個句子用以描述人的工作、出生地與日期等資料。

圖1.ORM 資料模式的表達例子1


可進一步使用不同的標記(notation)來把事實(facts)圖形化(symbolizing),即可對應至ORM 的符號,ORM 強調其許多表達意義的符號與限制條件。
最後,根據ORM 制訂的法則將符號轉換成關聯式資料模型,並可實作出資料庫系統。




以一個客戶訂購產品的資料庫為例,產品(Product)具有類別(Product Type)及產品名稱(Product Name),而且這些資料是一定要存在的資料,而產品是由訂單(Order)所訂購的,由此可知整個ORM 是以這些符號環環相扣。




圖2.ORM 資料模式的表達例子2

為物件格式(object type),有實線與虛線兩種橢圓。


實線橢圓表示實體類別(Entity type),表達真實世界存在的事物或一種概念如訂單(Order),圖中的括號表示為參考模式(reference mode)的資料類別,必須填入定義的資料類別,在資料整合時,可作為資料內容的判斷依據,如日期的表達(YYMMDD)

虛線橢圓表示值類別(Value type),如圖中的id 可定義各種字串,無法由id 指出真實世界存在的實體,因此定義為值

此外,若值類別中有符號(+),表示該值為數字,可進行數學運算的資料。






物件所扮演的角色,可表達企業實體的作業流程。
以上面兩格為例,屬於Binary fact type




常見的還有像是三格(Ternary fact type)




或四格(Quaternary fact type)的情況

以上圖就代表
Person 在(in)某市 於(on)某日 吃(ate) Food


另外還有單一個格子的叫做Unary fact type



限制條件式,在一些其他文獻或工具圖示則也可能用單一無箭頭槓來表示。







必需要存在的資料。



{‘1’, ‘2’, ‘3’}
描述資料型態與範圍,資料內容可以為 1、2 或 3。







除了這些上述常見的符號表示方法以外
還有以下很多像稍微複雜的符號



 conceptual schema design procedure (CSDP) 




visual studio 2019,2022可安裝的plugin
Natural ORM Architect












Ref:
東海大學工業工程研究所-企業電子化架構下系統整合資料模式之探討
東海大學工業工程研究所-使用者導向之企業資源規劃系統移轉方法

https://victormorgante.medium.com/fact-type-readings-in-object-role-modeling-6ae8d3a170bb
http://www.orm.net/pdf/ORMsyntax-semantics.pdf
http://www.orm.net/pdf/ORMsyntax-semantics-glossary.pdf

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header