Web サイトで 3 種類のユーザー プロファイルのデータベースを設計する必要があります。それらは、プロファイル内の各ユーザーのさまざまなフィールドであり、入力する場合と入力しない場合があります。例 : 連絡先番号のフィールド (番号が 3) 、提供されるサービスのフィールド (番号が 10) 、認定 (6) 。ユーザーは、フィールドに入力しないことも、すべてのフィールドに入力することもできます。より良いアプローチは何ですか:
1) :contactnumber1 、 contactnumber2 、 contactnumber3 などの固定数の列を作成します。ユーザーの空白エントリを許可します。
2) または、各エントリをユーザー ID にマップする個別のテーブル contact numbers を作成します。これは、同じユーザー ID に対して複数のエントリがあることを意味します。これにより、空白の列がないことが保証されます。ただし、情報を表示するには、複数の「インデックス付き」テーブル (~8-9) を同時にトラバースし、結果を返して同じものを公開する必要があります。
最初のアプローチでは、より少ない数のテーブルに移動する必要がありますが、多くのユーザーがレコードを空白のままにしておく可能性が高くなります。
PHP-YII フレームワークで構築しています。パフォーマンスとスケーラビリティを基準として考えると、ベストなアプローチは何ですか?
または、これを行う別の方法はありますか?