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
6548
November 04, 2010 02:43PM
Re: duplicate entry
3036
November 05, 2010 12:46AM
2472
November 05, 2010 06:53AM
2407
November 05, 2010 07:21AM
2711
November 05, 2010 07:43AM
2681
November 05, 2010 07:58AM
2451
November 05, 2010 08:17AM
2594
November 05, 2010 08:23AM
2427
November 08, 2010 10:53AM
2453
November 08, 2010 11:11AM
3082
November 11, 2010 08:32AM
2499
November 11, 2010 08:49AM
2444
November 11, 2010 09:05AM
2347
November 11, 2010 11:12AM
2311
November 11, 2010 01:08PM
2386
November 11, 2010 01:12PM
2431
November 14, 2010 11:06AM
2401
November 14, 2010 12:01PM
2474
November 17, 2010 08:01AM
2708
November 17, 2010 08:41AM
2427
November 21, 2010 10:51AM
2349
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.