Sind Nummern überhaupt brauchbare Bezeichner für Projekte?
Gut. Man kann mit Nummern sotieren. Aber das geht auch über das Anlege-Datum des Projekts.
Nimm doch einfach den Namen des Projekts als Schlüssel. Beim Speichern überprüfst du einfach, ob der Name bereits existiert. Falls ja, soll der Projekt-Anleger einen anderen Namen wählen.
Vor der Zeit des knappen Speicherraums (Steinzeit bis 60er Jahre) wurden nämlich Dinge fast nie mit Zahlen oder irgendwelchen fixed-length Strings versehen. Zugegeben vielleicht im naturwissenschaftlichen Bereich manchmal schon (Periodensystem der Elemente). Aber sonst? Heissen unsere Städte vielleicht D-1, D-4, D-5, Bo-1. Oder doch eher Köln, Nürnberg, München, Dresden, Potosí?
Steckt da nicht vielleicht ein tieferer antroposophischer Sinn hinter. Dass sich nämlich das menschliche Hirn besser Folgen von Konsonanten und Vokale mit Dingen verknüpfen kann als irgendwelche Zahlen oder Buchstabenkombinationen wie 003_CB_134234, 14 oder 192.168.1.36
Ich habe solche Diskussionen jetzt, 2007 Jahre p. Chr., in Webservice Projekten.
Jemand: Wir nummerieren die Fehler durch. Nummer 1 heisst: Der Vorgang ist bereits angelegt. Nummer 2 heisst: Es gab ein Verbindungsproblem mit dem Server. Nummer 3 heisst Daten fehlen.
Ich (denke): Oh nein. Nicht schon wieder. Es scheint Spaß zu machen in einem Excel Sheet Zahlen zu schreiben und denen Nachrichten zuzuordnen.
Ich: Und wie sollen die Administratoren wissen, was das bedeutet?
Jemand: Die sollen in der Dokumentation nachschlagen.
Ich: Und wieso geben wir das nicht einfach Klartext in englischer Sprache aus: A Request Discount for this offer allready exists, Cannot connect to the server, The message should contain the field "xxx"
Jemand: Sind Nummern nicht effizienter?
Ich: Nein. Das heisst vielleicht. Aber auf jeden Fall nicht merkbar. Die Vorteile bewegen sich im Tausendstel Millisekundenbereich. Und wir respektieren das Menschenrecht von Administratoren möglichst wenig in irgendwelchen voll langweilig geschriebenen Dokumentationen nachzuschlagen.
Der Grund warum Nummern eine so große Rolle spielen ist, dass
a) früher Speicher wirklich sehr teuer war und
b)
Relationale Datenbanken mit Zahlen als primary und foreign keys tatsächlich deutlich schneller arbeiten können.
Deshalb benutzen von mir angelegte Relationalen Datenbanken für Primär- und Fremdschlüssel
grundsätzlich integer oder bigint. Aber überall anders macht das heute praktisch fast nie Sinn.