Einzelnen Beitrag anzeigen

DCoderHH

Registriert seit: 4. Feb 2015
Ort: Hamburg
84 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Wie eindeutige Rechnungsnummer in DB erstellen und speichern?

  Alt 5. Dez 2016, 10:24
Datenbank: Firebird • Version: 2.5 • Zugriff über: DevArt IBDAC
In unser Inhouse-Kunden-DB hatten wir bisher die Rechnungsnummer als Interger-Feld (Primärschlüssel), fortlaufend von 1 bis 2 erzeugt über einen Generator.

Nun soll eine Tochterfirma von uns auch die Software nutzen. Diese vergibt die Rechnungsnummer aber nach dem Schema YYYY-MM-N. Y=Aktuelles Jahr, M=Aktueller Monat, N=Fortlaufende Nummer von 1 bis n im aktuellen Monat.

Wie kann ich solche Rechnungsnummern eindeutig erzeugen? (Löcher sind in beiden Fällen erlaubt. Nur fortlaufend soll es sein.) Anmerkung: Die Datenbestände beider Firmen sind vollständig getrennt und werden nicht vermischt. Es gibt also immer die eine Art der Rechnungsnummer oder die andere Art. Nie beide gleichzeitig.

Wie sollen die Rechnungsnummern am jetzt am Besten gespeichert werden? Ein VarChar-Feld, dass dann für uns eine numerische Kundennumer enthält und für die Tocherfirma das Format YYYY-MM-N? Das ganze dann immer noch als Primärschlüssel? Ein Kollege meinte, das macht man nicht (hat aber keine Begründung). Er würde zusätzlich zur VarChar-Kundennummer noch ein ID-Feld (Integer) einführen, das nur programmintern als Primärschlüssel genutzt wird und andere Tabellen darüber verknüpft werden. Sollte man das machen? Vor-/Nachteile davon?

Geändert von DCoderHH ( 5. Dez 2016 um 10:28 Uhr)
  Mit Zitat antworten Zitat