2011-03-04 144 views
8

您可以給我一個教程或一本書來將類圖轉換爲關係數據庫圖。 反之亦然,如果存在此類參考,請發佈。從類圖到數據庫關係圖

+0

爲什麼?有兩張同樣的照片的目的是什麼? – sqlvogel 2011-03-05 15:19:17

+0

@sqlvogel大學作業,也許? – 2016-04-27 01:22:34

回答

3

類圖表示使用對象模型的系統。關係數據庫圖表示使用關係模型的數據系統。這兩種模式呈現相同系統的方式存在顯着差異。而數據模型不會對行爲建模。它只模擬數據。

有,然而,一個模擬系統,它是那種中途類圖和關係圖之間。它被稱爲E-R圖,其中E-R是實體關係的簡稱。在E-R模型中,整個主題被分析爲「實體」,可以是個人,地方或具有身份的事物。它們甚至可以是無形的東西,比如銀行賬戶。關係涉及兩個或兩個以上的實體,以及關於構成數據庫中大部分數據的關係的斷言。數據值是屬性的實例,屬性描述實體之間的實體或關係。

大多數ER圖,你會在故見的是真正的關係圖僞裝成ER圖。在一個真正的ER圖中,外鍵不存在,多對多關係可以用單線圖表示,gen-spec模式看起來和他們在類圖中所做的相同。如果事實上,ER圖可以被看作是物體世界僅僅投影到數據世界上。

如果你將學習ER建模從關係建模成不同的活動,產生了不同的模型,你會發現它很容易的類圖轉化爲ER圖。

從那裏,轉化ER圖轉換成關係圖幾乎是機械的。每個實體都得到一張桌子,多對多的關係得到他們自己的桌子。繼承和結社得到特殊待遇,等等。被視爲ER模型世界中抽象的關係成爲外鍵。根據ER模型中實體的關鍵屬性,每個表的主鍵變得明顯。

ER模型中的所謂「屬性」(可能是類模型中的「屬性」)在關係模型中成爲「列」。

還有一些管理對象模型,ER模型和關係模型都使用相同的工具一些花哨的工具,並且可以在這些模型之間移動的爲您服務。其中之一,「數據架構師」非常好,但幾年前非常昂貴。

3

不確定您的意思是「關係數據庫關係圖」。如果你指的是SQL腳本的DDL語句來創建關係模式的模型,那麼也許你可以看到工具是如何做到這一點轉化(例如檢查這個網上UML到SQL代碼生成http://modeling-languages.com/content/uml2db-full-code-generation-sql-scripts-databases

大多數轉換規則很簡單(class-> table,attribute - > column,association - > foreign key,...),但是您可以使用帶有繼承和關聯類的UML圖來玩,並看看它是如何轉換的。

2

,我用另一種選擇是在我的類圖中添加數據庫定型。它在我的代碼中生成Java持久性註釋。最後,我使用Hibernate從Java代碼生成我的代碼。

它工作得很好!

1

使用Enterprise Architect您可以使用其MDA(模型驅動架構)轉換自動生成您的類模型到關係數據庫模型中。這爲您節省了不得不手工再次完成所有圖表的工作。在MDA Transformations