ブラウザベースのゲーム内でプレーヤーデータを保持するためのスキーマを設計しています。リレーショナルデータベース理論とキー
私は3つの関係を持っています。そのうちの2つには少なくとも2つの候補キーがありますが、3つ目の属性は{playerId、message、date}
です。この関係には1..1:0 ..関係があるため、一意の行は保持されませんつまり、各プレイヤーにはいくつものニュースタプルが存在する可能性があります。とにかくタプルを一意に識別できる必要はなく、属性のどれも実際に候補になることはできません。
私の質問は次のとおりです。リレーショナルモデルの状態が重複するタプルではなく、各リレーションにキーが必要であることを理解しています。上記の私のスキーマは、これらの制約の両方に矛盾しますが、私の目的のために働きます。ユニークなインデックス属性(IDなど)を追加するだけで済みますが、不要なようです。何か不足していますか?
お時間をいただきありがとうございます。
はい、そうです。複合キーについて考えましたが、属性が候補キーでない場合は不可能です。この場合、idの主キーで各タプルをユニークにするという実質的な利点はありますか? – Lee
主キーの利点は、各タプルを識別できることです。理由を削除したり編集したりする必要がない場合は、アプリを実行するために必要な理由がありません。しかし、私は常に、 "クリーン"なデザインを持つプライマリキーを定義します。 – steven
OK steven、それは意味があります。あなたのご意見ありがとうございます。 – Lee