まったく異なるプロパティを持つ広範囲のアイテムタイプ(> 200)をホストする基本エンティティ(アイテム)があります。私はクリーンでポータブルで高速なソリューションを望んでおり、mabyには私が知らない名前があるという考えを思いつきました。
ここに行きます:
items-entityは、基本クラスフィールドとサブクラスフィールドの追加フィールドを保持しますが、ダミー名は、ItemID、ItemNo、ItemTypeID、int1、int2、dec1、dec2、dec3、str1、str2です。
参照されるitemtype-recordは、タイプの名前と子エンティティ(1:n)を保持します。
itemtypefields [itemtypeid、name、type、realfield]の例[53、MaxPressure、dec、dec3]
制限事項:
- ベースクラスでフィールド要件を見積もるのは難しい
- 子タイプに基づいてドメイン/チェック制約を追加するのが難しい
- タグ付きSQLを実際のクエリに変換するためのアプリケーション層が必要
- 共有属性は異なる「実フィールド」に定義される可能性があるため、一度に1つのタイプのみを照会できます。
3番目の箇条書きの説明:
select ItemNo,_MaxPressure_ from items where ItemTypeID=10 and _MaxPressure_>42
should translate to:
select ItemNo,dec3 as MaxPressure from items where ItemType=10 and dec3>42
(spまたはudfの権利でそれを行うことはできません-またはそれは可能でしょうか?)
しかし、次の利点があります。
- パフォーマンス
- CRUD操作のしやすさ
- アプリケーションレベルでの並べ替え/フィルタリングが簡単です。
さて、名前はありますか?