Basit ve basit, ERD'siz bir veri tabanı geliştirmeyi, inşaat planı olmayan bir ev inşa etmeyi düşünün. Bu yapılabilir çünkü bir şeyi inşa etmek için sadece bir tuğla döşemenin yeterli olduğunu düşünüyorsunuz, ancak bir başkası proje üzerinde sorumluluk aldığında afet potansiyeli var.
Deneyimlerime göre, ileri ve geri mühendislik gibi gerçekten yararlı işlemler gerçekleştirmenize izin verecek olan CASE araçları (ERWin, MySQL Workbench vb.) İle birlikte kullanmazsanız ERD'lerden çok fazla faydalanmayacaksınız. Bu işlevler olmadan bile, tam veritabanının merkezi bir şemasına sahip olmak yararlıdır, çünkü bazen veritabanında uygulanan kısıtlamalar, belirli veritabanı varlıkları arasındaki ilişkiler hakkındaki tüm hikayeyi anlatmak için yeterli değildir.
İşte bildiğiniz gibi, başta MyISAM ve InnoDB olmak üzere birçok dahili depolama motorunu uygulayan MySQL'i içeren bir örnek. Aralarında en önemli olanlardan biri de MyISAM'ın kısıtlamaları desteklememesidir. Buna rağmen MyISAM, web uygulamaları için yoğun bir şekilde kullanılmaktadır, bu da ilişkisel mantığın iş mantığı (uygulama kodu) veya başka bir şekilde uygulanması gerektiği anlamına gelir. Sorun, bir ERD'yi MyISAM tabloları (varlıkları) ile ilettiğinizde MySQL, ERD tarafından belirlenen kısıtlamaları sessizce göz ardı edecek ve varlıklar arasındaki ilişkilerin doğasını açıkça tanımlamayan bir veritabanı ile sonuçlanacaktır. Başka bir deyişle, veritabanı düzenini geliştirdikten sonra, kod geliştiricilerinin bir ERD olmadan uygun iş mantığını uygulamasının bir yolu yoktur.