實體及關聯性 (EDM)
實體資料模型 (EDM) 是實體關聯性 (Entity-Relationship,ER) 模型。 在一般的商務 (LOB) 應用程式中,資料的結構在應用程式設計的早期階段期間是抽象的。 設計必須指定應用程式如何將各種資料包含在邏輯結構中。 例如,訂單、客戶、訂單產品線、地址、供應商、產品和員工都會由資料結構表示,而且其中許多結構非常複雜。 識別出基礎概念之後,實體就是所有資料結構詳細資料的正式規格。
例如,Customer 資料型別會設計成包含每位客戶的連絡人姓名、公司名稱、地址和唯一識別碼等詳細資料。 Order 型別可能會包含訂購日期、訂單產品線、截止日期、唯一識別碼和其他資料。 如同大部分其他資料模型,EDM 會將訂單與下訂單之客戶之間的邏輯連接表示成關聯性。
下圖將說明資料結構的部分詳細資料,並且使用 EDM 所指定之實體和關聯性的概念來建立它們的模型。 在此圖表中,實體是以矩形表示,而關聯性是以矩形之間的直線表示。 矩形內部的文字則代表實體的屬性。
只有最上層概念在 EDM 中才稱為實體。 在此圖表中,Customer 是最上層概念而且模型化為實體。 在 EDM 中,Customer 實體衍生自基本的 EntityType。
從屬資料元素則稱為實體的屬性。 Customer 實體具有許多屬性:CustomerID、CompanyName、ContactName、Address 和 Phone。 其中每個屬性都有一種資料型別。 例如,CustomerID 是字串,如同 CompanyName 和 ContactName。
在圖表中,Address 屬性與其他屬性不同,因為它具有包含許多種資訊的內部結構。 在 EDM 中,巢狀資料結構 (例如這個地址) 可以模型化為實體,然後使用關聯和導覽屬性,將它連接至在其中當做屬性運作的實體。
Customer 和 Address 資料型別的相似之處在於,它們都具有以多個屬性構成的內部結構。不過,在語意和作業方面,Customer 則與 Address 不同。 Customer 可能會成為查詢或資料修改作業的單位以及保存的單位。 另一方面,Address 永遠存在 Customer 資料型別中,而且通常不會單獨使用。
實體之間的關聯性是使用關聯進行模型化。 關聯就是實體之間的關聯性,例如 Customer 與 Order 之間的關聯性。 每個 Order 都必須具有對應的 Customer。 雖然 Order 和 Customer 彼此邏輯相關,但是卻當做獨立的實體存在。 如需關聯關聯性的詳細資訊,請參閱關聯 (EDM)。
某個實體以邏輯方式控制另一個實體的關聯性 (例如 Order 及其 OrderLine 項目) 也會由關聯關聯性表示。 每個 Order 都至少包含一個 OrderLine。 例如,如果 Customer 訂購了產品 #49,所訂購之項目的相關資訊就會包含 OrderLine。 OrderLine 無法在沒有 Order 的情況下存在。