Dann hast du SQL nicht verstanden.

CREATE TABLE ist für die spätere Verarbeitung performanter (64K Blockgröße, statt 4K).

In Programmen hat SQL gerade den Vorteil, nur die Daten zu lesen, die man tatsächlich benötigt.
Einzig der Insert kann Probleme bereiten.
Werden allerdings über Trigger oder per CREATE TABLE sinnvolle Defaults eingetragen, benötigt man beim Insert tatsächlich nur die relevanten Felder.

Erst recht gilt dies für den Update, da ich gerade hier nur die zu verändernden Felder angeben muss.

Eine Compilierung oder gar Anpassung bestehender Programme ist nicht erforderlich.
Neue Felder werden eben nur von den neuen/geänderten Programmen verwendet. Alle anderen interressiert das nicht.

Bei DDS musst du tatsächlich alle betroffenen Programme wandeln.