Da rächt sich die Ansicht, dass man man aus Zeit-/Kostengründen beim Datenbankdesign auf die Deklaration der Constraints VWzüchten kann, da man diese ja im Programm berücksichtigt.
Oh, da bist du aber leicht im Irrtum: Selbstverständlich existiert ein eindeutiger Index Ortname-PLZ, so daß dieselbe Variante nicht doppelt vorkommen kann. Die Daten stammen allerdings aus einer Liste, die durch Selbstauskunft von Mitgliedern einer bestimmten Branche entstand – daher diese verschiedenen Schreibweisen für die Orte: Die meisten schreiben zwar ihre PLZ richtig, hängen dann aber ihren Ortsteilbezeichner noch hintendran oder verwenden nur den Ortsteil, z.B.
76227 Durlach oder
76227 Karlsruhe-Durlach oder
76227 Karlsruhe/Durlach statt einfach
76227 Karlsruhe. Ähnliches haben wir hier bei den Telefon-, Fax- und Handynummern. Hier halte ich mich an eine Vorwahlenliste, mit deren Hilfe ich die Vorwahlen abtrenne und mit der Vorwahl, die der PLZ zugeordnet ist, vergleiche. Records, die hier Diskrepanzen aufweisen, werden markiert und müssen später einzeln verifiziert werden (Branchenbuch, Gelbe Seiten etc.).
Ist also nicht immer nur die schon fast sprichwörtliche Dummheit oder Unerfahrenheit des Programmierers, die zu Datenbankfehlern führen kann ...