Was ist der beste Weg, um Rechnungen in einer Tabelle zu speichern. Der Primärschlüssel wird automatisch generiert, die Rechnungsnummer beginnt jedoch mit der Nummer 1 für jedes Jahr.Mysql (db design) - Speichern von Rechnungen, die von 1 jedes Jahr beginnt
Ist das OK?
invoces ------------------------------------------------ `id` int UNSIGNED NOT NULL AUTO_INCREMENT , `invoice_number` int NOT NULL , `year` year NOT NULL , etc... PRIMARY KEY (`id`)
Rechnungsnummer Spalte wird von 1 auf Jahresbeginn starten.
Thanks :)
EDIT: Problem: Wie determin, wenn ein Jahr endet/beginnt?
Idee: Erstellen Sie eine weitere Tabelle für Jahre. Wenn die Zeit nahe an das Jahr kommt (Spalte für Beispiel 2010 festlegen = 0) und eine Zeile für neues Jahr hinzufügen (z. B. gesetztes Feld = 1 für 2011).
Neues Schema:
invoces ------------------------------------------------ `id` int UNSIGNED NOT NULL AUTO_INCREMENT , `invoice_number` int NOT NULL , `fk_year_id` year NOT NULL , etc... PRIMARY KEY (`id`)
invoces_year ------------------------------------------------ `id` int UNSIGNED NOT NULL AUTO_INCREMENT , `year` year NOT NULL , `opened` tinyint NOT NULL PRIMARY KEY (`id`)
die Rechnungsnummer sollte der Primärschlüssel sein - warum sollten Sie dies jedes Jahr zurücksetzen? –
@ f00: Weil Kunden das so wollen. Zeitraum. – Mchl
@Mchl: Genau :) – Buco