Проще говоря, подумайте о разработке базы данных без ERD, как о строительстве дома без плана здания. Это может быть выполнимо, потому что вы думаете, что простого наложения кирпича друг на друга достаточно, чтобы что-то построить, однако в тот момент, когда кто-то другой берет на себя ответственность за проект, возникает опасность бедствия.
По моему опыту, вы не получите большой пользы от ERD, если не будете использовать их вместе с инструментами CASE (ERWin, MySQL Workbench и т. Д.), Которые дополнительно позволят вам выполнять некоторые действительно полезные операции, такие как прямое и обратное проектирование. Даже без этих функций полезно иметь централизованную схему всей базы данных, потому что иногда ограничений, реализованных в самой базе данных, недостаточно для того, чтобы рассказать полную историю об отношениях между конкретными объектами базы данных.
Вот пример использования MySQL, который, как вы, возможно, знаете, реализует несколько внутренних механизмов хранения, в частности MyISAM и InnoDB. Между ними есть существенные различия, одним из самых важных является то, что MyISAM не поддерживает ограничения. Несмотря на это, MyISAM интенсивно используется для веб-приложений, что означает, что реляционная логика должна быть реализована либо с помощью бизнес-логики (кода приложения), либо иным способом. Проблема в том, что когда вы отправляете инженера ERD с таблицами (сущностями) MyISAM, MySQL будет молча игнорировать ограничения, установленные ERD, и вы получите базу данных, которая не будет четко определять природу отношений между сущностями. Другими словами, после разработки макета базы данных разработчики кода не смогут реализовать правильную бизнес-логику без ERD.