Nous sommes actuellement le 15 Août 2022, 17:35

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 
Auteur Message
MessagePublié: 26 Juin 2013, 16:46 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Bonjour, je suis entrain de faire un exercice scolaire portant sur la création d'une base de données mySQL pour une ligue de foot intersidérale. J'ai un problème pour créer la clée étrangère de ma table licence. Workbench me renvoie ça:

Error Code: 1215. Cannot add foreign key constraint

J'ai pris soin de faire des copier coller pour qu'il n'y est pas d'erreur. Je suis allé voir sur internet et ils disent que ce sont des erreur de noms de champs, de longueur d'entier (int)... ce genre de chose. Mais moi j'ai fais des copier coller.

Pouvez-vous m'aider? Notez qu'il s'agit du code pour créer la base de données et non de l'exportation de celle-ci. Vous pouvez copier coller son contenu dans Workbench ou autre.

Merci

[lien supprimé]

_________________
Bonne lecture!


Dernière édition par pierluc le 28 Juin 2013, 08:17, édité 2 fois.

Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 26 Juin 2013, 19:43 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:23
Message(s) : 564
Localisation : Salaberry-de-Valleyfield
Pas certain de ma réponse (je connais sql mais pas mySql):

La clé primaire de la table joueur est composée de nom, prenom et dateNaiss. (3 champs)
La clé étrangère de la table license vers la table joueur fait référence à nom, prenom, numeroCivic, rue, ville, codePostal, pays et dateNaiss. (8 champs)

Ne faudrait-il pas que les champs de la clé étrangère soit les mêmes que ceux de la clé primaire?

_________________
Only two industries refer to their customers as "users" - drug dealers and computer companies.


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 26 Juin 2013, 20:45 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Je crois bien que c'était ça le problème. Maintenant il ne bloque plus sur cette clé étrangère. Maintenant j'ai un problème avec avec une des clés étrangères de la table rencontre. À mon avis ce qui bloque c'est le fait que j'ai deux clés étrangères qui réfèrent au champ nom de la table equipe. Je suis allé voir sur internet et on dirait bien que ça se fait. Je me suis assuré que le champ nom est bien dans la clée primaire de la table equipe.

Merci de votre aide.
PS.: J'ai mit à jour le fichier sql.

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 27 Juin 2013, 17:51 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Après avoir fais des test je constate que ce qui ne fonctionne pas c'est cette ligne:
Code :
foreign key (nomClub) references club(nom),


Ça correspond à la ligne 111.

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 27 Juin 2013, 20:45 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:23
Message(s) : 564
Localisation : Salaberry-de-Valleyfield
Une référence sert à lier un enregistrement "parent" et les enregistrements qui en dépendent. Il faut donc être en mesure d'identifier précisément l'enregistrement parent à partir de celui dépendant.

Dans ce cas-ci, il n'y a rien dans la table club qui force le nom à être unique. Il pourrait donc avoir deux blucs avec le même nom, par exemple "Micro.Info". Comment peut-on distinguer les rencontres du premier club Micro.Info et celles du deuxième si la référence est faite par le nom?

Spoiler a écrit:
numeroClub est l'identifiant unique d'un club

_________________
Only two industries refer to their customers as "users" - drug dealers and computer companies.


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 27 Juin 2013, 21:42 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Je viens de retourner voir dans ma table club et je constate que la clé primaire n'inclus que le champ numeroClub. Alors il pourrait y avoir plusieurs clubs avec le même nom. Mais si je met le champ nom dans la clé primaire de club ça ne marche toujours pas.

Merci pour votre aide

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 27 Juin 2013, 23:00 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:23
Message(s) : 564
Localisation : Salaberry-de-Valleyfield
Dans la table license, vous avez un champ numeroClub qui fait référence au champ du même nom dans la table Club.
Au lieu d'ajouter le champ nom dans la clé primaire de club, il faudrait faire pareil, c'est-à-dire remplacer le champ nomClub de rencontre par un champ numeroClub.
Au lieu de se retrouver dans deux tables, le nom du club pour une rencontre pourra être obtenu par une jointure entre les deux tables.

_________________
Only two industries refer to their customers as "users" - drug dealers and computer companies.


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: mysql clée étrangère
MessagePublié: 28 Juin 2013, 08:08 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 13 Oct 2003, 18:01
Message(s) : 2261
Localisation : Québec
Je vous remercie, je viens de terminer mon travail. Je vais supprimer le fichier de dropbox pour éviter le plagiat au cas où l'enseignant réutiliserait son exercice.

_________________
Bonne lecture!


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 10 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site