2011-02-10 15 views
1

私はユーザーでサイトを作成しています。ユーザーにはさまざまなプロファイルフィールドがあります。私は多くのシステムがテーブルuserと、user_profileまたは類似のテーブルを持っていることがわかります。 user_profileはキー=>値テーブルで、各属性に1つの行、userに行にリンクする列があります。ユーザー情報とオプションのユーザー情報または1つのテーブルのテーブルを分けていますか?

このような理由があるのではないか、単一のテーブルをうまく使用しているのでしょうか?

答えて

4

別のテーブルを使用すると、アプリケーションの使用中にプロファイルオプションを追加したり削除したりすることが容易になります。それがなければ、毎回userのテーブルスキーマを変更する必要があります。これにより、潜在的に大きなアプリケーションコードの変更が発生する可能性があります。

+0

+1。いい視点ね。私は、多くの拡張属性の場合には、空の列データが多数ある可能性があるという理由の1つしか考え出すことができませんでした。 –