私は純粋なリレーショナル デザインが好きですが、データを格納するためのエンティティ/値メソッドが必要になる場合があります。特に、ユーザーが新しいタイプのデータを頻繁に作成する必要がある場合。
一部の商用ソフトウェアでは、EV テーブルを使用するのではなく、標準テーブルを動的に作成するのを見てきました。
明らかに、これはすべてを解決するソリューションではなく、定義できるデータの種類を制限した場合にのみ機能します。ただし、次の利点があります。
- モデルは明確に定義されています。スキーマを理解するためにスキーマを調査する必要はありません。
- テーブルはそのタイプのデータのデータのみを保持するため、パフォーマンスが向上します。したがって、明らかに無関係な行をクエリする必要はありません。
- 同様に、インデックスは、テーブルが定義するデータ型の値のみを保持するため、パフォーマンスが向上します。(つまり、EV モデルでは、インデックスが valueid,entityid の場合 - インデックスを分割しない限り、クエリとは関係のないエンティティの値を検索することになります)。
私にはこれは素晴らしいことのように思えますが、このアイデアを DBA に実行させると、歯を食いしばることになります。これは良い考えですか、落とし穴は何ですか、そして誰かがこれをやろうとしましたか?