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.