汎化と特殊化は互いに正反対です。 さらに、一般化と特殊化の違いを比較表を使って説明します。
比較表
比較基準 | 一般化 | 特化 |
---|---|---|
基本 | それはボトムアップ方式で進みます。 | それはトップダウン方式で進みます。 |
関数 | 汎化は、複数のエンティティの共通の機能を抽出して新しいエンティティを形成します。 | スペシャライゼーションはエンティティを分割して、分割エンティティの機能を継承する複数の新しいエンティティを形成します。 |
実体 | 上位レベルのエンティティは下位レベルのエンティティを持つ必要があります。 | 上位レベルのエンティティに下位レベルのエンティティがない場合があります。 |
サイズ | 汎化はスキーマのサイズを縮小します。 | 特殊化はスキーマのサイズを大きくします。 |
応用 | エンティティのグループ上の汎化エンティティ。 | 特殊化は単一のエンティティに適用されます。 |
結果 | 汎化により、複数のエンティティから単一のエンティティが形成されます。 | 専門化により、単一のエンティティから複数のエンティティが形成されます。 |
汎化の定義
一般化 、この用語は、リレーショナルスキーマを設計する際によく使用されます。 設計がボトムアップ方式で進めば、それは一般化として取り上げられます。 スキーマを作成するために考え出されたエンティティがいくつかの同様の機能を共有している場合は、それらが組み合わされてより高レベルのエンティティを形成します。
一般化では、いくつかの下位レベルのエンティティが共通の特性を持っている場合、新しい上位レベルのエンティティを形成するためにいくつかのエンティティとさらに結合する新しい上位レベルのエンティティを形成するためにそれらがクラブされます。 一般化では、下位のエンティティなしに上位のエンティティが存在することはあり得ません。
一般化は常にエンティティのグループに適用され、概説するとスキーマのサイズが小さくなるようです。
一般化の例を議論しましょう。 私があなたにいくつかの家具を挙げるように頼むならば、それは勉強台 、 ダイニングテーブル 、 コンピュータテーブル 、 肘掛け椅子 、 折りたたみ椅子 、 オフィスチェア 、 ダブルベッド 、 シングルベッドと言うのが一般的ですそしてリストはそうです。
家具実体は、上で論じたすべての実体の一般化実体です。
専門の定義
スペシャライゼーションは、 トップダウン方式で進行する設計手順です。 特殊化は一般化とは正反対です。 専門化では、エンティティを分割して複数の下位レベルのエンティティを形成します。 これらの新しく形成された下位レベルのエンティティは、上位レベルのエンティティのいくつかの機能を継承します。
上位レベルのエンティティがそれ以上分割されない可能性があるため、下位レベルのエンティティが存在しない可能性があります。 特殊化は常に単一のエンティティに適用され、概説するとスキーマのサイズが大きくなります。
例として、特殊化について説明します。 動物というエンティティを取り、それに特殊化を適用しましょう。 実体の動物はさらに、 両生類 、 爬虫類 、 鳥類 、 哺乳類など 、リストが長い場合がありますが、特殊化を説明するにはこれで十分です。
これは、特殊化によってエンティティの数が増え、スキーマのサイズが大きくなることです。
一般化とDBMSの特殊化の主な違い
- 汎化と特殊化の根本的な違いは、汎化がボトムアップアプローチであるということです。 ただし、特殊化はトップダウンアプローチです。
- 一般化クラブは、いくつかの共通の特性を共有するすべてのエンティティを新しいエンティティを形成するために使用します。 その一方で、特殊化はエンティティをこぼして、分割されたエンティティの一部のプロパティを継承する複数の新しいエンティティを形成しました。
- 一般化では、上位エンティティは下位エンティティをいくつか持つ必要がありますが、特殊化では、上位エンティティに下位エンティティが存在しないことがあります。
- 一般化はスキーマのサイズを縮小するのに役立ちますが、特殊化はエンティティの数を増やすことでスキーマのサイズを大きくするのとは正反対です。
- 汎化は常にエンティティのグループに適用されますが、特殊化は常に単一のエンティティに適用されます。
- 汎化は単一のエンティティの形成をもたらしますが、特殊化は複数の新しいエンティティの形成をもたらします。
結論:
汎化と特殊化はどちらも設計手順であり、どちらもスキーマを設計するために同様に重要です。 どちらを使用するかは、ユーザーの要件によって異なります。