2012-09-02 39 views
0

我有此信息繪製ER圖。實現或在ER圖中

企業生成文檔,這些文檔與員工相關聯,但是有很多類型的文檔。我無法得到這個呃圖的正確答案。

我的解決辦法是:

企業1-M文件 文獻文件

的M-1型

如何更改根據文檔類型的文檔表格的attribues? 您認爲最好的解決方法是什麼?

我是否必須將所有文檔屬性放在文檔類型表上?如果我們在談論document1,那麼文檔2的屬性將爲空?

我認爲的另一個解決方案是:文檔可以是具有不同屬性的表格文檔1,也可以是具有其他屬性的表格文檔2或具有其他屬性的表格文檔3,等等,但我只是不知道如何在ER圖上顯示。

我想盡我所能解決這個問題。

順便說一下,我正在使用Doctrine和Symfony2。

回答

0

我看到(和理解)的方式你的情況:

「一個企業產生的文件,這些文件關聯到員工,但也有很多類型的文檔」

企業 ID,名稱

員工 ID,姓,名,enterprise_id(FK到Enterprise.id)

DocumentType ID,名稱

文件 id,content,document_type_id(FK到DocumentType.id)

SpecificDocument ID(FK到document.id),specificfield1,specificfield2

SpecificDocument2 ID(FK到document.id),specificfield3,specificfield4

EmployeeDocument EMPLOYEE_ID(FK到Employee.id) ,document_id(FK到Document.id)

你應該能夠用這個信息生成你的ER圖。

編輯:

但是,最好的方法是不使用ER DB但文檔DB(例如:MongoDB的)。

+0

是的,這就是我剛剛在我的問題中發佈的內容。 但是,如果一種文檔具有兩個int和兩個varchar屬性,但其他類型的文檔具有一個布爾值和一個浮點屬性,那又如何呢?它們是文件,但它們表現得像不同的表格。如何將文檔表格告訴文檔1或文檔類型2? –

+0

我添加了SpecificDocument&SpecificDocument2,它們都引用了母類Document(包含通用字段,如名稱,路徑...) – KevOu

0

這聽起來像文件的類型是專業化的情況。如果您正在進行ER建模,則可以使用Extended ER的功能直接表示專業化。加載以下PDF並向下導航至「專業化」以獲取專業化圖表的方式。

http://www.sis.pitt.edu/~valeriab/1022-spring08/Chapter6.pdf

如果你正在設計一個關係數據庫來實現你的ER模型,你需要學習一對夫婦的技術,即類表繼承和共享主鍵。這些技術中的每一種都在SO中有一個標籤,並有許多有用的答案。