logo

Обобщение, специализация и агрегиране в ER модел

Използването на ER модела за по-големи данни създава много сложност при проектирането на модел на база данни. Така че, за да се минимизира сложността, в ER модела бяха въведени генерализация, специализация и агрегиране. Те бяха използвани за абстракция на данни. В който се използва механизъм за абстракция, за да се скрият подробности за набор от обекти. 

Обобщение

Генерализацията е процес на извличане на общи свойства от набор от обекти и създаване на обобщен обект от него. Това е подход отдолу нагоре, при който два или повече обекта могат да бъдат обобщени до обект от по-високо ниво, ако имат някои общи атрибути.

Генерализация Специализация и агрегиране в ER модел' title=Обобщение

Пример: СТУДЕНТ и ФАКУЛТЕТ могат да бъдат обобщени до обект от по-високо ниво, наречен ЛИЦЕ, както е показано на диаграмата по-долу. В този случай общите атрибути като P_NAME и P_ADD стават част от по-висок образувание (ЛИЦЕ) и спец атрибути като S_FEE станете част от специализиран субект (STUDENT). 



Специализация

При специализацията субектът се разделя на под-субекти въз основа на неговите характеристики. Това е подход отгоре надолу, при който субектът от по-високо ниво е специализиран в две или повече по-ниско ниво образувания .

Генерализация Специализация и агрегиране в ER модел' loading='lazy' title=Специализация

Пример: обект EMPLOYEE в система за управление на служители може да бъде специализиран в DEVELOPER TESTER и т.н. В този случай общите атрибути като E_NAME E_SAL и т.н. стават част от по-висок обект (EMPLOYEE), а специализираните атрибути като TES_TYPE стават част от специализиран обект (TESTER). 

Наследство

Това е важна характеристика на генерализацията и специализацията. При специализацията субект от по-високо ниво се разделя на под-субекти от по-ниско ниво, които наследяват неговите атрибути. При обобщение подобни обекти от по-ниско ниво се комбинират в обект от по-високо ниво, който притежава общи атрибути. И в двата случая наследяването позволява на подсубектите да използват повторно свойствата на родителския обект.

  1. Наследяване на атрибути: Той позволява на обекти от по-ниско ниво да наследяват атрибутите на обекти от по-високо ниво и обратно. В диаграмата обект Car е наследство на обект Vehicle, така че Car може да придобие атрибути на Vehicle. Пример: Автомобилът може да придобие атрибут Модел на превозно средство.
  2. Наследяване на връзката : Подсубектите също наследяват връзките на родителския обект.
  3. Преодоляване на наследяването : Под-субектите могат да заменят или добавят свои собствени атрибути или поведения, различни от родителския.
  4. Наследство при участие: Наследяването на участието в ER моделирането се отнася до наследяването на ограниченията за участие от обект от по-високо ниво (суперклас) към обект от по-ниско ниво (подклас). Той гарантира, че подкласовете се придържат към едни и същи правила за участие в отношенията, въпреки че самите атрибути и отношения се наследяват по различен начин.
Генерализация Специализация и агрегиране в ER модел' loading='lazy' title=Пример за връзка

Пример: В диаграмата обектът Vehicle има връзка с обекта Cycle, но няма автоматично да придобие самата връзка с обекта Vehicle. Наследяването на участието се отнася само до наследяването на ограниченията за участие, а не до действителните връзки между обектите.

Агрегиране

  • Една ER диаграма не е в състояние да представи връзката между обект и връзка, която може да се изисква в някои сценарии.
  • В тези случаи връзката със съответните й обекти се агрегира в обект от по-високо ниво.
  • Агрегирането е абстракция, чрез която можем да представим връзки като набори от обекти от по-високо ниво.
Генерализация Специализация и агрегиране в ER модел' loading='lazy' title=Агрегиране

Пример: служител, работещ по проект, може да изисква някои машини. Така че връзката REQUIRE е необходима между връзката WORKS_FOR и обекта MACHINERY. Използването на връзка WORKS_FOR за агрегиране с неговите обекти EMPLOYEE и PROJECT се агрегира в един обект и връзката REQUIRE се създава между обобщения обект и MACHINERY.

Представяне на агрегиране чрез схема

За да представите агрегация в релационна схема, изпълнете следните стъпки:

1. Създайте схема за агрегирана връзка

  • Това ще се третира като набор от обекти.
  • Той включва първичните ключове на участващите обекти в базовата връзка.
  • Той също така включва всички описателни атрибути на основната връзка.

2. Създаване на схема за връзката на по-високо ниво (обединяване)

  • Тази схема включва: Първичния ключ на схемата на обобщената връзка.
  • Първичният ключ на асоциирания обект, към който се отнася.
  • Всички допълнителни описателни атрибути на тази връзка от по-високо ниво.