Guten Tag allerseits,
ich befasse mich schon eine Weile mit Datenbanken und habe auch schon häufiger Kundennummern eingebaut, indem ich einfach den Primärschlüssel einer geeigneten Tabelle verwendet habe.
Jetzt ist es aber so, dass die Kundennummern nicht mit 0001 beginnen sollen, sondern eher pseudo-zufällig wie 1425, 1426, 1427, ...
Weiterhin sollen die Kundennummern eine konstante Länge haben (die 4 Stellen sind nur ein Beispiel) und eventuell ein K wie Kundennummer als Präfix bekommen.
Hier frage ich mich, wie man das am sinnvollsten in einer Datenbank einbaut? Man könnte theoretisch alles in einer Spalte speichern ("K1425"), oder eine 1 Byte Extra-Spalte für den Buchstaben verwenden. Oder man speichert nur die Zahlen als Int und ergänzt den Rest in der Anwendung? Das Präfix war bei einem allgemeinen Suchfeld für effizientere Abfragen gedacht, damit bereits bei der Eingabe von K1... eben keine Telefonnummern, Namensfelder oder ähnliches durchsucht werden. Allerdings könnte man das auch in der Anwendung lösen, aber da fehlt mir die Erfahrung was sinnvoller ist.
Die verwendete Datenbank ist eine aktuelle MariaDB.
Ich danke allen fürs Lesen wünsche noch einen schönen Tag.
StorageWars
ich befasse mich schon eine Weile mit Datenbanken und habe auch schon häufiger Kundennummern eingebaut, indem ich einfach den Primärschlüssel einer geeigneten Tabelle verwendet habe.
Jetzt ist es aber so, dass die Kundennummern nicht mit 0001 beginnen sollen, sondern eher pseudo-zufällig wie 1425, 1426, 1427, ...
Weiterhin sollen die Kundennummern eine konstante Länge haben (die 4 Stellen sind nur ein Beispiel) und eventuell ein K wie Kundennummer als Präfix bekommen.
Hier frage ich mich, wie man das am sinnvollsten in einer Datenbank einbaut? Man könnte theoretisch alles in einer Spalte speichern ("K1425"), oder eine 1 Byte Extra-Spalte für den Buchstaben verwenden. Oder man speichert nur die Zahlen als Int und ergänzt den Rest in der Anwendung? Das Präfix war bei einem allgemeinen Suchfeld für effizientere Abfragen gedacht, damit bereits bei der Eingabe von K1... eben keine Telefonnummern, Namensfelder oder ähnliches durchsucht werden. Allerdings könnte man das auch in der Anwendung lösen, aber da fehlt mir die Erfahrung was sinnvoller ist.
Die verwendete Datenbank ist eine aktuelle MariaDB.
Ich danke allen fürs Lesen wünsche noch einen schönen Tag.
StorageWars
Kommentar