· 簡單。以最基本的形式建模數據。
· 傳達性。數據庫結構被任何人都能理解的語言文檔化。
· 精確性。基於數據模型創建正確標準化了的結構。
典型地,建模者通過收集來自那些熟悉應用程序但不熟練的數據建模者的人的信息開發信息模型。建模者必須能夠用非技術企業專家可以理解的術語在概念層次上與數據結構進行通訊。建模者也必須能以簡單的單元分析信息,對樣本數據進行處理。ORM專門被設計爲改進這種聯繫。
規則表達式
ORM把應用程序世界表示爲具有角色(關係中的部分)的一組對象(實體或值)。ORM有時也稱爲基於事實的建模,因爲它把相關數據描述爲基本事實。這些事實如果分割爲再小的事實就會丟失信息。
簡單事實的一些例子包括:
· 人有電話
· 人住在某個地方
· 人生於某個日期
· 人在某個日期被僱傭
這些事實相應的ORM模型如下:
圖 1. 對象角色模型
圖中的圓代表對象;矩形代表論斷。在ORM中,象在邏輯中一樣,一個論斷只是帶有對象洞的語句。箭頭和點代表系統中的約束。
例如,在"人有電話"這個事實的診斷上的箭頭可以翻譯爲:
有可能某個人有多於一個電話,並且至少有一個人有電話。
在"人生於某個日期"這個事實中,在論斷上的箭頭與連接對象與論斷的點的結合表明:
每個人確切地出生於一個日期。
與 ER的比較
實體關係(ER)是另一種類型的數據庫建模。ORM模型的簡單性與ER相應部分的比較:
圖 2. 實體關係
ORM以簡單對象和論斷的形式描述企業事實,而實體關係方法論以術語實體(擁有屬性並參與關係)描述世界。在圖1的ORM例子中,人,電話,地址和日期都表示爲扮演有相互聯繫的角色的對象。在ER例子中,人是一個實體,它由屬性:地址和電話進行描述。
例如,如果要把地址分解爲街道,城市,州,ZIP碼,那麼必須把地址改變爲具有相應屬性的實體類型,結果會改變人與地址間的關係。儘管在上面的ORM模型中表示的約束也可以在ER中表示,但只要向模型中增加節點,或編寫應用程序代碼對模型進行補充,就可以表示其它約束。
ORM的優點
ORM提供的不只是描述不同對象間關係的一個簡單而直接的方式。從示例中,可以看出ORM還提供了靈活性。使用ORM創建的模型比使用其它方法創建的模型更有能力適應系統的變化。另外,ORM允許非技術企業專家按樣本數據談論模型,因此他們可以使用真實世界的數據驗證模型。因爲ORM允許重用對象,數據模型能自動映射到正確標準化的數據庫結構。
ORM模型的簡單性簡化了數據庫查詢過程。使用ORM查詢工具,用戶可以訪問期望數據,而不必理解數據庫的底層結構。
數據庫生成和遍歷引摯
象所有優秀的模型方法一樣,ORM也不只是一個概念。它包含了不同的設計過程以幫助建模者映射概念的和邏輯的模型,或使用轉換引摯在這些模型間轉換。
ORM模型也能夠自動地映射到大多數流行的關係型數據庫所實現的數據庫結構。檢查前面的例子,ORM模型能自動生成ER圖表或邏輯模型(可以翻譯爲SQL 代碼,並適用於所選擇的數據庫)。
總結
利用非技術企業專家的知識對於確保應用程序滿足企業需求是重要的。ORM,Visual Studio .NET的一個特性,是一個最初的、易於使用的概念性數據模型方法。通過使用不只是只有數據庫專家才能理解的語言,ORM使那些充分理解了企業對應用程序需求的人能直接參與設計。
ORM還支持完全的遍歷引摯,因此一旦定義了企業需求,它們就能迅速的轉化爲邏輯和物理數據庫圖表。使用ORM,組織可以提高應用程序開發的效率,確保企業需求能被正確交付。