Старший архитектор программного обеспечения: пример базы данных — ER-диаграмма и диаграмма потоков данных
Старший архитектор программного обеспечения: пример базы данных — ER-диаграмма и диаграмма потоков данных

1. Объяснение

Преобразование диаграммы потока данных (DFD) в диаграмму отношений сущностей (диаграмма ER) — важный шаг, который может помочь преобразовать динамический процесс системы в статическую модель данных. Вот некоторые примеры и шаги, которые помогут вам в этом процессе:

1. Понимание диаграмм потоков данных
  • Определить процесс:Процесс представляет собой функцию или операцию в системе.。
  • Определить хранилище данных:хранение данные — это место, где сохраняются данные.
  • Определить внешние сущности:Внешние сущности — это внешние источники или получатели, которые взаимодействуют с системой.。
  • Определить потоки данных:поток данные обозначают внешние объекты, процессы и хранение. Данные перемещаются между данными.
2. Определите сущности
  • Определите сущности из хранилища данных:каждыйхранение данные обычно соответствуют сущности. Например, если поток данных На картинке есть «Информация о клиенте». данных, то на диаграмме ER может присутствовать сущность «Клиент».
  • рассмотреть внешние сущности:иногда,Внешние сущности также можно преобразовать в сущности на диаграмме ER. Например,Внешняя сущность «Поставщик» может быть представлена ​​на диаграмме ER как сущность «Поставщик».
3. Определите атрибуты
  • Определите атрибуты каждой сущности:отпоток Найдите свойства каждого объекта в данных. Например, сущность клиента может иметь такие атрибуты, как имя, адрес и номер телефона.
  • Учитывайте содержимое вашего хранилища данных:хранение Поля данных обычно можно преобразовать в атрибуты сущностей.
4. Определите отношения
  • Определить отношения между сущностями:смотретьпоток данныхна картинкепоток данных, определить, какие сущности имеют между собой связи. Например, если поток заказов данные клиентам и продукту,тогда может быть“Клиент Заказ”а также“Заказ Включатьпродукт”отношение。
  • Определить тип отношений:Убедитесь, что отношения1верно1、1верно Более или болееверномного。Например,У клиента может быть несколько заказов (от одного до нескольких).,И один Заказ Может Включатьмного个продукт(многоверномного)。
5. Ключ метки
  • Определить первичный ключ:длякаждый实体定义一个唯一标识符作для主键。Например,Первичным ключом сущности клиента может быть идентификатор клиента.
  • Определить внешние ключи:Используйте внешние ключи в отношениях для соединения разных объектов.。Например,Сущность заказа может содержать идентификатор клиента в качестве внешнего ключа.,Указывает на сущность клиента.
6. Повторная проверка и оптимизация
  • Проверьте согласованность:убеждатьсяпоток Вся информация в диаграмме данных отражена в диаграмме ER.
  • Модель оптимизации:исследоватьERкартина,Посмотрите, есть ли какие-либо избыточные сущности или отношения.,Или можно ли модель абстрагировать и упростить дальше.
Пример

Рассмотрим простую диаграмму потока данных со следующими элементами:

  • Внешняя сущность: клиент
  • Процесс: Размещение заказа
  • хранение данные: информация о клиенте、Информация о заказе、продуктинформация
  • поток данные: информация о клиенте(клиент->Вниз Заказ),Информация о заказе(Вниз Заказ->Информация о заказе),продуктинформация(Информация о заказе->продуктинформация)

Из этих элементов можно построить следующую диаграмму ER:

  • Объект: Клиент、Заказ、продукт
  • Атрибут: Клиент (CustomerID、Имя、адрес),Заказ (идентификатор заказа, дата заказа, идентификатор клиента),продукт(продуктID、продуктимя、цена)
  • связь:Клиент Заказ(1верномного),Заказ Включатьпродукт(многоверномного)

С помощью описанных выше шагов диаграмму потока данных можно эффективно преобразовать в диаграмму ER, заложив основу для последующего проектирования и реализации базы данных.

2. Название

Вставьте сюда описание изображения
Вставьте сюда описание изображения

Прямоугольник на диаграмме ER представляет сущность. Уже есть офицеры по безопасности, заместители менеджеров по безопасности, а также менеджеры проектов и администраторы проектов.

Поскольку руководитель проекта подтверждает информацию, (2) заполните имя руководителя проекта. Поскольку администратор проекта заполняет информацию о проекте, (1) укажите администратора проекта.

Поскольку данные, которыми управляет сотрудник по безопасности, заместитель менеджера по безопасности и руководитель проекта, представляют собой «таблицу данных индикаторов проекта», (3) должны быть данными индикаторов проекта.

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose