實體及關聯性 (EDM)

實體資料模型 (EDM) 是實體關聯性 (Entity-Relationship,ER) 模型。 在一般的商務 (LOB) 應用程式中,資料的結構在應用程式設計的早期階段期間是抽象的。 設計必須指定應用程式如何將各種資料包含在邏輯結構中。 例如,訂單、客戶、訂單產品線、地址、供應商、產品和員工都會由資料結構表示,而且其中許多結構非常複雜。 識別出基礎概念之後,實體就是所有資料結構詳細資料的正式規格。

例如,Customer 資料型別會設計成包含每位客戶的連絡人姓名、公司名稱、地址和唯一識別碼等詳細資料。 Order 型別可能會包含訂購日期、訂單產品線、截止日期、唯一識別碼和其他資料。 如同大部分其他資料模型,EDM 會將訂單與下訂單之客戶之間的邏輯連接表示成關聯性。

下圖將說明資料結構的部分詳細資料,並且使用 EDM 所指定之實體和關聯性的概念來建立它們的模型。 在此圖表中,實體是以矩形表示,而關聯性是以矩形之間的直線表示。 矩形內部的文字則代表實體的屬性。

客戶、訂單與 OrderLines 圖表

只有最上層概念在 EDM 中才稱為實體。 在此圖表中,Customer 是最上層概念而且模型化為實體。 在 EDM 中,Customer 實體衍生自基本的 EntityType

從屬資料元素則稱為實體的屬性。 Customer 實體具有許多屬性:CustomerIDCompanyNameContactNameAddressPhone。 其中每個屬性都有一種資料型別。 例如,CustomerID 是字串,如同 CompanyNameContactName

在圖表中,Address 屬性與其他屬性不同,因為它具有包含許多種資訊的內部結構。 在 EDM 中,巢狀資料結構 (例如這個地址) 可以模型化為實體,然後使用關聯和導覽屬性,將它連接至在其中當做屬性運作的實體。

CustomerAddress 資料型別的相似之處在於,它們都具有以多個屬性構成的內部結構。不過,在語意和作業方面,Customer 則與 Address 不同。 Customer 可能會成為查詢或資料修改作業的單位以及保存的單位。 另一方面,Address 永遠存在 Customer 資料型別中,而且通常不會單獨使用。

實體之間的關聯性是使用關聯進行模型化。 關聯就是實體之間的關聯性,例如 CustomerOrder 之間的關聯性。 每個 Order 都必須具有對應的 Customer。 雖然 OrderCustomer 彼此邏輯相關,但是卻當做獨立的實體存在。 如需關聯關聯性的詳細資訊,請參閱關聯 (EDM)

某個實體以邏輯方式控制另一個實體的關聯性 (例如 Order 及其 OrderLine 項目) 也會由關聯關聯性表示。 每個 Order 都至少包含一個 OrderLine。 例如,如果 Customer 訂購了產品 #49,所訂購之項目的相關資訊就會包含 OrderLineOrderLine 無法在沒有 Order 的情況下存在。

另請參閱

概念

實作實體 (EDM)
實作關聯 (EDM)

其他資源

結構描述和對應規格 (Entity Framework)