我有一個用戶表數據庫就像這樣:什麼是存儲此信息的最佳方式?
table users:
user_id (int)
user_name (varchar)
etc..
該用戶將能夠填補幾個類似的要求:
- 最低工資(INT)
- 擁有駕照(布爾)
- 我的其他需求(文本)
返回值在User->get(user_id);
必須是這樣的:
user_id: 1,
user_name: 'John Doe',
user_requirements: {
minimal_salary: 2000,
drivers_license: true,
demands: 'These are my demands..'
}
什麼將是這些信息存儲在數據庫中的最佳方式是什麼?
我知道你可以使用1對1關係。 (它會花費一個加入或單獨查詢) 您可以將它全部存儲在1個表中。 (這將花費一些代碼中的調整) 您可以將它標準化爲與需求表中的類型(int/bool/text)的多對多關係。
編輯
注:我已經在user表中列25,所以它將使任何區別,如果我加3至6訴求列?爲了眼睛,它將在1張桌子上獲得大量信息。
把它放在一個單獨的表中的原因是,用戶的需求是一個自我的實體。當前端調用user-> get()函數時,我只需要使用這些數據。所有其他時間我需要使用用戶的信息,我不需要有這些需求。 – pascalvgemert
需求是什麼樣的實體?在它上面看起來它被表示爲一個簡單的字符串。 –
如果你劃分的責任,你將有用戶,他的信息,用戶的要求,例如用戶的更新等。 但也許我現在想的困難.. – pascalvgemert