Как лучше всего хранить счета в одной таблице. Первичный ключ генерируется автоматически, но номер счета начинается с номера 1. Каждый год.
Это нормально?
invoces
------------------------------------------------
`id` int UNSIGNED NOT NULL AUTO_INCREMENT ,
`invoice_number` int NOT NULL ,
`year` year NOT NULL ,
etc...
PRIMARY KEY (`id`)
Столбец номера счета начинается с 1 в начале года.
Спасибо:)
EDIT:
Проблема: Как определить, когда год заканчивается / начинается?
Идея: создать еще одну таблицу на годы. Когда наступает время закрытия года (установите столбец, например, для 2010, установите значение «Открыто = 0») и добавьте строку для нового года (например, установите поле «Открыто = 1» для значения 2011).
Новая схема:
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`)