DBMS スペシャリゼーション

スペシャリゼーションは、エンティティをサブエンティティに分割するプロセスです。これは一般化の逆プロセスと考えることができます。一般化では、2つのエンティティが結合して新しい上位のエンティティを形成しますが、スペシャリゼーションはトップダウンのプロセスです。

スペシャリゼーションのアイデアは、いくつかの区別属性を持つエンティティのサブセットを見つけることです。例えば、エンティティ「employee(従業員)」を考えてみましょう。これは「Technician(技術者)」、「Engineer(エンジニア)」、「Accountant(会計士)」のサブエンティティに更に分類できます。なぜなら、これらのサブエンティティはいくつかの区別属性を持っているからです。

スペシャリゼーションの例

上記のダイアグラムでは、「Employee」という上位のエンティティを「Technician」、「Engineer」、「Accountant」というサブエンティティに分割しているのが見て取れます。これらはすべて同じ会社の従業員ですが、役割はまったく異なり、いくつか異なる属性を持っています。例として、Technicianはサービスリクエストを処理し、Engineerはプロジェクトに取り組み、Accountantは信用および借方の詳細を処理すると仮定しています。これらの3つの従業員タイプは、名前や給与などいくつかの共通の属性を持っていますが、これらの属性は上記のダイアグラムに示されているように親エンティティ「Employee」に関連付けられています。

Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です