> Tech > Eviter d’utiliser datetime comme clé primaire

Eviter d’utiliser datetime comme clé primaire

Tech - Par iTPro - Publié le 24 juin 2010
email

Q: Je travaille sur une base de données de gestion de paie et j'ai suggéré à  l'équipe de développement d'utiliser une colonne datetime comme clé primaire d'une table. Les membres de l'équipe me l'ont déconseillé, mais quand j'ai demandé une bonne raison, personne ne s'est mouillé. Pourquoi ne devrais-je pas

Eviter d’utiliser datetime comme clé primaire

utiliser une colonne datetime
comme clé primaire ?

R: J’approuve votre équipe de développement.
En général, il faut éviter
d’utiliser datetime comme clé primaire
pour plusieurs raisons.
Premièrement, datetime est un
type de donnée de 8 octets, et les clés
sont d’autant plus efficaces et rapides
qu’elles sont étroites. Si vous prévoyez une très grande table, il vaut mieux
adopter un type de donnée de type entier,
comme le int de 4 octets ou le
smallint de 2 octets.

Deuxièmement, et bien plus important,
datetime n’est précis qu’au
300e de seconde, ou 3,33 millisecondes
(ms). La table 1, que j’ai copiée
à  partir de SQL Server Books Online
BOL), montre comment SQL Server
arrondit les différentes valeurs datetime.
Par définition, les colonnes de clé
primaire doivent être uniques et vous
ne pouvez pas être certain d’avoir des
valeurs uniques dans une colonne datetime.
Vos règles de gestion édictent
peut-être qu’il est impossible d’entrer
des enregistrements multiples séparés
les uns des autres par 3,33 ms, mais je
pense qu’une telle supposition est
dangereuse. Les règles de gestion et
les suppositions techniques peuvent
toujours changer.

Téléchargez gratuitement cette ressource

Le Guide d’Orchestration du Parcours client

Le Guide d’Orchestration du Parcours client

Au-delà de la clarification des nouveaux concepts de gestion du parcours client, ce guide vous permettra de définir, créer et mettre œuvre une orchestration complète articulée autour des trois volets essentiels au succès de l’expérience client et de l’entreprise.

Tech - Par iTPro - Publié le 24 juin 2010