私は、ユーザーがリストを作成できるデータベースを設計しています。 (私にとって)難しい部分は、すべてのユーザーが同じタイトルのリストを作成し、同様のアイテムを表示できるということです。データベース設計の欠陥?
User-
ID/
name/
email
Title-
ID/
name/
date/
userID [FK]
List-
ID/
userID [FK]/
titleID [FK]/
text
と私は、リストの情報を取得するためには、そのタイトルのために彼らの特定のリスト(テキスト)を取得するためにtitle ID
でuser ID
を照会することだったと考えることができる最高の方法:私のソリューションは、これは3つのテーブルを作成することでした。今すぐ子の行を追加したり更新したりすることができなかったため、titleID
をFKとして追加することはできません。質問をすると、リストを取得するのが簡単になるように設定する方がいいですか?
同じタイトルを持つことができると言うと、確率はどのくらいですか?それが非常に一般的な場合は、タイトルのための別のテーブルは間違いなく冗長性を助けるでしょう。 –
本当に 'Title'テーブルが必要ですか?なぜ、 'listID、userID [FK]、title、...'で 'User'と' List'を持たないのでしょうか? –
はい、私はタイトルテーブルを持っているので、それは非常に高い発生することになります。またユーザは複数のリストを持ちます –