DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Объектные классы

Итак, мы рассмотрели записи и атрибуты. Теперь перейдем к объектным классам. Определяя запись каталога, вы указываете в качестве ее типа один или несколько объектных классов. Объектный класс содержит атрибуты и представляет категорию объектов. Он может иметь как обязательные, так и необязательные атрибуты.

Для объектного класса organizationalPerson атрибуты commonName (сп) и surname (sn) являются обязательными, тогда как другие, в том числе telephoneNumber и streetAddress, доступны, но использовать их не обязательно.
Интернет-каталог Oracle предоставляет как стандартные объектные классы LDAP, так и собственные объектные классы. К наборам атрибутов предопределенных объектных классов нельзя добавлять обязательные атрибуты, но вы можете добавлять необязательные атрибуты к существующему объектному классу, а также определять новый объектный класс или объектный подкласс. Вы спрашиваете, что такое подкласс?
Объектный класс "top"
Мой друг Винни возглавляет бейсбольную команду своей корпорации. В его команде 25 человек. Перед каждой игрой он выделяет из состава команды девять человек, которые будут начинать игру, определяя их позиции на поле и последовательность ударов. На языке Интернет-каталога Oracle команда в целом представляет собой объектный суперкласс; назовем его baseballTeam. Группа из девяти игроков — это подкласс, произведенный от baseballTeam. Подкласс наследует все атрибуты своего суперкласса. Записи в Интернет-каталоге Oracle могут наследовать атрибуты множественных объектных классов.
Существует специальный объектный класс, называемый "top" ("вершина"), который служит суперклассом для каждого структурного объектного класса. Атрибуты вершины наследуются каждой записью каталога. В Интернет-каталоге Oracle вершина имеет один обязательный объектный класс с именем objectClass, а также несколько необязательных атрибутов, которые перечислены в таблице 5.2.
Таблица 5.2.
Необязательные атрибуты вершины

Атрибут
Описание
orclGuid
Глобальный идентификатор, остающийся неизменным

при перемещении записи
creatorsName
Имя создателя объектного класса
createTimestamp,
Время создания объектного класса
orclACI
Дополнительный атрибут, модифицируемый пользователем.

Содержит информацию о политике из списка управления доступом

(Access Control List)
orclEntryLevelACI
Многозначный атрибут, содержащий директивы списка

управления доступом

Существует три типа объектных классов: абстрактные (abstract), структурные (structural) и вспомогательные (auxiliary). Абстрактный объектный класс рассматривается как виртуальный и не может быть единственным объектным классом записи. Вершина — это абстрактный класс,
служащий суперклассом для всех остальных объектных классов Интернет-каталога Oracle.
Большинство объектных классов Интернет-каталога Oracle по своей природе являются структурными. Структурные объектные классы определяют, какие виды объектных классов могут создаваться под определенным объектным классом. Например, структурное правило информационного дерева каталога может гласить, что все объектные классы, расположенные непосредственно под объектным классом person, должны описывать физические характеристики этого лица. Это означает, что непосредственно под объектным классом person можно разместить классы gender, hairColor или eyeColor, но не address. Имейте в виду, что сейчас в Интернет-каталоге Oracle не контролируется соблюдение структурных правил. Возможно, в будущем ситуация изменится.
Вспомогательные объектные классы позволяют расширить список атрибутов существующей записи, не переопределяя ее объектные классы. . i=.j Допустим, вы определили запись как экземпляр двух объектных классов, а теперь хотите добавить атрибуты, принадлежащие ни одному из них. Самое простое решение — это создать вспомогательный объектный класс
с необходимыми атрибутами, а потом связать его с записью, не затрагивая существующие объектные классы. Например, у вас есть объектный класс horses (лошади), в который входят арабские скакуны, паломино, пинто и шотландские тяжеловозы. Вам же требуется класс, составленный исключительно из рабочих пород. Чтобы не переопределять существующий объектный класс, можно создать вспомогательный класс с названием workHorses.
 









jAntivirus