Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Débuter
Débuter Forum d'entraide pour débuter avec Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2005, 16h50   #1
Nouveau Membre du Club
 
Inscription : août 2002
Messages : 130
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 130
Points : 25
Points : 25
Par défaut clé primaire

bonjour,

doit on utiliser la clé primaire pour gérer la contrainte d'integrité 'ligne en double' lorque plusieurs colonnes sont concernées par cette contraintes ? si par exemple on interdit de trouver 2 fois le sextuple (Col1,col2,col3,col4,col5,col6) dans la table , faut il que ces 6 colonnes composent la clé primaire ? Ou doit on creer une clé numérique et gérer la contraintes par programme ? perso, j'ai un faible pour la deuxieme solution , notamment par rapport aux performances du sgbd ....
pram est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2005, 17h54   #2
Membre confirmé
 
Avatar de TMuet
 
Homme Olivier Muet
Responsable de service informatique
Inscription : septembre 2003
Messages : 222
Détails du profil
Informations personnelles :
Nom : Homme Olivier Muet
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2003
Messages : 222
Points : 254
Points : 254

Sinon à quoi servirait la clé primaire ?
TMuet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2005, 19h15   #3
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Si tes 6 colonnes ne sont pas trop grandes, tu peux aussi les concaténer ou les "hash-coder" pour faire la PK (dans1 colonne dédiée bien sûr)

Mais bon, 6 colonnes...... y aurait pas un souci de modélisation ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2005, 11h46   #4
Nouveau Membre du Club
 
Inscription : août 2002
Messages : 130
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 130
Points : 25
Points : 25
cette question vient du fait que j'ai lu qu'une clé primaire ne devait pas être composées de champs multiples, trop longue, de preference numerique ....
http://sql.developpez.com/modelisation/merise/?page=base#L2.5
pram est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2005, 12h46   #5
Membre confirmé
 
Inscription : mars 2002
Messages : 323
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 323
Points : 280
Points : 280
Tu peux créer une contrainte unique sur les colonnes concernées, ceci n'a rien à voir avec la clef primaire. La clef primaire ne devrait jamais avoir de sens au niveau fonctionnel. Si tes colonnes (Col1,col2,col3,col4,col5,col6) ont un sens pour tes utilisateurs, alors elles ne doivent pas servir de clef primaire.
__________________
creapage.net
laffreuxthomas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2005, 14h31   #6
Nouveau Membre du Club
 
Inscription : août 2002
Messages : 130
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 130
Points : 25
Points : 25
OK merci
pram est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h09.


 
 
 
 
Partenaires

Hébergement Web