Proste i proste, pomyśl o opracowaniu bazy danych bez ERD jako o budowie domu bez planu budowy. Może to być wykonalne, ponieważ uważasz, że wystarczy położyć cegłę jeden na drugim, aby coś zbudować, jednak w chwili, gdy ktoś bierze odpowiedzialność za projekt, istnieje ryzyko katastrofy.
Z mojego doświadczenia nie skorzystasz dużo na ERD, chyba że użyjesz ich w połączeniu z narzędziami CASE (ERWin, MySQL Workbench itp.), Które dodatkowo umożliwią wykonanie naprawdę pomocnych operacji, takich jak inżynieria do przodu i do tyłu. Nawet bez tych funkcji posiadanie scentralizowanego schematu kompletnej bazy danych jest przydatne, ponieważ czasami ograniczenia zaimplementowane w samej bazie danych nie wystarczą, aby opowiedzieć pełną historię o relacjach między poszczególnymi jednostkami bazy danych.
Oto przykład dotyczący MySQL, który, jak być może wiesz, implementuje kilka wewnętrznych silników pamięci, w szczególności MyISAM i InnoDB. Istnieją między nimi znaczne różnice, z których jedna jest najważniejsza, ponieważ MyISAM nie obsługuje ograniczeń. Pomimo tego MyISAM jest intensywnie wykorzystywany w aplikacjach internetowych, co oznacza, że logika relacyjna musi zostać zaimplementowana albo przez logikę biznesową (kod aplikacji), albo w inny sposób. Problem polega na tym, że podczas przekazywania inżynierii ERD za pomocą tabel (encji) MyISAM MySQL po cichu zignoruje ograniczenia określone przez ERD i powstanie baza danych, która nie identyfikuje jasno natury relacji między eniami. Innymi słowy, po opracowaniu układu bazy danych twórcy kodu nie mogą zaimplementować prawidłowej logiki biznesowej bez ERD.