\r\n\r\n
データベース管理システムにおける一般化と専門化の違いは、一般化では下位エンティティ間の差異や類似性を無視して上位エンティティを形成するのに対し、専門化では上位エンティティが下位エンティティに分割される点である。
DBMSは、相互に関連するデータの集合であるデータベース管理システムである。DBMSは、データベースにアクセスし、維持し、利用するために使用されるプログラムの組合せである。データベースとは、何らかの形で関連づけられたデータの秩序だった集まりのことである。データベース管理において、データの検索は非常に重要である。データの検索は、データベースへのデータの格納方法によって異なります。データベース管理システムにおいて、一般化と専門化は非常に重要な概念である。一般化では、下位の実体間の区別や類似性を無視して上位の実体を形成し、専門化では、上位の実体が下位の実体に分割される。データベース管理システムには多くのファイルがあり、それらはすべて相互に関連しています。アプリケーションに特化したソフトはたくさんありますが、DBMSはアプリケーションソフトではなく、汎用的なソフトです。データベース管理システムの主な目的は、データを保存しアクセスすることです。データベース管理システムは、データの入力、データの編集、データの共有、データの表示、データの操作を特徴とする。DBMSはまた、ファイルベースのシステムであり、ユーザーにサービスを提供することを目的としたアプリケーション群である。各データベースには、それぞれ別のアプリケーションが存在します。
関係スキーマを設計しなければならないとき、私たちは通常、汎化を使っている。一般的に、デザインはボトムアップで行われます。一般に、エンティティは、いくつかの類似した特性を共有するスキーマを作成するために使用されます。専門化は、トップダウンで行う一般化とは正反対である。エンティティが複数の下位エンティティに分割される。特殊化には継承関係、つまり親子関係がある。下位のエンティティは、上位のエントリから機能を継承する。特殊化は単一のエンティティに適用され、特殊化においてスキーマのサイズが大きくなる。これらの類似した特性が組み合わさって、より高いレベルの実体を形成しています。一般に、下位のエンティティは何らかの共通の特徴を持ち、それらが上位のエンティティに棒状に形成される。この新しい高次元の実体は、さらにいくつかの実体と結合して、再び新しい高次元の実体を形成することになる。下位のエンティティがなければ、上位のエンティティは形成されません。一般化はエントリーのグループに対してのみ使用できます。一般化すると、グループとは自動車のグループ、自転車のグループのようなもので、上位グループはその自動車上位グループから自動車、自転車、バイクに一般化されます。
一般化 | 専門性 |
一般化では、低レベルの実体間の区別や類似性が無視され、結果として高次の実体 | 特殊化では、上位のエンティティが下位のエンティティに分割される。 |
継承 | |
一般化には継承がない | 専門化は遺伝子の遺産 |
サイズ | |
一般化におけるサイズダウン | 専門性の高い規模の成長 |
事業体 | |
エンティティグループに関する一般化作業 | 単発のジョブ特化 |
関係スキーマを設計しなければならないとき、私たちは通常、汎化を使っている。一般化設計では、設計はボトムアップ方式で行われる。一般に、エンティティは、いくつかの類似した特性を共有するスキーマを作成するように設計されています。これらの類似した特性が組み合わさって、より高いレベルの実体を形成しています。一般的には、下位のエンティティが何らかの共通の特徴を持ち、それらが組み合わされて上位のエンティティが形成される、ということが起こります。この新しい高次元の実体は、さらにいくつかの実体と結合し、再び新しい高次元の実体を形成する。下位のエンティティがなければ、上位のエンティティを形成することはできない。一般化はエントリーのグループに対してのみ使用できます。一般にグループとは、自動車の集合、自転車の集合、自転車の集合のようなもので、それに対して上位のグループは、その自動車が由来する乗り物であり、上位のグループは自動車、自転車、自転車に一般化される。
専門化は、トップダウンで行う一般化とは正反対である。エンティティが複数の下位エンティティに分割される。特殊化には継承関係、つまり親子関係がある。下位のエンティティは、上位のエントリから機能を継承する。特殊化は単一のエンティティに適用され、スキーマのサイズは特殊化で増加する。
継承はとても大切なことです。コンピュータプログラミングにおいて、コードの再利用性は非常に重要であり、継承によって同じコードの再利用が可能になる。継承では、他の機能からベースクラスを継承した新しいクラスが作成されます。基底クラスのメンバは派生クラスのメンバになる。プログラミング言語C++の継承には、スーパークラスが1つだけの単一継承、スーパークラスが多数存在する多重継承、スーパークラスが1つでサブクラスが複数ある階層継承、派生クラスが互いに派生する多重継承の5種類がある。Javaで言えば、extended specificというキーワードがあり、このキーワードは継承されたクラスに対して使われる。