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

       

Мы придерживаемся другой точки зрения


Мы придерживаемся другой точки зрения по этому вопросу. Существуют прототипы, демонстрирующие, как добавлять к реляционным системам большую часть рассматриваемых конструкторов типов. Например, в [STON83] показано, как добавлять последовательности записей, [ZANI83] и [DADA86] указывают, как создавать некоторые сложные объекты, а [OSBO86, STON86] демонстрируют, как включать системы с абстрактными типами данных (АТД). Мы утверждаем, что все обсуждаемые конструкторы типов можно добавить к реляционным системам как естественное расширение, и что технология этого расширения достаточно хорошо продумана.

Более того, коммерческие реляционные системы с некоторыми из перечисленных возможностей уже начали появляться.Наше следующее предложение по управлению объектами касается наследования.

Предложение 1.2: Наследование – хорошая идея.

Об этой конструкции было сказано немало, так что будем кратки. Возможность организации типов в иерархию наследования – хорошая идея. Более того, нам кажется, что существенно множественное наследование, так что иерархия наследования должна представляться ориентированным графом. Поддержка только единичного наследования оказывается недостаточной для адекватного моделирования подавляющего большинства ситуаций. Рассмотрим, например, коллекцию представителей типа PERSON. Пусть существуют две специализации типа PERSON – студент (STUDENT) и служащий (EMPLOYEE). Наконец, имеются студенты-служащие (STUDENT EMPLOYEE), которые должны наследовать свойства и студентов, и служащих. В каждом случае элементы данных, соответствующие коллекции, задаются при его определении, а прочие наследуются из родительских коллекций. Диаграмма этой ситуации, требующей множественного наследования, изображена на рис. 1.



Рисунок 1. Типичная иерархия множественного наследования.

Отметим, что хотя в работе [ATKI89] и защищается идея наследования, множественное наследование там приводится как необязательная возможность.

Желательно также иметь коллекции, для которых не определяются дополнительные поля.

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