ルックアップ値(コンボボックス値)をhtmlページに保存するのではなく、データベースに保存するのはなぜですか?

combobox html lookup lookup-tables
ルックアップ値(コンボボックス値)をhtmlページに保存するのではなく、データベースに保存するのはなぜですか?

データベースにコンボボックスの値(アプリケーションの静的なルックアップ値(文字列など))を保存することと、HTMLページ自体に直接保存することをサポートする一般的な引数は何ですか?

  1  0


ベストアンサー

その理由は、データをUIから分離するためです。

データを単一の場所に配置する目的は、サイトの変更、修正、更新を簡単にすることです。 10個のフォームがあり、それぞれに状態のドロップダウンが必要な場合、後で状態を追加するには10ページのテキストを変更する必要があります。

ドロップダウンが1つしかない場合でも、分離することでメンテナンスが容易になります。

4


最善の議論は、データベースにこれらの値を保持することは、ページ上の値がデータベースにあるべきもの、またはデータベースに挿入するために選択できる値と常に同期していることだと思います。

選択できる色のリストがあるとします。 HTMLページで、ユーザーが「赤」、「緑」、「青」、「黄色」を選択できるようにします。 データベースはこれを反映しています。

数週間後、紫色の機能も追加しました。 そのため、ユーザーはHTMLページで「紫色」を選択できますが、データベースについては忘れます。 一部のユーザーは「purple」を選択し、選択内容をデータベースに挿入しようとしますが、「purple」は現在データベースにある有効な値ではないため、外部キー制約エラーが発生します!

数週間後、「黄色」の機能は削除されました。 今回は、データベースから黄色を削除することを忘れないでください。ただし、HTMLページは忘れてください。 そのため、ユーザーは「黄色」を選択し、選択内容をデータベースに挿入しようとしますが、同じ外部キー制約エラーが発生します!

さらに1週間後、「ピンク」の機能を追加します。 今回は、データベースに追加することを忘れないでくださいが、HTMLページは忘れてください。 現在、ユーザーは、UIが更新されていないため、データベースで許可されているクールな「ピンク」機能を利用できません。

データベースから可能な値を取得するだけで、このような場合にはデータベースのみを更新する必要があります。

3


ルックアップ値は時間とともに変化する可能性があるためです。 データベースに追加するのは非常に簡単で、コードを正しくコーディングすると、UIにも表示されます。 頻繁にルックアップ値を他の操作で使用することもできるため、UI(特にIISによって提供された後にのみ「使用可能」である)でそれらをスタックさせると、それらに到達できなくなります。

また、リストを多くの場所で使用する前に1か所で定義することをお勧めします(更新が容易になります)。そのため、データベースはこの場所に適しています。 データベースが適切でないか使用できない場合は、アセンブリまたは共有モジュールのいずれかで宣言された列挙などの別のメカニズムを使用できます。

2


データベースにリストを保存するもう1つの理由は、リストが変更される可能性があることです。 誰かがリスト内の既存のアイテムの1つを変更するか、リスト内のアイテムを追加またはドロップしたいと思うでしょう。

Webページの新しいバージョンを再デプロイするよりも、データベース内のデータを変更する方が簡単です。

2


これらの値を複数のページで使用する場合、これらの値のいずれかが変更されたり、値が追加または削除されたりすると、リストを維持するのが難しくなります。

1


  • データとプレゼンテーションの分離。データを次の場所に表示できます。
    複数の方法

  • データが1か所にのみ保存されている場合、データを最新の状態に維持しやすくなります。

  • ローカライズが簡単。

  • メタデータをdbに追加すると、フィルタリングが簡単になります

1


タイトルとURLをコピーしました