2

私はポータルモデルを持っています。すべてのユーザーが独自のポータルを取得します。ユーザーは、そのポータルの複数のページでさまざまな文字列をカスタマイズして、顧客を表示できるようになりました。全体で約 50 個の文字列があり、平均的なユーザーはデフォルトから約 7 個に変更します。

1 つの方法は、ページごとにテーブルを使用し、ページの文字列をそのテーブルに列としてプッシュし、それらのテーブルをポータルにマップすることです。ただし、これにより、5 つの追加のテーブル、モデル、および対応するフォームの管理が作成されます。また、これらは非常にまばらなテーブルになります。

これにはもっと良い方法がありますか?

4

1 に答える 1

1

ページごとに別の表があるのはなぜですか? 用語がページ間で共有される可能性が非常に高く、新しいページをアプリに追加すると、新しいテーブルを追加する必要があります??!!

私の好みは、「用語」がhtmlで使用される値であり、もう1つがユーザーの好みである1つのテーブルを持つことです

table user_strings (
  user_id int not null
  term varchar not null
  val varchar not null
  primary key(user_id, term)
  foreign key (user_id) references user(id) on delete cascade
  index (term)
)

複合主キーを使用していない場合は、デフォルト ID を追加します

于 2013-07-23T14:12:34.687 に答える