IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Relier des tables dans PhpMyAdmin


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 76
    Par défaut Relier des tables dans PhpMyAdmin
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    User 1 
         nombre_exercice:5
    		#Exercice1
    			*Sequence1
    			*Sequence2
    		#Exercice2
    			*sequence1
    			*sequence2
    		.............
    et comme cela pour chaque client. j'ai réalisé mes 3 tables :

    users :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE `users` (
      `id` bigint(20) NOT NULL,
      `username` varchar(255) NOT NULL,
      `password` varchar(255) NOT NULL,
      `email` varchar(255) NOT NULL,
      `avatar` text NOT NULL,
      `signup_date` int(10) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Exercice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE `erxercice` (
      `exerciceId` int NOT NULL,
      `exerciceNom` varchar(255) NOT NULL,
      `nbSequence` int NOT NULL,
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Exercice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CREATE TABLE `sequence` (
      `.....
    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 ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    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 :
    chaque client pourra créer ses exercices, et chaque exercice contient un nombre de sequence.

  3. #3
    Membre chevronné Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Par défaut
    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 .

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Citation Envoyé par Nheo_ Voir le message
    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 .
    Tout dépend si un exercice peut appartenir à un et un seul utilisateur ou plusieurs et de même si une séquence appartient à un et un seul exercice ou plusieurs

    http://sqlpro.developpez.com/cours/modelisation/merise/

  5. #5
    Membre chevronné Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Par défaut
    Citation Envoyé par boo64 Voir le message
    Tout dépend si un exercice peut appartenir à un et un seul utilisateur ou plusieurs et de même si une séquence appartient à un et un seul exercice ou plusieurs

    http://sqlpro.developpez.com/cours/modelisation/merise/
    Oui en effet, mais c'est à danydan01 de nous dire ce qu'il souhaite .

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 76
    Par défaut
    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

  7. #7
    Membre chevronné Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Par défaut
    Citation Envoyé par danydan01 Voir le message
    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
    Alors, essaye comme cela :

    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 .

Discussions similaires

  1. [MySQL] Conception des table dans phpmyadmin
    Par hous04 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/09/2011, 07h54
  2. Comment relier des tables sous PHPmyAdmin
    Par BigDavid dans le forum Débuter
    Réponses: 1
    Dernier message: 26/07/2006, 14h14
  3. Réponses: 6
    Dernier message: 16/03/2006, 18h32
  4. Réponses: 7
    Dernier message: 26/01/2006, 12h19
  5. Paramètre initial extent des tables dans la commandes IMP
    Par bobunny dans le forum Import/Export
    Réponses: 9
    Dernier message: 20/10/2004, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo