|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
Bonjours à tous
![]() J'ai actuellement 3 tables dans ma base de donnée ( Users, Exercice, Sequence ). En gros je voudrais réaliser ceci : - chaque client pourra créer ses exercices, et chaque exercice contient un nombre de sequence. exemple : Code :
users : Code :
Code :
Pourriez vous m'aider à réaliser les jointures entre les tables ? en sachant que chaque user ne doit avoir accès qu'a ses exercice et séquence à lui et non celui des autres... Dois'je rajouter des champs entre les tables pour les relier en elles ? |
||||||
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 338 ![]() |
Je te conseille de basculer sur le moteur InnoDb de mysql qui gère les clés étrangères ensuite il te faut revoir ton modèle de données pour faire apparaitre cette exigence dedans :
Citation:
__________________
Stay in Bed .. Save Energy |
|
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Bonjour,
Si tu veux qu'un utilisateur puisse accéder seulement à ces exercices, je pense qu'une clé primaire sur users.id et donc une clé étrangère dans exercice (id) suffit. Tu pourra donc sélectionner les exercices d'UN utilisateur (en fonction de son id). Tu peux faire de même entre les exercices et les séquences. Je sais pas si cela répond à ta question |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 338 ![]() |
Citation:
http://sqlpro.developpez.com/cours/modelisation/merise/
__________________
Stay in Bed .. Save Energy |
|
|
|
10
|
|
|
#5 | |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
Oui un exercice qui contient les séquences appartient à un seul utilisateur.
Donc il faut que je rajoute une clé primaire dans ma table user ? et une clé étrangère dans ma table exercice? et pour ma table séquence qui est relier a un id d'exercice ? En tout cas je vous remercie pour vos réponse |
|
|
00
|
|
|
#7 | |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
users : Clé primaire(id_user) -> exercices Clé étrangère(#id_user) exercices: Clé primaire(exerciceId) -> séquences Clé étrangère(#exerciceId) Si ce n'est pas clair dis le moi |
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
Merci beaucoup Nheo pour ton aide
C'est claire pour moi, j'essaye cela et je te tiens au courant de l'avancement
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 338 ![]() |
n'oublie pas de passer en innoDB sinon impossible de mettre en place les clés étrangères
__________________
Stay in Bed .. Save Energy |
|
|
00
|
|
|
#10 |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
Donc je met toutes mes tables en InnoDB, donc faut que je me renseigne savoir si mon serveur le supporte aussi non ?
Bref sinon, je dans ma table exercice, je garde ma clé primaire l'id de l'exo et je met en clé étrangère l'id client c'est bien sa ? et pour la table séquence, clé primaire id séquence, clé étrangère id exercice ? |
|
|
00
|
|
|
#12 | |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
Nheo ya un petit soucie, c'est que je n'y comprend strictement rien dans la partie "Gestion des relations" sous phpmyadmin.
Pourrais tu me guider ? |
|
|
00
|
|
|
#14 | |||
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
Code mysql :
Tu fais la même chose pour séquences Je vais aller voir le menu "Gestion des relations". EDIT : Petite faute dans le script SQL, c'est corrigé. |
|||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
Encore une petite question, il faut que je mette l'ID du client en auto incrément non ?
|
|
|
00
|
|
|
#16 |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
|
|
|
00
|
|
|
#17 | ||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
phpMyAdmin me met qu'il y a une erreur quand j'importe le fichier sequence suivant :
Code :
Code :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOREIGN KEY ('exerciceId') REFERENCES exercice('exerciceid') ) E' at line 16
|
||
|
|
00
|
|
|
#18 | |||
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 75 ![]() |
autant pour moi...
mais maintenant l'erreur est : Code :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''exerciceId') REFERENCES 'exercice'('exerciceid') ) ENGINE=InnoD' at line 16
|
|
|
00
|
|
|
#20 | |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com