Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Специализация иерархий, специализация решеток и разделенные подклассы



Подкласс в свою очередь может иметь подклассы, специфированные на нем, образуя иерархию или решетку спе-циализаций. Например, на рис.21 ИНЖЕНЕР является подклассом объекта СЛУЖАЩИЙ, а также суперклассом для ИНЖЕНЕР_УПРАВЛЕНЕЦ; этим подчеркивается реальное ограничение, что каждыйуправ-ляющий должен быть инжене-ром.

Иерархическая специализация характеризуется тем, что каждый подкласс участвует (как подкласс) только в одной суперкласс/подкласс связи, в то время как для решетчатой специализации подкласс может быть подклассом в более чем одной суперкласс/подкласс связи. Пример решетки приведен на рис.21.

На рис.22 показана другая решетка специализации имеющая более чем один уровень. Ее можно рассматривать как часть концептуальной схемы базы данных Университета. Заметим, что она иерархическая, кроме как для подкласса ПРАКТИКАНТ, который является подклассом двух различных суперкласс/подкласс связей. Все экземпляры типа объекта ЛИЦО специализированы в трех подклассах {СЛУЖАЩИЙ, СЛУШАТЕЛЬ, СТУДЕНТ}. Эта специализация перекрещивающаяся, так как, например, СЛУШАТЕЛЬ может быть одновременно и СЛУЖАЩИМ и/или СТУДЕНТОМ, желающим получить следующую ступень.

В такой решетке или иерархии специализации подкласс наследует атрибуты не только его прямого суперкласса, но также всех его предшествующих суперклассов на всем пути к корню. Например, каждый экземпляр подкласса ВЫПУСКНИК наследует значения всех атрибутов как объекта СТУДЕНТ, так и объекта ЛИЦО. Заметим, что объект может существовать в нескольких конечных узлах иерархии. Так, например, член подкласса ВЫПУСКНИК может быть также членом подкласса ПРАКТИКАНТ_ИССЛЕДОВАТЕЛЬ, так как и тот и другой подклассы имеют общим родителем суперкласс ЛИЦО.

Подкласс с более чем одним суперклассом называется распределенным подклассом (shared subclass). Например, каждый ИНЖЕНЕР-УПРАВЛЕНЕЦ должен быть и ИНЖЕНЕРОМ и УПРАВЛЕНЦЕМ и работать НА_ОКЛАДЕ. Следовательно, ИНЖЕНЕР-УПРАВЛЕНЕЦ - распределенный подкласс всех трех суперклассов (рис.21). Заметим, именно распределенные подклассы ведут к решетке; если же нет распределенных подклассов, то мы скорее имеем иерархию, нежели решетку.

Хотя мы использовали специализацию для иллюстрации рассуждений, все это применимо для обобщения. Следовательно, мы можем говорить об иерархии обобщения и решетке обобщения. В следующем разделе мы обсудим различия между этими процессами. В процессе специализации мы обычно начинаем с типа объекта и затем определяем подклассы этого типа; т.е. мы повторно определяем более специфические образования типа объекта. Например, когда проектировалась специализация (Рис. 21), мы сначала специфицировали тип объекта ЛИЦО в базе данных Университета. Затем обнаружили, что три типа лиц будут представлены в Базе данных. Мы организовали специализацию и выбрали ограничение пересечения, так как лицо может быть в нескольких подклассах и т.д. Эта последовательная специализация соответствует концептуальному уточнению сверху-вниз (top-down conceptual refinement) при проектировании концептуальной схемы. Таким образом, мы имеем иерархию; затем мы обнаружили, что ПРАКТИКАНТ является распределенным подклассом, поскольку он также подкласс СТУДЕНТА, что привело к решетке.

Возможно получить то же самое двигаясь в другом направлении. В этом случае процесс обобщения предпочтительнее специализации и соответствует снизу-вверх концептуальному синтезированию (bottom-up conceptual synthesis). В структурных обозначениях результат будет одинаковым; единственное различие в порядке, в котором схема суперклассов и подклассов специфицируется.

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





Дата публикования: 2015-09-17; Прочитано: 368 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...