Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
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 12/07/2008, 15h49   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 14
Points : 7
Points : 7
Par défaut Comment nommer ma clé primaire ?

Bonjour,
Depuis quelques temps j'ai pris l'habitude de nommer la clé primaire de chacun de mes tables "uid" et je me demande maintenant si cette habitude est la bonne.

En regardant un peu les relations entre tables et autres histoire de clés étrangères je me rends compte que dans la plupart des exemples la clé se nomme "nomdelatable_id"

Par exemple pour une table "articles" j'obtiens "articles_id".

Jusqu'à présent les sites que je développais n'avait pas de tables complexes (sans relations entre-elles).

Mais maintenant je suis en train de développer un nouveau site avec des tables liées entre elles et je souhaiterais utiliser les fonctionnalités relationnelles de mySQL.

Donc comme c'est dit dans le sujet : vaut-il mieux que je nomme mes clé primaires "table_id" ?

Merci pour vos réponses

Cordialement,
Kaimite
Kaimite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 16h48   #2
Modérateur
 
Inscription : juin 2008
Messages : 2 693
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 2 693
Points : 3 199
Points : 3 199
Utiliser des régularités dans ses règles de nommages simplifie et 'auto'-documente le propos.
C'est donc à priori une "bonne pratique".

Dans votre cas particulier, la clé primaire d'une table est à priori "unique" et se refère à la table courante. Le nom de la table dans le nom de cette clé n'est pas indispensable: il pourrait être PK_ID pour n'importe quelle table.

Par contre, vous pourrez avoir plusieurs "foreign keys" qui seront liées à des tables "autres". Il faut différencier chaque clés et le nom de la table est une façon comme une autre de le faire.
Notez que cela suppose un design stable: si vous changer souvent de table, il va vous falloir mettre à jour les noms de clés des tables correspondantes.
Si vous n'automatisez pas cela, vous aurez des inconsistances.
- W
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 17h00   #3
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Bonjour,

Pour ma part j'ai l'habitude de nommer mes clé primaire : PK_TABLE, ce n'est qu'une convention.
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 19h30   #4
Invité régulier
 
Inscription : novembre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 14
Points : 7
Points : 7
J'ai continuer mes recherche cet ap-midi et j'ai vu quelques requetes d'exemples.

Je peux très bien faire
FOREIGN KEY(metiers_id)
REFERENCES metiers(uid)
ON DELETE CASCADE
ON UPDATE CASCADE

Merci pour réponse en tout cas. Je vais continuer mes recherche sur ces fameux "CASACDE"

Cordialement,
Kaimite
Kaimite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 20h14   #5
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Je pense que cet article te sera une source d'informations.
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2008, 08h50   #6
Invité régulier
 
Inscription : novembre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 14
Points : 7
Points : 7
Merci pour le lien

bon w-e
Kaimite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h29.


 
 
 
 
Partenaires

Hébergement Web