Page 1 sur 1
Clé primaire et timestamp ?
Posté : 10 nov. 2013, 18:01
par xTG
Bonjour à toutes et à tous,
j'ai cet à priori depuis un moment, est-ce mal d'utiliser un timestamp comme clé primaire ?
(dans mon cas un entier + un timestamp comme clé)
J'ai l'impression qu'on m'avait inculqué que c'était mal d'utiliser une date comme index mais j'ai pas trouvé de référence à ce propos sur le net et ça me travaille.

Re: Clé primaire et timestamp ?
Posté : 10 nov. 2013, 22:00
par franckm
La bonne pratique me dirait qu'on devrait toujours utiliser un entier avec incrémentation de 1 à chaque fois mais dans l'absolu dès l'instant où la clé que tu génères est unique et qu'elles ont une logique de suite alors pourquoi pas ?
Par contre, sur MySql ou Oracle, on peut générer un séquence automatique avec une date ?
Re: Clé primaire et timestamp ?
Posté : 10 nov. 2013, 23:00
par xTG
Cela ne sera pas une séquence automatique, j'ai une table contenant des logs.
Ma clé est donc : int;timestamp
Avec l'entier pointant sur un élément d'une autre table.
Donc aucun champs configuré pour une séquence automatique.
Mais sachant qu'il ne pourra y avoir plusieurs logs sur la même seconde ce n'est pas un souci.
Re: Clé primaire et timestamp ?
Posté : 10 nov. 2013, 23:35
par franckm
Je pense (mais à confirmer) qu'une clé primaire doit avoir comme contrainte seule son unicité lui permettant de pouvoir distinguer à coup sûr une ligne d'une autre.
Qu'elle ne soit pas séquentielle ne me semble pas gênant et les définitions ne semblent pas l'intégrer comme contrainte obligatoire.