0

ソフトウェア インベントリ (php と mysql を使用) を開発する必要があり、データ モデル/設計を計画しています。問題は、すべてのソフトウェア サプライヤが異なるライセンス タイプを持ち、フィールドが異なるため、「ライセンス」テーブルを作成するほど単純ではないことです。

これまでの私の最善の解決策は、「licenses」テーブルと「templates」テーブルを作成し、それぞれに 1 から 10 までの名前が付けられた約 10 個の列があることです。license テーブルにはデータが保持され、templates テーブルにはそのデータのフィールド名の列が保持されます。

これを実装するより良い方法はありますか?

4

1 に答える 1

0

シリアル化がオプションでない場合、別のオプションはキー値設計になります。

Table: LicenceAttributes

LicenceID | FieldName     | FieldValue
1         | numberofusers | 5
1         | cost          | 999
2         | somethingelse | blah

シリアライゼーションと同様に、これは、すべてのライセンスでフィールドが完全に異なる場合にのみ適した設計です。

于 2015-11-11T15:16:19.240 に答える