Мастер-данные, Транзакционные данные, Ссылочные данные ….
Немного букв в качестве напоминания и иллюстраций – под катом.
Мастер-данные
С чего всё начинается? Всё начинается с основных данных (Мастер-данные, Master Data).
Эти данные отражают и описывают существующие объекты, например:
- Товар
- Поставщик
- Сотрудник
- Автомобиль
Именно вокруг реальных объектов и крутятся все информационные системы.
На практике это может быть существующий, но некий нематериальный объект, например:
- Программа
- Книга
- Фильм
Обратите внимание: именно объект, а не некоторый класс объектов; то есть ИменноЭтотСмартфонАйфонПять, а не АйфоныВообще.
Если приводить языковую аналогию – то это ИмяСуществительное и Подлежащее:
- Шайба M16
- ТОО “АстанаЧерМет”
- Иван Петров
- Грузовик Газель
Транзакционные данные
Они же Transactional Data.
Над объектами мы можем проводить некоторые действия. Так как эти действия имеют определённый смысл (иначе их не следует записывать), то значит состояние объектов каким-то образом меняется. И наоборот, если состояние объекта изменилось – то значит кто-то провёл над ним какое-то действие. У любого действия всегда есть некая временная отметка.
Транзакция –> Транс+Акция –> Действие по переходу
Если приводить языковую аналогию – это это Глагол и Сказуемое:
- Товар поступил
- Сотрудник уволился
- Клиент заплатил
- Счёт пополнился
- Автомобиль отремонтирован
Ссылочные данные
Они же Referece Data.
Ссылочные данные – это всего лишь способ описать объекты и действия над ним. Отличие ссылочных данных от просто данных в том, что ссылочные данные отделены от прочих данных используются повторно и многократно.
Например в конструкции “Грузовой автомобиль Газель” можно выделить “Грузовой” в качестве типа автомобиля (классификатор) и “Газель” в качестве марки (каталог).
Эти данные можно выделять, а можно не выделить. Например в контексте учёта Основных средств в Финансовой бухгалтерии имеет смысл выделить классификацию “Грузовой”:
- это важно для налогового учёта, так как для грузовых автомобилей иначе рассчитывается налог;
- это важно для учёта характеристик и правил построения экрана, так как грузовые автомобили обладают особыми информационными полями или характеристиками (Грузоподъёмность).
Но классификация по Маркам практически бессмысленна, так как действие системы над объектом от этого никак не зависят. В данном контексте Марка должна быть максимум просто текстовым полем в карточке Основного средства, а не ссылкой на какой-то список марок. Но в рамках другой информационной системы Марка может иметь более важный смысл.
В контексте системы даже “Автомобиль” можно выделить в качестве классификатора видов оборудования, но тогда конструкция должна будет выглядеть так: “Грузовое оборудование типа автомобиль марки Газель”.
Если приводить языковую аналогию – то это Прилагательные и Наречия, а также всё прочие члены предложения – Дополнения, Обстоятельства):
- Большая шайба поступила на склад
- Неквалифицированный сотрудник громко уволился
- Постоянный клиент быстро заплатил наличными деньгами
- Грузовой автомобиль отремонтирован с заменой запчасти
Можно уточнить, что часто контекст играет роль, так как Основные данные часто могут выступать в роли Ссылочных данных. При этом не всегда ссылочные данные могут выступать в роли основных. Например:
- Клиент заплатил за книгу (клиент – основные данные, книга – ссылочные данные), и книга отпущена со склада (книга – основные данные, склад – ссылочные данные). Но над складом могут выполняться ещё действия: если они входят в контекст информационной системы (склад поставлен на переучёт) – то можно считать склад основными данными.
- Клиент заплатил за услугу (услуга – ссылочные данные), но (и всё, услуга в контексте не используется в качестве подлежащего).
Производные и прочие случаи
Но реальная жизнь в информационной системе, как и реальный язык – гораздо сложнее наших трёх сосен. Ведь одно и то же событие можно выразить по-разному:
- Товар поступил на склад от Петрова
- Склад принял товар от Петрова
- Петров принёс товар на склад
Поэтому контекст целевой информационной системы должен накладывать точку зрения, например:
- Товар поступил – материальный учёт в производстве
- Склад принял – учёт в дистрибуции
- Петров принёс – учёт в служба доставки
Справочник
Вообще есть какая-то нездоровая тенденция называть справочниками всё подряд, что не имеет прямого отношения к транзакционным данным. Вот например часто слышу употребление определения “справочник” применительно к курсу валют. А дай людям волю – так и транзакционные данные станут называть справочником.
Классификатор
Классификатор – вид ссылочных данных с дополнительными требованиями:
- список отражает не объекты, а признаки/характеристики для их группировки
- элементы списка не пересекаются
- список систематизирован и упорядочен
- каждый элемент имеет уникальный код, выработанный по определённому принципу
- для элементов может быть задана внутренняя иерархия или группировка
- список покрывает всю затрагиваемую область
Как правило, классификатор вводится полностью и единомоментно. Хороший классификатор не меняется или меняется очень редко, но при этом утверждается полностью заново.
Правильный классификатор всегда полностью закрывает некоторую тематическую область. Таким образом в некотором классификаторе цветов всегда должен быть “Зелёный”, а если объект имеет цвет “Бирюзовый”, отсутствующий в классификаторе, тогда объект должен быть классифицирован по наибольшему соответствию (“Синий” или “Зелёный”). В том числе поэтому расширение классификации задним числом не есть простое действие.
Словарь
Словарь – самый простой тип ссылочных данных . Это простой список, в котором всего два поля: Ключ+Значение (Код+Описание и тому подобное).
Каталог
Перечень объектов (основных данных); например каталог товаров, поставщиков.
Реестр
Журнал – последовательная историческая запись транзакций.
НСИ
Совокупность методической и справочной информации.
Интерпретация в SAP
В SAP ERP принято делить данные именно на эти три типа:
- Основные данные – мастер-данные.
- Пользовательская настройка / Customizing – ссылочные данные, не являющиеся основными данными
- Переменные данные – транзакционные данные
Кроме этого можно выделить особый тип ссылочных данных:
- Отдельные значения / Fixed values – словарь, связанный с типом данных (доменом) и отсутствующий в виде отдельной таблицы БД. Такие словари низкого уровня настраиваются только разработчиками и никогда не меняются.