Web サイトのフロントエンドに表示されるデータベースにエンコードされた一連の記事があるとします。
カスタム定義の順序付けのサポートが追加された場合、これをデータベースでどのように表現できますか?
PS: 記事が複数のリストに表示される場合があります。
Web サイトのフロントエンドに表示されるデータベースにエンコードされた一連の記事があるとします。
カスタム定義の順序付けのサポートが追加された場合、これをデータベースでどのように表現できますか?
PS: 記事が複数のリストに表示される場合があります。
ユーザー定義の順序をデータベースに格納する唯一の方法は、テーブル内のデータの行として保存することです。そのためには、列が必要です
最初の 2 つは簡単です。注文を保存するには、いくつかの方法があります。通常、設計の目標は、順序を書き直す必要性を減らすことです。
create table user_defined_order (
user_id integer not null references users (user_id),
article_id integer not null references articles (article_id),
sort_order <sort_data_type> not null,
primary key (user_id, article_id),
unique (user_id, sort_order)
);
最後の制約 はunique (user_id, sort_order)
、アプリケーションに依存します。
sort_data_type オプション
データ型が異なれば、挿入および順序変更のオプションも異なります。最も一般的に使用されるのは
私があなたを正しく理解していれば、すべてのユーザーが注文を異なる順序で表示できます。すべてのユーザーが ID を持っていると仮定すると、ユーザー ID/記事 ID/表示順序の 3 つのフィールドで構成されるテーブルが必要になります。ここで、ユーザー ID と記事 ID がテーブルの複合主キーを提供します。