2011-10-26 85 views
0

我有一個XML文檔的集合。我需要將這些文檔中的元數據和數據存儲在MySQL數據庫中。我已經創建了3個表來存儲分貝的信息。數據庫規範化(1到很多)

1-文件(的docId(PK),DOCNAME,明文,日期,作者)
2-元素(elementId(PK),的docId(FK),的ElementName,elementValue)
3-屬性(屬性Id(PK ),elementId(fk),attributeName,attributeValue)

這意味着什麼..有很多xml文檔。每個XML文件有很多元素,每個元素可以有很多屬性..我不知道如果我沒有這個步驟妥善?我的意思是數據庫規範化..這些表是在第三範式嗎?

+1

非常短的無函數依賴回答:是 – knittl

+1

需要思考的問題:數據庫模式如何處理嵌套的XML元素?或者你確定你的文檔沒有嵌套元素? –

+0

@ Jan-Henk:恩......好點..我沒有想到這一點。我確實有嵌套的元素,這就解釋了爲什麼我只能從元素表中獲取最後一個elementId值作爲屬性表中的外鍵值...並且我在想我的db設計有什麼問題..:D ...謝謝爲了指出這一點..任何建議? – user1014923

回答

0

是的,這些表格根據3NF規範化。有,在短,三個簡單的規則:

  • 沒有重複的元件或元件組
  • 沒有局部依賴於級聯密鑰
  • 上非鍵屬性