Jeżeli np zmienia się struktura bazy, i przykładowo tam gdzie do tej pory robiliśmy joina z 2 tabel teraz trzeba zrobić z 3. Przez to musimy zmodyfikować w kodzie wszystkie zapytania których ta zmiana dotyczy. Zdaję sobie z tego sprawę że to nie taka wielka różnica bo jak do takiego czegoś dojdzie to i tak będziemy musieli zmienić procedury w bazie danych ale zmiana wtedy opiera się tylko i wyłącznie po stronie bazy danych: struktura bazy i procedury. Kodu aplikacji nie musimy nawet otwierać bo wszystko powinno działać jak przedtem po takiej zmianie. Ma to też swoje zalety w tym że taką modyfikację w aplikacji będzie potrafiła zrobić osoba bez znajomości kodu aplikacji.
Cytat
Dlatego właśnie najpierw się planuje strukturę bazy i projektu a później pisze - wtedy nie ma nieprzewidzianych zmian
Nie wszystko się da przewidzieć na początku projektowania bazy danych. Dobrze zaprojektowana baza danych to fundamenty - ale prędzej czy później będzie trzeba coś zmienić, i jak mamy dobrą bazę to zmiana będzie prosta lub banalna, a jak złą to może być nawet niemożliwa. Więc po co robić sobie jeszcze problem w postaci zmiany w samej aplikacji skoro można tego uniknąć - bo zmiana nie wymaga ingerencji w kod aplikacji.