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

 MySQL Discussion :

héritage et PhpMyAdmin


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut héritage et PhpMyAdmin
    j'explique mon problème. J'ai une base de donnée contenant des produit différent mais qui ont 3 champs identique. tout de suite (ou presque) je pense a l'héritage. seulement voila, moi, l'héritage en java, c'est popo et molo font du vélo, mais en sgbd, j'suis loin d'être dans le truc.

    J'utilise PhpMyAdmin en local (avec wamp 5) et j'aimerai bien avoir quelque conseil, aide pour la création de mes table, et surtout savoir comment gérée l'héritage en sgbd.

    Je ne par pas non plus sans armes. j'ai déjà fouiner un peu partout sur les tuto et forum, et j'ai donc vu plus ou moins la structure que va avoir ma base. Mais je voie pas trop comment dire a PhpMyAdmin que mes table, elles sont relier (pas de foreign key) ni comment faire pour que l'auto incrément soit fais dans le sgbd et pas au niveau du code (c'est faisable, mais je trouve ça dangereux).

    édit : j'ai aussi pas mal vue parler de "innodb", je voie pas du tout ce que c'est ni ce que ça veut dire. Mais apparemment, ce serai indispensable. Au delà de la simple solution, j'aimerai également comprendre.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Bonjour,

    Ca fait beaucoup de demandes, tout ça. Reprenons dans l'ordre :
    1/ L'héritage. Il n'y a pas de notion d'héritage dans MySQL. C'est à ton application de gérer les données communes entre tables, via des clefs étrangères.
    2/ Pour déléguer la gestion de l'incrémentation des clefs à MySQL, tu as le mot-clef AUTO_INCREMENT que tu peux mettre sur la clef primaire d'une table. MySQL gèrera seul la valeur de ce champ au fur et à mesure des insertions en base.
    3/ InnoDB est un moteur de MySQL. Il en existe plusieurs, dont les plus utilisés sont InnoDB et MyISAM. InnoDB permet de gérer les clefs étrangères entre tables et les contraintes d'intégrités de ces clefs, alors que MyISAM non. Par défaut, il me semble que c'est le moteur InnoDB qui est activé et que le type des table est InnoDB. Donc, tu peux définir des clefs étrangères.

    Voilà pour un premier tour de réponses. Ensuite, il nous faudrait plus de précisions sur tes objets pour t'aider à modéliser la base correspondante...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Bonjour,

    ced a bien répondu à toutes tes questions
    Je souhaite juste apporter un bémol. MySQL est par défaut sur le moteur MyISAM
    Pour l'installation d'InnodDB, je ne peux que te conseiller de lire ce tutoriel et pour l'utilisation celui ci

  4. #4
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut
    Bien merci pour ces réponses, j'y voie maintenant un peu plus clair. Mais si je comprend bien, l'héritage tel que l'on peu le voir sur ce tuto n'est en fait pas vraiment réalisable.

    je l'avoue tout de suite, les base de donnée, c'est pas encore mon fort. Mais quand on doit y passer... fin bref.

    Pour mieux se faire une Idée, j'ai une table produit toute simple avec les 4 champs que touts mes produit ont en commun. après, j'ai des produit, des tas de Produit ... on va les appeler produit1, produit2 ... produitn. et ils ont tous des caractéristique différente. D'où l'héritage.

    Une dernière choses, si je doit tout géré dans le code, l'auto incrément n'est pas très utiles.

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Rien ne t'empêche de faire un schéma comme celui proposé dans le tutoriel.
    Il faut juste garantir, dans le modèle physique, que les clefs des tables mère se retrouvent dans les tables filles, pour pouvoir faire ensuite les jointures.

    La seule chose que tu ne pourras pas mettre en place, ce sont les triggers tels qu'ils sont exposés, parce que pour l'instant (version 5.0) un trigger ne peut agir que sur une seule table... C'est donc à ton application d'insérer les données dans les tables filles quand on crée une ligne de la table mère.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Citation Envoyé par yiannis Voir le message
    Je souhaite juste apporter un bémol. MySQL est par défaut sur le moteur MyISAM
    Mais InnoDB est activé par défaut en 5.0, c'est ça ?
    Je confonds toujours les 2 ...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  7. #7
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut
    oui oui, InnoDB est activer en 5.

    j'ai plus ou moin trouver commen faire. Je sais pas vraiment si la structure de ma base est vraiment la meme que le MCD que je devrais pondre pour mon rapport de stage, mais on vera bien...

    en tout cas, merci beaucoup pour cette aide bienvenue.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phpMyAdmin] [phpMyAdmin] Problème mot de passe Root !
    Par StouffR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 26/09/2014, 11h59
  2. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 09h18
  3. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 12h55
  4. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 16h37
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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