語境:的用戶創建了一些問題,水平的挑戰,在一個城市,某一天的某一時刻。在數據庫上有重複的記錄,總是錯誤的?
用戶可以有更多的相同主題,水平的挑戰,在同一個城市,同一天同一時間(同時演奏的挑戰)。
挑戰可以一次創建一個。
在我實際的表,我有這種情況重複記錄(具有不同的主鍵值)。這是錯的嗎?它應該如何?
表的挑戰:
id_challenge INT (pk auto increment)
id_subject INT
id_level INT
id_city INT
id_user INT
date DATE
time TIME
comment VARCHAR(100)
實際上,您試圖建模的實體是單獨可識別的事物,而您的數據庫記錄的事實是不同的事實。如果一個表格重複了這些事實,那麼它就不是真實而精確的現實表徵。 – sqlvogel
如果主鍵值不同,行在技術上不會「重複」。當然,真正的問題是,如果將多個這樣的行「合併」爲一個行,並且這由您的業務規則決定(即,這兩個選項都不是「絕對」錯誤 - 這取決於您要完成的工作)。 –