私の会社のソフトウェア製品では、多くのデータベース テーブルが「display_order」フィールドを利用しています。ページ上の要素の表示順序を制御する整数です。
私の腸の奥深くで、これは悪い習慣だと感じています。(または、少なくとも、最適とは言えない設計の選択)。しかし、なぜこれが悪い習慣なのか、自分自身を明確にするのに苦労しています。
これまでのところ、私が思いついた唯一の理由は次のとおりです。
ビューをモデルにミックスします。
順序の変更は、多くの異なる行に影響を与える可能性がある高価なデータベース操作です。
多くの場合、要素の順序がわかっている場合、テーブルが十分に小さいため、最初からテーブルが無駄である可能性があります。たとえば、「ステータス」テーブルでは、ステータスは別の「ルックアップ」テーブルではなく、ハードコードされた単純な配列である必要があります。
データベース設計で「display_order」フィールドを回避するための適切な議論はありますか?