1

ID、名、ミドルネーム、姓をフィールドとして持つEmployeeという名前のテーブルがあります。彼らの好みは別のテーブルに保存されています。各従業員の詳細は、Java サービスを使用して取得されます。すべての従業員は、他の従業員情報を見ることができます。従業員 A、B、C、および D がいるとします。従業員は、表示名のプリファレンスを、最初、中間、最後、または最後、中間、最初に設定できます。従業員 A が自分の表示形式を優先として最初、中間、最後に設定すると、他の従業員のすべての検索結果が優先される形式になるはずです。そのため、結果を取得し、サービスに設定を適用すると考えました。

もう 1 つのオプションは、別のテーブルに設定を適用して、設定テーブルに 2 つの列があり、それぞれの設定が 1 列になるようにすることです。そのため、結果は設定から​​直接取得されます。

最適なアプローチはどれですか?

4

2 に答える 2

1

名前を異なる順序で表示するという好みだけを考慮する必要がある場合、つまりone preferencefirst approachかなりうまくいくでしょう。

(正規化)は、名前の設定、表示する列の設定などsecond approachの場合に役立ちます。user setting multiple preferences (one-to-many relationship)

于 2013-01-15T07:48:40.417 に答える
0

検索結果のフィールド表示順序にのみ影響する場合は、前者の方が良い解決策だと思います。preferencesただし、 の責任についてもう一度考えてみることをお勧めしますpreferences。IMHO、perferencesビューのメタデータとしてのみ使用される場合、Java サービスはそれを Web レイヤーに直接渡す必要があります。次に、Web レイヤーの一部のコンポーネントが を引き継ぎ、perferences対応する表示ロジックを実行します。全体を複雑にしてしまったのかもしれません...

2番目のアプローチについては、拡張性が悪いため、シナリオにはあまり適していません。にさらに表示する必要がある場合perferencesは、テーブルを変更して必要な列を追加する必要があります。TechSpellBound は正しいと思います。 との間に 1 対多の関係をEmployee作成するとpreferencesよいでしょう。

于 2013-01-15T08:33:34.837 に答える