2010-01-14 65 views
1

數據我有具有以下字段的表:歸一化:在單排兩個coloumns需要從同一個表

Assignedto和completedby

這些字段引用僱員表。

我只是想知道這是正常化還是我錯過了什麼。

感謝

+1

你的文章沒有什麼意義。請擴大並澄清。 2個表格,其中一個具有以下字段,然後是第三個員工表格?沒有意義。 –

+0

你可以包含表格的模式嗎?包括一些「創建表」語句將消除很多歧義。 –

回答

3

是的,這是罰款(和適當的),以表中有多個列是一個外鍵到另一個表。你的情況是一個很好的例子...

實際上有很多的例子 - 客戶表可以有一個郵寄地址和一個傳遞地址,它們都指向一個地址表..一個聯繫表可以有一個HomePhone,WorkPhone,Fax和Mobile列都指向電話表(儘管還有其他更好的方法可以做到這一點)

+0

(+1)編輯此問題以適應此答案 - 這是正確且最有可能的答案。 –

0

注意:我會將第二個表格稱爲「Stuff」不知道還有什麼可以稱之爲的。

這是3NF如果AssignedTo和CompletedBy字段都是Employee表的外鍵。如果您真的想要規範化,可以使用第三個表StuffCompletion,它具有標識列和這兩個值,並將您的Stuff表中的這兩個值用外鍵替換爲StuffCompletion。我認爲大多數人會認爲這種矯枉過正,而模式神可能會毀滅你。

+0

哈哈抱歉,這有點含糊,但這就是我的意思。我正在考慮'stuffcompletion'(已完成的工作訂單)表,但即時通訊仍然像一個程序員那樣想着它會很痛苦地編寫代碼:) –

+0

只是給了你告訴我的我不會那麼做;將這兩個領域分成另一個表格可能不會給你帶來太多收益,除非你有3名員工從事數萬個工作。 – iandisme

相關問題