2016-03-26 280 views
0

我有我的數據庫一個表,看起來像這樣:最佳實踐

| userid | username | dateloggedin | etc 
| 1   | Joebloggs | 27-03-16  | etc 
| 2   | Nathanbloggs| 27-03-16  | etc 

和看起來像這樣的一個記錄表:

| eventtype | userid  | eventdate  | etc 
| loggedin | 1   | 27-03-16  | etc 
| loggedout | 1   | 27-03-16  | etc 

當我顯示來自eventlog的條目我也想顯示用戶名,而不僅僅是用戶名。

這裏最好的做法是,我應該將用戶名存儲在事件日誌表和用戶表中,以便我可以在單個查詢中訪問所有數據?或者我應該使用userid來交叉引用另一個表並從那裏獲取用戶名,只存儲一次?

鑑於我正在規劃卷,我不確定哪條路線最好 - 從查詢和數組之間切換的更多處理時間,或通過複製數據使用更多存儲空間。

+0

您絕對應該使用userid來交叉引用其他表格(JOINS) – JimL

+0

任務:瞭解有關JOIN的信息。 –

+0

事件日誌是我可能存儲用戶名而不是ID的一個實例,但不是您陳述的原因。在99%的情況下,您希望避免數據庫中的數據重複。 –

回答