Какую схему базы данных выбрать для оптимальной работы?

Как я могу улучшить структуру существующей схемы данных, учитывая, что у меня есть документы, грузы и документы о перемещении груза, и каждый груз в настоящее время имеет собственные атрибуты?
  • 4 марта 2024 г. 18:58
Ответы на вопрос 2
Для оптимальной работы базы данных в данном случае рекомендуется использовать следующую схему:

1. Таблица "Грузы" (Cargo):
   - cargo_id (идентификатор груза, PRIMARY KEY)
   - name (название груза)
   - weight (вес груза)
   - description (описание груза)
   - other_attributes (дополнительные атрибуты груза)

2. Таблица "Документы" (Documents):
   - document_id (идентификатор документа, PRIMARY KEY)
   - cargo_id (идентификатор груза, FOREIGN KEY ссылающийся на cargo_id таблицы "Грузы")
   - document_type (тип документа)
   - date (дата создания документа)
   - other_attributes (дополнительные атрибуты документа)

3. Таблица "Документы о перемещении груза" (Cargo Documents):
   - movement_id (идентификатор документа о перемещении груза, PRIMARY KEY)
   - cargo_id (идентификатор груза, FOREIGN KEY ссылающийся на cargo_id таблицы "Грузы")
   - from_location (откуда перемещается груз)
   - to_location (куда перемещается груз)
   - date (дата перемещения)
   - other_attributes (дополнительные атрибуты документа о перемещении груза)

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