Правильный путь в разработке базы данных

Я начал свой первый проект MySQL по разработке ERD, логических и физических диаграмм.

Мой друг делает тот же проект, что и я. План моих баз данных я начал с создания ERD, а затем нормализации.

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

Кто из нас, по вашему мнению, делает план лучше?

2 ответа

Решение

Можно и многие люди написали об этом книгу.

Однако обобщить то, что я обычно делаю, это

  1. Проанализируйте свои данные и уменьшите их до 3-й нормальной формы. Это должно быть довольно формально для достижения.
  2. В свете вероятного делового использования данных решите, должны ли и где данные должны быть денормализованы. Как правило, большинство баз данных в подавляющем большинстве случаев находятся в третьем нормальном состоянии с несколькими критическими исключениями. Эта часть, где опыт и ремесло входят.
  3. В свете вышесказанного создайте любые дополнительные индексы, которые могут потребоваться, или измените существующие первичные индексы (которые должны были быть назначены на этапе 1).
  4. Создавайте представления для доступа пользователей по мере необходимости. Требуемое число может варьироваться от нуля (как в простом встроенном приложении) до многих (как при прямом доступе к таблицам не допускается).
  5. Создайте любые необходимые вам процедуры и, возможно, триггеры (обычно лучше избегать, но они подходят для целей аудита).

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

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

Например, вместо создания таблицы телефонных номеров и сопоставления этих телефонных номеров с таблицей "клиенты", они могут просто вставить столбцы под названием Phone1 Phone2 Phone3... вместо этого. Это может быть поцелуй смерти позже при разработке ваших запросов.

Итак, мой совет... Создайте нормализованную модель данных с помощью ERD. Затем прочитайте о ПРОСМОТРАХ и пользовательских функциях, чтобы "выровнять" вашу схему там, где это необходимо для людей, которые хотят ее запросить. Извините за общий ответ, но это своего рода общий вопрос...

Другие вопросы по тегам