資料建模語言Information Engineering
http://www.cnblogs.com/hadoopdev/p/4994886.html
Information Engineering採用Crow's Foot表示法(也有叫做James Martin表示法的),中文翻譯中對使用了Crow's Foot表示法的模型也有籠統的稱做鴨掌模型的(關聯關係的關聯基數中採用到了一個鴨掌形的三叉線來表示)。他由Clive Finkelstein發明,與James Martin一起推廣,後來兩人各自做了些修正形成兩份版本
前面示例模型的Information Engineering表示如下:
圖:Information Engineering - IE模型 - Crow's Foot Model -
注意IE模型與ER模型的區別。Purchase Order與Party是多對一 n:1 的關聯關係,在ER模型中n被放置在了Party的左邊,而IE模型中n被放置在了Purchase Order的右邊。兩種表示法的形式(相當於語法)不一樣,但語義是一致的。這一點也只有ER模型是特殊的,其他模型表示法中都與IE 模型一致
Entity & Attribute:實體屬性並不出現在IE模型中,而是單獨使用另外的文件記錄
Relationship
Crow's Foot的可選項optionality和關聯基數cardinality
圖:Crow's Foot的可選項optionality和關聯基數cardinality 表示法圖:Crow's Foot的可選項optionality和關聯基數cardinality 表示法
Optionality 可選項:用來表示該關聯關係是可選的,還是必須的。對於可選的關聯關係,通常表現為用於關聯的外來鍵欄位允許為null值,或者對於使用中間關聯關係表的情況下可以不出現關聯資料,而必須的關聯關係則不允許外來鍵為null或者必須存在關聯資料
Cardinality 關聯基數:用來表示關聯實體的數量上限,為1、n等圖中右邊部分表示的意義如下:1個A必須關聯到1個或多個B,一個B可以關聯
Martin以動詞命名關聯關係,只命名一個方向(遵循從左到右、從上往下的方式),而Finkelstein不對關聯關係命名
Sub-type:圖中Party子類的表示方法由Martin採用,Finkelstein則對每個子類使用單獨的實體,使用ISA關聯關係(關聯關係名稱為ISA,也有采用類似UML繼承的三角形符合,在關聯線上使用一個三角形的)表示其為子類