多くのアプリケーションでは、テーブルのレコードに「完了」、「ドラフト」、「キャンセル」などのステータスを設定する必要があります。これらのステータスを保存する最良の方法は何ですか?私がここで得ているものを説明するのは、*非常に短い)例です。
簡単なブログアプリケーションがあり、各投稿のステータスは、公開済み、下書き、保留中のいずれかです。
私がそれを見る方法は、データベースでこれをモデル化する2つの方法があります。
- Postテーブルには、ステータステキストを含むテキストフィールドがあります。
- Postテーブルには、PostStatusテーブル内のレコードのIDを含むステータスフィールドがあります
ここのブログの例は、非常に単純な例です。列挙型(サポートされている場合)で十分な場合があります。ただし、ステータスのリストはいつでも変更される可能性があることを考慮に入れて、質問への回答が欲しいので、追加または削除できます。
誰もがそれぞれの長所/短所を説明できますか?
乾杯!
これに関する私の最初の選択は、別のテーブルを使用し、正規化に適しているとステータスを調べる方が良いことです。正規化はデータベースに適しているといつも教えられてきました