Что такое словарь данных
Словарь данных (Data Dictionary) — это набор определений элементов данных, которые относятся к предметной области. Его составляют для того, чтобы получить расширенную информацию о сущностях и атрибутах модели данных.
Элемент данных — это единица информации, определение, представление и допустимые значения которой задаются с помощью набора атрибутов.
Словарь данных описывается в спецификации требований к ПО и дополняет глоссарий проекта (список бизнес-терминов и толкований, которые используют заинтересованные лица).
Зачем составлять словарь данных
Словарь данных помогает системным аналитикам убедиться, что они правильно поняли формат и содержание данных, которые заинтересованные лица используют в бизнес-процессах. Словарь позволит избежать ошибок, при которых участники проекта по-разному понимают ключевые данные (то есть те, что используются в разрабатываемой предметной области). Разработчикам же словарь данных поможет определить названия переменных в коде, используемых при создании ПО.
Системному аналитику важно хранить словарь данных в актуальном состоянии. Он не только поможет при разработке новой системы, но и пригодится для того, чтобы поддерживать её, а также создавать похожие системы в будущем (системы одной предметной области часто используют одинаковые данные). Если в компании используются единые определения данных, интеграцию нескольких систем проще реализовать: в процессе команда разработки допускает меньше ошибок и, следовательно, снижается риск новых доработок. Поэтому важно составлять словарь данных не только на уровне системы, но и на корпоративном уровне.
Что входит в словарь данных
В словаре данных содержится информация о типе и формате данных, их описание и допустимые значения. Важно помнить, что в нём используются только бизнес-идентификаторы (например, табельный номер сотрудника предприятия или артикул товара). Словарь данных представляет собой таблицу с пятью столбцами:
- Элемент данных — уникальное название сущности или атрибута с точки зрения модели данных. Элемент данных может быть простым или составным.
- Описание — подробная информация о выбранном элементе данных.
- Структура или тип данных — тип данных для каждого простого элемента данных или структура для составного элемента данных.
- Длина — максимальное количество знаков для выбранного элемента данных. Поле заполняется только для простого элемента данных.
- Значение — перечень значений, которые может принимать элемент данных, или возможные ограничения для него. Поле заполняется только для простого элемента данных.
В таблице не выделяют сущности и атрибуты, но их можно легко заметить, взглянув на структуру элемента данных.
Рассмотрим словарь данных для магазина цветов:
Теперь подробнее поговорим о простых и составных элементах данных.
Простые элементы данных
Простой элемент данных не нужно или невозможно раскладывать на составляющие. Простой элемент данных — это атрибут сущности, если воспринимать словарь с учётом знаний о моделях данных.
В нашем примере простые элементы данных: «телефон», «электронный адрес», «имя клиента», «адрес места проживания», «номер заказа», «дата и время заказа», «дата и время доставки», «статус заказа», «название товара», «описание товара», «количество товара».
В качестве типа данных для простых элементов можно указывать:
- Числовое значение. В словаре данных, который мы составили, элементом с таким типом данных будет «телефон». Элементы данных «номер заказа» и «количество» могут содержать только целое и положительное число, поэтому в типе данных так и укажем: «целое и положительное число». Если вам понадобятся дробные числа, вы можете указать «дробное число».
- Символьное значение. В элементах «имя клиента», «статус заказа», «название товара», «описание» используется только текст. Поскольку текст состоит из букв, системные аналитики называют такой тип данных символьным. Для элементов, в которых используется как текст, так и цифры («электронный адрес», «адрес места проживания») в типе данных будем указывать «символьно-числовое значение».
- Дата и время. Для элементов, которые требуют указать только дату, в типе данных можно так и указывать — «дата», уточнив формат этого значения, например: «дд.мм.гггг» значит, что если нам нужно записать дату 31 декабря 2022 года, то значение в этом поле согласно заданному формату будет «31.12.2022». Если вам нужно хранить только время, в типе данных можно указать «время» и формат «чч:мм». Если нужно хранить и дату, и время, указываем: «дата, время, дд.мм.гггг чч:мм».
- Логическое значение. Для элементов, содержащих значение «истина» (1) или «ложь» (0), тип данных будет указан как «логическое значение».
Составные элементы данных
Составной элемент данных содержит несколько простых элементов. Составной элемент данных — это сущность, которая включает в себя ряд атрибутов.
В нашем примере составные элементы данных — «клиент» (сущность — с точки зрения модели данных) содержит в себе простые элементы «телефон», «электронный адрес», «имя клиента», «адрес места проживания» (атрибуты — с точки зрения модели данных). Также составные элементы — «заказ» (содержит «номер заказа», «дата и время заказа», «дата и время доставки», «статус заказа») и «цветы» (содержит «название товара», «описание товара», «количество товара»).
Для составных элементов указывают не тип данных, а структуру. Поэтому в таблице вы видите последовательность простых элементов, которые формируют структуру каждого составного. Символ «+» показывает, что к одному элементу присоединяется другой.
Необязательные элементы
В структуре могут быть необязательные элементы, их заключают в скобки. «Электронный адрес» в описании структуры составного элемента «клиент» — необязательный элемент, так как клиент может оформить заказ и без этой информации (допустим, только по номеру телефона).
Повторяющиеся элементы
В структуре могут быть повторяющиеся элементы, их заключают в фигурные скобки — {}. Чтобы указать допустимое количество возможных повторов, перед открывающей скобкой используйте формат «минимум:максимум». Например, в элементе «заказ» запись — 1:10 {цветы} — означает, что в заказе должно содержаться от 1 до 10 цветов.
Как составлять словарь данных
В словаре данных нужно определять каждый элемент структуры. Это значит, что, указывая в структуре составного элемента простой, вам нужно описать его и следующие за ним простые элементы в словаре данных.
Если словарь данных состоит из множества элементов, постарайтесь упорядочить записи по алфавиту. Так всем, кто им пользуется, будет проще найти нужную информацию. В структуре составных элементов таких словарей полезно использовать гиперссылки. Удобно кликнуть по слову из структуры составного элемента, чтобы перейти к его определению в другом месте словаря данных.
Пример словаря данных лежит в спецификации требований для проекта Chatty, над которой вы работали во втором спринте. Теперь, зная, что такое словарь данных, зачем он нужен и из чего состоит, вы можете вернуться к нему и изучить его внимательнее.