Bonjour à tous.
Dans le cadre d'une restructuration (et normalisation) d'une base de données un peu ancienne j'aimerai connaitre votre avis sur un point.
J'ai une table ou je stocke des périodes d'affinage pour des huîtres. Ma base actuelle stocke les périodes avec un format de colonne DATE ce qui simplifie les calculs quand je calcul un nombre de jour d'affinage.
Seulement voilà, les périodes d'affinage sont définies par le couple JJ/MM et peu importe l'année (ex: affinage du 15/03 au 31/09). L'interface utilisateur de mon application n'affiche que le jour et le mois de la période mais l'année est bien présente dans la table. J'ai pensé utiliser des types SMALLINT pour stocker le jour et le mois du début et de fin d'affinage mais les calculs sont plus compliqué.Code:
1
2
3
4
5
6
7
8 CREATE TABLE T_AFFINAGE_PERIODE_AFP ( AFP_ID INTEGER NOT NULL, AFP_DEBUT DATE NOT NULL, AFP_FIN DATE NOT NULL, ..., CONSTRAINT PK_AFFINAGE_PERIODE PRIMARY KEY (AFP_ID) );
J'aimerai en fait pouvoir stocker une date au format JJ/MM sans l'année.Code:
1
2
3
4
5
6
7
8
9
10 CREATE TABLE T_AFFINAGE_PERIODE_AFP ( AFP_ID INTEGER NOT NULL, AFP_JOUR_DEBUT SMALLINT NOT NULL, AFP_MOIS_DEBUT SMALLINT NOT NULL, AFP_JOUR_FIN SMALLINT NOT NULL, AFP_MOIS_FIN SMALLINT NOT NULL, ..., CONSTRAINT PK_AFFINAGE_PERIODE PRIMARY KEY (AFP_ID) );
Merci.