Принципы моделирования активов

В системах управления типами активов ключевыми механизмами организации данных являются иерархия и наследование. Эти концепции позволяют моделировать сложные структуры и связи, однако их некорректное применение приводит к ошибкам в проектировании. Цель статьи — разграничить понятия иерархии и наследования, объяснить их особенности и предложить рекомендации для эффективного использования.

Основные концепции

Наследование: от общего к частному

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

Особенности:

  • Передача атрибутов:

    • Базовые атрибуты (например, ID, Название) наследуются автоматически.

    • Дополнительные атрибуты (например, Версия, Описание) могут быть выбраны пользователем.

  • Использование:

    • Моделирование отношений общее → частное.

    • Пример: Родительский тип: "Таблица" → Дочерний тип: "Логическая таблица" → Дочерний тип: "Физическая таблица"

Иерархия: часть и целое

Иерархия — структура, которая организует типы активов через отношение "часть-целое". Реализуется с помощью свойства "Вложенная связь".

Особенности:

  • Структурные связи:

    • Актив-родитель содержит дочерние активы как составные части.

    • Пример: Тип "Таблица" → Тип "Колонка" (вложенная связь).

Примечание

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

Сравнение наследования и иерархии

Критерий

Наследование

Иерархия

Цель

Специализация типов

Организация структуры данных

Отношения

«Родитель → потомок»

«Целое → часть»

Атрибуты

Наследуются

Не наследуются

Пример

Логическая таблица → Физическая таблица

Таблица → Колонка

Рекомендации по проектированию

Когда использовать наследование?

  • Если нужно создать специализированный тип на основе общего шаблона.

  • Пример: Базовый тип: Документ.

    • Дочерние типы: Договор, Акт, Счет.

Когда использовать иерархию?

  • Если нужно отразить физическую или логическую структуру данных.

  • Пример: База данных → Схема → Таблица → Колонка.