Моделирование данных: разработка вашей структуры данных
Когда вы храните или просматриваете данные в своем приложении, важной частью проекта является структура данных. Обдумайте не только то, как данные будут использоваться в одном конкретном приложении или экране, но и то, как другие будут использовать эти данные. Возвращаясь к своим пользователям, задачам, бизнес-процессам и целям, вы сможете определить, какие данные хранить и как их структурировать.
Совет
Хотя это было написано для базы данных Access, в этой статье об основах разработки данных есть хорошее общее обсуждение принципов моделирования данных: Основы разработки баз данных.
Давайте возьмем следующий отчет о расходах в качестве примера.
Вы видите основную часть отчета о расходах, в которой указаны имя сотрудника и данные подразделения. Ниже основной части вы видите несколько строк описаний для каждой купленной позиции. Давайте назовем это элементами линий. Структура элементов линий отличается от основной части отчета о расходах. Таким образом, мы можем сказать, что для каждого отчета о расходах есть несколько элементов линий.
Чтобы сохранить данные такого рода в базе данных, нам нужно смоделировать структуру данных в структуре базы данных.
Структура данных «один ко многим» (1:N)
Это тип структуры данных, который был описан в предыдущем примере. Основная часть отчета о расходах связана с несколькими элементами линий. (Вы также можете увидеть взаимосвязь с точки зрения элементов линий: множество элементов линий в одном отчете о расходах (N:1).)
Структура данных «многие-ко-многим» (N:N)
Структура данных "многие-ко-многим" — это особый тип. Это для случаев, когда несколько записей могут быть связаны с множеством других записей. Хорошим примером является ваша сеть деловых партнеров. У вас есть несколько деловых партнеров (клиентов и поставщиков), с которыми вы работаете, и эти деловые партнеры также работают с несколькими вашими коллегами.
Примеры моделирования данных
Существует несколько типов моделирования, которые могут происходить с системой. Рассмотрим несколько примеров.
Пример 1. Запрос на утверждение выходного
В этом простом примере показаны два набора данных. Один — сотрудник, другой — запрос на выходной. Поскольку каждый сотрудник будет отправлять несколько запросов, отношения здесь "один-ко-многим", где "один" — это сотрудник, а "многие" — это запросы. Данные о сотруднике и данные о запросе на выходной связаны между собой тем, что в качестве общего поля указан номер сотрудника (также известный как ключ).
Пример 2. Утверждение покупки
Здесь структура данных выглядит довольно сложной, но очень похожа на пример отчета о расходах, который обсуждался в начале этой статьи. Каждый поставщик связан с несколькими заказами на покупку. Каждый сотрудник отвечает за несколько заказов на покупку. Следовательно, оба этих набора данных имеют структуру данных "один ко многим".
Поскольку сотрудники могут не всегда использовать одного и того же поставщика, поставщики используются несколькими сотрудниками, и каждый сотрудник работает с несколькими поставщиками. Следовательно, отношения между сотрудниками и продавцами "многие-ко-многим".
Пример 3. Отчетность о расходах
Примечание
Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).
Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).