私は大学のプロジェクトに取り組んでおり、現在のデータベース設計に少し興味があります。
まず、データベース テーブルの一般的な命名規則は何ですか?単数形または複数形ですか? 私はかつて私について何かを読んだことがありますが、私はそれを思い出せません?! (例: テーブル: ユーザーまたはユーザー)
2 番目の質問は、プロジェクトに固有のものです。
ユーザーは Web サイトにログインでき、リストから 10 個の要素を選択し、各要素に 1 から 4 までの優先順位を付ける必要があります。私の最初の試みは、ユーザーの選択を 1 行に CSV として保存することでした (例: 1,2,3;4,5,6;7,8;9,10 (優先度 1 の要素 1,2,3 の選択を表すなど)。2 番目の試みは、[user_id]|[choosen_element]|[choosen_priority] のように、各選択肢を 1 つのエントリとして保存することでした。より良いバリアントは何だと思いますか、それとも私が考えていないより良いバリアントはありますか?
3 番目の質問は、ログインと権限の管理に関するものです。
ユーザーが選択できる要素はグループ化されています。各要素は複数のグループに属することができます。要素と同じグループまたはそのサブセットを持つモデレーターがいて、所有しているグループのすべての要素を編集できます。グループに加えて、ユーザー、モデレーター、管理者などのユーザーの権利もあります。
私の最後の設計では、グループテーブルの一部としてユーザーの権限を定義して、モデレーターグループにいるすべてのユーザーが自分もいるグループのアイテムを編集できるようにしました.
私の最初の試みでは、アプリケーションに別のロジックを持つ別のテーブルにグループと権利がありました!
アプリケーションの権利をグループから分離する方がよいでしょうか?
何かを見逃した場合、または誰かが写真を見るのが好きな場合は、これが私の現在のレイアウトのプロットです ;)
http://screens.rofln.de/2012-06-19-4f3o3A.png
ありがとう!
ところで、誰かが知りたい場合は、PHPとMySqlを使用しています!