Künstliche Schlüssel (Schlüsselfeld nicht Teil der Daten) sind m.E. immer zu bevorzugen. Zudem sollte man die Erzeugung der Werte dem Server überlassen, er kann so sicherstellen, dass diese immer eindeutig sind.
Ja klar, künstliche Schlüssel wären besseres
DB-Design. Aber wo ist da der Zusammenhang mit meinem Problem? Der Kunde wird in beiden Fällen gefunden. Er ist schon ewig in der
DB ist, wurde nicht geändert und wird von der Software mit den Rechnungen verknüft (keine Eingabefehler durch Anwender o.ä.)