1

私は仕事のためにWebベースのデバイス管理システムに取り組んでいますが、必要に応じてフィールドを追加するオプションをユーザーに提示する際に問題が発生しました。たとえば、一部のデバイスには、4xドライブ、6xRAMモジュールなどがあります。これまでの私のオプションは...

  • 各タイプのフィールドがX個になるようにMySQLデータベースをハードコーディングします。4つのディスクドライブフィールド、6つのRAMモジュールフィールドなど。ただし、ほとんどのマシンはこれより少なく、一部のマシンはかなり多い場合があります。

  • 複数の
    値を持つ可能性のあるタイプごとにテーブルを作成します。device_drivesテーブル、device_memoryテーブルなど。

これを行うためのより効率的な(そして動的な)方法はありますか?私が考えた両方の方法はかなりばかげているようです。これはその視覚的な例です。赤い矢印は、ユーザーがクリックしてそのタイプの別のアイコンを追加できるアイコンを表しています。

ここに画像の説明を入力してください

4

1 に答える 1

0

なぜそれはばかげているように聞こえますか?データベースに1億個のアイテムがあるとします。新しいフィールドタイプが追加されるたびにそのテーブルを変更しますか?それは賢く聞こえますか?

別の解決策を提案します。フィールドタイプ用のテーブルとフィールド値用の別のテーブルを作成できます。このようにして、構成データをデバイスデータから分離できます。これは良い考えです。デバイスにあるフィールドタイプの数、すべてのフィールドにある値の数、またはフィールドタイプまたは値を追加する場合でも、このアーキテクチャで安全です。

フィールドの視覚的な作成については、右側に「+」を追加するだけで、クリック可能になり、現在のフィールドの下に別の同様のフィールドが作成されます。

于 2012-12-12T11:13:33.040 に答える