想要規範化和優化此表格'table1'真的很感謝。我現在可以執行以下查詢:關於表格標準化的幫助
SELECT user AS users
FROM table1
WHERE project='Project B'
AND doctype='DocType B'
得到我想要的東西,但我覺得它不是很有效,想就如何改善幫助(解釋)。
最後我想實現以下目標:
1)打破這個1臺到多個表,便於鑑於「項目」和「DOCTYPE」維護
2)的,退還所有用戶
表1:
project doctype user
------- ------- ----
Project A DocType A User A
Project A DocType A User B
Project A DocType A User C
Project A DocType A User D
Project A DocType B User A
Project A DocType B User C
Project A DocType B User D
Project A DocType C User B
Project A DocType C User D
Project B DocType A User B
Project B DocType A User E
Project B DocType A User F
Project B DocType A User G
Project B DocType B User A
Project B DocType B User C
Project B DocType B User E
Project B DocType B User H
Project B DocType C User A
Project B DocType C User I
請讓我知道是否需要更多信息來幫助。 謝謝。
我對數據庫瞭解不多,但對我來說已經很不錯了。你的表已經是BCNF了,你的查詢非常簡單。 – Owen
@Owen:表格看起來像是「全部關鍵」。所以,5NF。 (沒有非關鍵依賴關係,因爲沒有非關鍵列。) –
@Catcall查看數據看起來像User + DocType-> Project,但這可能是巧合。 – Owen