MySQL Forums
Forum List  »  French

Re: duplicate entry
Posted by: Jean Molliné
Date: November 05, 2010 12:46AM

Il faudrait avoir un aperçu au moins partiel du modèle de données pour se faire une idée. Un « data truncated » indique une valeur trop longue par rapport à la taille définie de la colonne concernée, et le « duplicate entry » une tentative d'insertion d'une valeur déjà existante dans une colonne possédant un index UNIQUE ou PRIMARY KEY. Si, dans le cas présent, ladite clé primaire est composite, c'est alors que l'association est déjà existante en lien avec d'autres données.

Tout dépend en fait de la façon dont a été modélisée la base. J'ai pour ma part tendance à ne jamais utiliser de valeur « signifiante » comme clé primaire : il y a la possibilité d'utiliser une colonne auto-incrémentée pour ça et je la considère comme une sorte de valeur système. Quant aux clés composites, elles concernent les tables relationnelles dans des relations n:n, elles restent cependant à la base les clés primaires des tables liées pour former comme clés étrangère dans la table relationnelle la clé primaire. Rien n'empêche si nécessaire d'indexer d'autres colonnes comme UNIQUE. On peut par exemple concevoir une table de catalogue de produits avec des numéros de références individuels qui ne peuvent représenter qu'un seul et unique produit, mais même là je ne m'en servirais pas comme clé primaire. Ça évite d'avoir à se casser la tête sur la création d'algorithmes de calcul pour définir la prochaine valeur et ça laisse la porte ouverte à un changement de la structure du numéro de référence produit pour l'entreprise. Cette valeur est une donnée métier, la clé primaire est une donnée système, on doit éviter les conflits possibles, non seulement au moment de la conception mais également sur le long terme.

______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)

Options: ReplyQuote


Subject
Views
Written By
Posted
6500
November 04, 2010 02:43PM
Re: duplicate entry
2995
November 05, 2010 12:46AM
2431
November 05, 2010 06:53AM
2363
November 05, 2010 07:21AM
2674
November 05, 2010 07:43AM
2647
November 05, 2010 07:58AM
2409
November 05, 2010 08:17AM
2559
November 05, 2010 08:23AM
2392
November 08, 2010 10:53AM
2425
November 08, 2010 11:11AM
3042
November 11, 2010 08:32AM
2469
November 11, 2010 08:49AM
2406
November 11, 2010 09:05AM
2310
November 11, 2010 11:12AM
2271
November 11, 2010 01:08PM
2353
November 11, 2010 01:12PM
2396
November 14, 2010 11:06AM
2356
November 14, 2010 12:01PM
2427
November 17, 2010 08:01AM
2666
November 17, 2010 08:41AM
2392
November 21, 2010 10:51AM
2307
November 21, 2010 12:30PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.