2011-02-03 3 views
0

私は3つのフィールドを持つテーブルusers、持っている:データベース例えば設計

id - login - password 
--------------------- 
1 | john | ***** 
2 | jack | ***** 
3 | jane | ***** 

は、今私は、各ユーザーが自分の設定を持つことができることをしたいです。 だから、

user_N_settingsのように、私は、3つの異なるテーブルを作成する必要があります:

id | key  | value 
------------------------- 
1 | save_data | True 

か私の代わりに、すべてのユーザーのための一つの大きなテーブルを作成する必要がありますか?

users_settings:すべてのユーザーの

id  | key  | value | user_id 
--------------------------------------------- 
1  | save_data | True  |  2 
2  | some_opt | False |  3 

答えて

3

一つのテーブル。ユーザーあたりの表は非常にです。

+0

もし私が千のユーザーのために 'key'-' valueue'をhundreadしていたとしても? – nukl

+2

cru3l、数十万行はあまり多くありません。 – sqlvogel

+0

@ cru31はい、1000sのユーザーがいる場合は特にです。 –

2

テーブルが1つ。すべての設定値が同じタイプであれば、設定ごとに1つの行を作成するのが理にかなっています。属性がすべて非常に異なる場合は、設定ごとに1つの列を作成します。