2

私は数十のユーザーログインシステムを作成し、常にオプション、フラグ、設定などをテーブルの最後に追加したので、かなり大きいです...

  • ユーザーID
  • user_firstname
  • user_lastname
  • user_email

それはそもそもです。それでも、他の種類のテーブルでは、メタベースのシステムを使用JOINして、テーブルにIDを設定しsome_metaます。これには、常にいくつかの利点があります。ユーザーにとってもそれを行うことは有益ですか?それで、メインusersテーブルにはID、基本的なユーザーの詳細、そして設定などの別のメタテーブルだけが含まれていますか?この種のことのベストプラクティスは何ですか?

4

1 に答える 1

1

それは本当にあなたの目標が何であるかに依存します。すべてのユーザーメタデータが同じスーパーキーを持っている場合、(user_id最も可能性が高いのは)すべての「メタデータ」を1つのテーブルに保持することです。別のテーブルに分離する利点はありません。

ただし、顧客のメタデータ要件が変化して拡大/縮小する可能性がある場合は、ユーザー用、メタデータ列用、ユーザーのメタデータ用の3つのテーブルを用意すると便利な場合があります。

(user_id, user_email)
(meta_id, meta_column_name)
(user_id, meta_id, user_meta_value)

これには、メタデータ値をその場で追加および削除できるという利点があります。また、すべての顧客が同じメタデータ列をすべて持っている必要はありません。

于 2013-02-28T15:42:00.837 に答える