前面示例模型的Information Engineering表示如下:
圖:Information Engineering - IE模型 - Crow's Foot Model - 鴨掌模型圖:Information Engineering - IE模型
注意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可以關聯0個或1個A
關聯的約束如圖所示,Product和Service通過一個圓連線到Order Line。如果是實心圓則表示Product和Service是exclusive or;如果是空心圓則表示Product和Service是inclusive or(相容的,conjunctive),表示可以是其中之一或者多個
在上面IE模型圖中,Order Line右側是Finkelstein的一個特殊符號,表示一個Purchase Order初始時有0或n個Order Line,但最終必須有1或n個Order Line
Martin以動詞命名關聯關係,只命名一個方向(遵循從左到右、從上往下的方式),而Finkelstein不對關聯關係命名
Sub-type:圖中Party子類的表示方法由Martin採用,Finkelstein則對每個子類使用單獨的實體,使用ISA關聯關係(關聯關係名稱為ISA,也有采用類似UML繼承的三角形符合,在關聯線上使用一個三角形的)表示其為子類