Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.

Основные задачи:

  • Обеспечение хранения в БД всей необходимой информации.
  • Обеспечение возможности получения данных по всем необходимым запросам.
  • Сокращение избыточности и дублирования данных.
  • Обеспечение целостности базы данных.

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

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

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

Индивидуальная разработка баз данных и приложений заключается в разработке программного продукта «с нуля», оптимизированного под специфические задачи бизнеса и определенные корпоративные требования клиента.

Может быть, наиболее важным этапом проектирования базы данных является само его начало и мозговой штурм. Это то, что позволяет любому разработчику получить всю необходимую информацию заранее и реализовывать задуманное по мере необходимости. Только имея всю необходимую информацию для проектирования, можно создать эффективную базу данных с правильно связанными таблицами.
Любая база данных должна быть эффективной и масштабируемой. Данные постоянно редактируются, добавляются, удаляются, поэтому важным будет содержать базу данных организованной таким образом, чтобы поддерживать этот постоянно изменяющийся набор данных.