Расширение объектов и классы

Разрешите одному или нескольким дочерним объектам совместно использовать поля и записи с родительского объекта.

Администраторы и разработчики приложений обычно расширяют объекты, чтобы создать набор связанных записей, которые совместно используют информацию. Например, в базовой системе объекты Task (core_task) и Configuration Item (cmdb_ci) имеют несколько расширений:

Примеры расширенных объектов

Исходный объект

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

Задачи (core_task)

Incident (itsm_incident)

Problem (istm_problem)

Change (change_request)

Конфигурационные единицы [cmdb_ci]

Приложения [cmdb_ci_appl]

Компьютерные системы [cmdb_ci_computer]

Базы данных [cmdb_ci_database]

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

Создание объектов

Создает отдельную таблицу базы данных для родительского класса и каждого дочернего класса.

Поля производные от родительского класса

Дочерние классы получают поля из родительских классов.

Свойства объекта созданные для родительского класса

Родительский класс имеет запись свойств объекта [sys_properties] для каждого поля, которое может быть получено дочерним классом.

Записи свойств объекта, созданные для дочерних классов

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