Классика баз данных - статьи

       

Иерархии классов или типов


Для классов или типов следует поддерживать наследование

Наследование обладает двумя достоинствами:

  • оно является мощным средством моделирования, поскольку обеспечивает возможность краткого и точного описания мира;
  • эта возможность помогает факторизовать, спецификации и реализации, совместно используемые в приложениях.

Следующий пример иллюстрирует потребность наличия в системе наследования. Допустим, что мы имеем дело со Cлужащими и Студентами. Каждый Cлужащий

имеет имя, возраст более 18 лет и оклад, он или она может умереть, выйти замуж или жениться или получить зарплату (как скучна жизнь Cлужащего!). Каждый Студент имеет имя, возраст и множество оценок. Он или она может умереть, выйти замуж или жениться, и для него или нее может быть вычислен GPA (Grade Point Average, средний академический балл).

В реляционной системе проектировщик базы данных определяет отношение для Cлужащего, отношение для Студента, пишет программы для реализации операций умереть, жениться и получить зарплату над отношением Cлужащий

и программы для реализации операций умереть, жениться, и вычислить GPA над отношением Студент. Таким образом, прикладной программист должен написать шесть программ.

В объектно-ориентированной системе, используя свойство наследования, мы распознаем, что каждый Cлужащий и Студент является Человеком; таким образом, они имеют кое-что общее (то, что каждый из них является Человеком) и некоторые различия.

Мы вводим тип Человек, атрибутами которого являются имя и возраст

и пишем программы для реализации операций умереть и жениться для этого типа. Затем мы объявляем, что Cлужащие являются особой разновидностью Человека, в которой наследуются атрибуты и операции типа Человек и имеются свои собственные атрибут оклад и операция получить зарплату. Аналогично, мы объявляем, что Студент является специальной разновидностью Человека со своими собственными атрибутом набор оценок и операцией вычислить GPA. В этом случае мы имеем более структурированное и краткое описание схемы (мы факторизовали спецификацию), и нам потребовалось написать всего четыре программы (мы факторизовали реализацию).

Содержание  Назад  Вперед