DBMSの一般化と専門化の違い
コンテンツ
一般化と専門化の両方の用語は、より一般的です オブジェクト指向技術、また、 データベース 同じ機能を備えています。 一般化 違いを無視し、下位エンティティまたは子クラスまたはリレーション(DBMSのテーブル)間の類似性を認識して上位エンティティを形成すると発生します。ただし、 専門化、 上位のエンティティをこぼして下位のエンティティを形成し、それらの下位のエンティティ間の違いを発見しました。
一般化と専門化は、まったく正反対です。さらに、比較チャートを使用して、一般化と専門化の違いについて説明します。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | 一般化 | 専門化 |
---|---|---|
ベーシック | ボトムアップ方式で進行します。 | トップダウン方式で進行します。 |
関数 | 汎化は、複数のエンティティの共通機能を抽出して新しいエンティティを形成します。 | スペシャライゼーションは、エンティティを分割して、分割エンティティの機能を継承する複数の新しいエンティティを形成します。 |
エンティティ | 上位エンティティには下位エンティティが必要です。 | 上位レベルのエンティティには下位レベルのエンティティがない場合があります。 |
サイズ | 汎化により、スキーマのサイズが小さくなります。 | 特殊化により、スキーマのサイズが増加します。 |
応用 | エンティティのグループの一般化エンティティ。 | 専門化は単一のエンティティに適用されます。 |
結果 | 一般化により、複数のエンティティから単一のエンティティが形成されます。 | 専門化により、単一のエンティティから複数のエンティティが形成されます。 |
汎化の定義
一般化、この用語は、リレーショナルスキーマの設計時によく使用されます。設計が 一気飲み マナーとしてそれは一般化として紹介されています。スキーマを作成するために考え出されたエンティティが類似の機能を共有している場合、それらは結合されてより高レベルのエンティティを形成します。
一般化では、いくつかの低レベルのエンティティが共通の特性を持っている場合、それらはいくつかのエンティティとさらに結合して新しい高レベルのエンティティを形成する新しい高レベルのエンティティを形成するためにクラブされます。一般化では、低レベルのエンティティなしに高レベルのエンティティは存在できません。
汎化は常にエンティティのグループに適用され、概観するとそれは 減らす スキーマのサイズ。
一般化の例を議論しましょう。家具に名前を付けるように頼むと、よく言われます 勉強台, ダイニングテーブル, コンピューターテーブル, 肘掛け椅子, 折りたたみ椅子, 事務用椅子, ダブルベッド, シングルベッド そしてリストはそうです。
ここで、これらの家具を一般化します。ここでは、学習テーブル、ダイニングテーブル、コンピューターテーブル、すべてはテーブルのようなものなので、これらのエンティティを新しい上位レベルのエンティティに一般化します 表。エンティティのアームチェア、折りたたみ椅子、オフィスチェアは椅子の一種であるため、新しい上位レベルのエンティティを形成します 椅子。エンティティダブルベッド、シングルベッドを組み合わせて上位エンティティを形成 ベッド。現在、3つの上位レベルのエンティティテーブル、椅子、ベッドがあり、これらをさらにクラブ化して新しい上位レベルのエンティティを形成できます。 家具.家具エンティティは、前述のすべてのエンティティの一般化されたエンティティです。
専門分野の定義
専門化 に進む設計手順です トップダウンマナー。専門化は一般化の反対です。専門化では、エンティティを分割して複数の下位レベルエンティティを形成します。これらの新しく形成された低レベルエンティティは、高レベルエンティティの一部の機能を継承します。
上位レベルのエンティティがさらに分割されない可能性があり、したがって、下位レベルのエンティティが存在しない場合があります。専門化は常に単一のエンティティに適用され、概観するとスキーマのサイズが大きくなります。
Letusは例の助けを借りて専門化について議論します。エンティティを取りましょう 動物 そしてそれに特化を適用します。実体動物はさらに中にこぼれることができます 両生類, 爬虫類, 鳥, ほ乳類 リストは長いですが、これだけで専門性を説明できます。
エンティティの両生類はさらに分割することができます クロコダイル, アリゲーター, カエルエンティティ爬虫類はに分割します ヘビ, トカゲ。エンティティ鳥はに分割することができます すずめ, 鳩, オウム。哺乳類は 虎, ライオン, 象.これにより、特殊化によりエンティティの数が増加し、スキーマのサイズが増加します。
- 汎化と特殊化の根本的な違いは、汎化がボトムアップのアプローチであることです。ただし、専門化はトップダウンのアプローチです。
- 一般化クラブは、いくつかの共通のプロパティを共有して新しいエンティティを形成するすべてのエンティティです。一方、スペシャライゼーションはエンティティを流出させ、スピルティッドエンティティの一部のプロパティを継承する複数の新しいエンティティを形成しました。
- 一般化では、上位エンティティには下位エンティティが必要ですが、特殊化では上位エンティティには下位エンティティが存在しない場合があります。
- 汎化はスキーマのサイズを小さくするのに役立ちますが、特殊化はその反対であり、エンティティの数を増やしてスキーマのサイズを大きくします。
- 汎化は常にエンティティのグループに適用されますが、特殊化は常に単一のエンティティに適用されます。
- 一般化により単一のエンティティが形成されますが、スペシャライゼーションにより複数の新しいエンティティが形成されます。
結論:
一般化と特殊化はどちらも設計手順であり、両方ともスキーマを設計するために等しく重要です。どちらを使用するかは、ユーザーの要件によって異なります。