Моделирование данных: разработка вашей структуры данных

Когда вы храните или просматриваете данные в своем приложении, важной частью проекта является структура данных. Обдумайте не только то, как данные будут использоваться в одном конкретном приложении или экране, но и то, как другие будут использовать эти данные. Возвращаясь к своим пользователям, задачам, бизнес-процессам и целям, вы сможете определить, какие данные хранить и как их структурировать.

Совет

Хотя это было написано для базы данных Access, в этой статье об основах разработки данных есть хорошее общее обсуждение принципов моделирования данных: Основы разработки баз данных.

Давайте возьмем следующий отчет о расходах в качестве примера.

Пример отчета о расходах.

Вы видите основную часть отчета о расходах, в которой указаны имя сотрудника и данные подразделения. Ниже основной части вы видите несколько строк описаний для каждой купленной позиции. Давайте назовем это элементами линий. Структура элементов линий отличается от основной части отчета о расходах. Таким образом, мы можем сказать, что для каждого отчета о расходах есть несколько элементов линий.

Чтобы сохранить данные такого рода в базе данных, нам нужно смоделировать структуру данных в структуре базы данных.

Структура данных «один ко многим» (1:N)

Это тип структуры данных, который был описан в предыдущем примере. Основная часть отчета о расходах связана с несколькими элементами линий. (Вы также можете увидеть взаимосвязь с точки зрения элементов линий: множество элементов линий в одном отчете о расходах (N:1).)

Структура данных «многие-ко-многим» (N:N)

Структура данных "многие-ко-многим" — это особый тип. Это для случаев, когда несколько записей могут быть связаны с множеством других записей. Хорошим примером является ваша сеть деловых партнеров. У вас есть несколько деловых партнеров (клиентов и поставщиков), с которыми вы работаете, и эти деловые партнеры также работают с несколькими вашими коллегами.

Несколько человек соединены линиями.

Примеры моделирования данных

Существует несколько типов моделирования, которые могут происходить с системой. Рассмотрим несколько примеров.

Пример 1. Запрос на утверждение выходного

Пример структуры данных запроса на утверждение выходного.

В этом простом примере показаны два набора данных. Один — сотрудник, другой — запрос на выходной. Поскольку каждый сотрудник будет отправлять несколько запросов, отношения здесь "один-ко-многим", где "один" — это сотрудник, а "многие" — это запросы. Данные о сотруднике и данные о запросе на выходной связаны между собой тем, что в качестве общего поля указан номер сотрудника (также известный как ключ).

Пример 2. Утверждение покупки

Пример структуры данных запроса на утверждение покупки.

Здесь структура данных выглядит довольно сложной, но очень похожа на пример отчета о расходах, который обсуждался в начале этой статьи. Каждый поставщик связан с несколькими заказами на покупку. Каждый сотрудник отвечает за несколько заказов на покупку. Следовательно, оба этих набора данных имеют структуру данных "один ко многим".

Поскольку сотрудники могут не всегда использовать одного и того же поставщика, поставщики используются несколькими сотрудниками, и каждый сотрудник работает с несколькими поставщиками. Следовательно, отношения между сотрудниками и продавцами "многие-ко-многим".

Пример 3. Отчетность о расходах

Пример структуры данных отчетности о расходах.

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).