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

Langage SQL Discussion :

Aide pour MCD avec clés étrangères


Sujet :

Langage SQL

  1. #1
    Membre confirmé Avatar de tiger33
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut Aide pour MCD avec clés étrangères
    Bonjour,

    Je fais parti d'une asso (Aventure Handicap, abréviée AH dans la suite) qui m'a demandé de créer une BD (Mysql attaquée avec PHP pour la petite histoire) qui lui permette de gérer ses adhésions.

    AH à plusieurs antennes : 3 pour l'instant mais on veut pouvoir en ajouté par la suite.

    AH enregistre deux types d'adhésions : Familliale et individuelle.

    Ces 2 points étant posés, voici mon début de MCD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Membres(IDmembre,Civilité,Nom prénom, Mobile, email);
    Familes(IDMembre1,IdMembre2, Adresse, Fixe Nombre_Enfants,IdAntenne)
    Antennes (IdAntenne,Libéllé Antenne)
    * Le champs Famille.IdMembre2 peut être vide si individuelle
    j'ai 1 GROS doute sur l'efficacité de la base.
    De plus, je ne me souviens plus de la syntaxe pour les clé étrangère(oui g le cerveau rouillé)

    Merci de votre aide

  2. #2
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    Salut,
    Pour la syntaxe des clés étrangères, il suffit de rajouter un # devant celles-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Membres(IDmembre,Civilité,Nom prénom, Mobile, email);
    Familles(#IDMembre1,#IdMembre2, Adresse, Fixe Nombre_Enfants,#IdAntenne)
    Antennes (#IdAntenne,Libéllé Antenne)
    Par contre, souvent dans les bdd, il est préférable de séparer les champs nom et prénom ainsi que de décomposer l'adresse avec un champ adresse, code postal et ville. A toi de voir. A part ça, ton MCD me parait bien.

  3. #3
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Bonjour,
    Ton schéma (qui n'est pas un MCD) m'étonne beaucoup : une famille ne peut avoir que 2 membres au plus ?
    Je pense qu'il te manque une table entre "Familles" et "Membres".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Membres(IDmembre,Civilité,Nom prénom, Mobile, email);
    Compo_famille(#Idfamille,#IDmembre)
    Familles(Idfamille, Adresse, Fixe ombre_Enfants,#IdAntenne)
    Antennes (#IdAntenne,Libéllé Antenne)

  4. #4
    Membre confirmé Avatar de tiger33
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut
    Bonjour,

    Pour l'adresse c'est clair.
    je comptait faire ca !
    j'ai encore besoin d'explication pour les clef étrangère ma question portait sur la syntaxe mysql (d'où topic peut-être mal placé) mais, c'était entre les deux

    merci

  5. #5
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    En fait tu veux savoir comment créer des clés étrangères sous Mysql ? Ca je ne sais pas comment faire. Va plutôt sur le forum Mysql pour ça, tu auras plus dé réponses

  6. #6
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut un exemple normalement facile
    je vais donner un exemple sous forme de MLD puis ensuite le code des les clefs étrangères!!!

    Soit:

    MORCEAU ( Num morceau, titre)
    INTERPRETE (num interprete, nom)
    INTERPRETATION(#num morceau, #num interprete)

    les clefs étrangères s'écrivent de cette manière:


    ALTER TABLE INTERPRETATION
    ADD CONSTRAINT FK_INTERPRETATION_MORCEAU
    FOREIGN KEY (num morceau)
    REFERENCES MORCEAU ( num morceau)

    opération effectuée pour la clé étrangère morceau de la table interprétation (et opération a refaire pour la clé étrangère interprète de la table interprétation).

    En espérant avoir donné un exemple clair..
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  7. #7
    Membre confirmé Avatar de tiger33
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut
    dslé ca ne marche pas
    'j'utile le mysql d'easyphp 1.8
    et phpmyadmin ne donne pas la possibilité de créer des fk
    est-ce qu'un modo peut déplacé ce topic vers leforum mysql svp

  8. #8
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    hééééééé c'est vrai ça j'arrive pas a trouver "ou c qu'il faut cocher pour creer une clé etrangère"...
    Autre chose ce que tu nous donne comme info c'est pas un MCD (l'MCD c'est le gros machin avec plein des tables et plein des associations...) c'est plutot un MLD qu'il faut extraire depuis l'MCD
    Un conseil essais de travailler avec des outils qui t'assisteront genre AMC Designer ou encore Rationnal Rose
    bonne chance pour la suite

  9. #9
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    tiger33 dis
    ta les sous

    pr payé amc ou rational rose ?
    Pr mcd, je sé mé je souvené plus du terme
    ...
    t'a pas besoin de payer...noooooooon c'est po bien de telecharger des trucs et de faire du piratage po bien tout ça pô bien, va plutot regarder de ce côté ci pour la procedure d'installation d'AMC12 et la pour la telecharger la version d'evaluation qui viens de sortir c'est tout nouveau tout beau lol
    sinon les torrents et le peer 2 peer, c'est po bien, pô bien di to!!!

  10. #10
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut dernière solution...
    Bonjour,

    En effet, ce n'est pas un MCD mais un MLD. Bref, sinon il te reste une solution artisanale, tout refaire sur papier!!! c'est peut-être lourd mais c'est moins cher que rational rose ou encore AMCdisigner, même si ce dernier est très très pratique!!!
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  11. #11
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Citation Envoyé par jadey
    t'a pas besoin de payer...noooooooon c'est po bien de telecharger des trucs et de faire du piratage po bien tout ça pô bien, va plutot regarder de ce côté ci pour la procedure d'installation d'AMC12 et la pour la telecharger la version d'evaluation qui viens de sortir c'est tout nouveau tout beau lol
    sinon les torrents et le peer 2 peer, c'est po bien, pô bien di to!!!
    En cherchant un peu, tu peux trouver des freewares qui te permettent de présenter ton MCD, aussi bien au format Merise qu'au format UML.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  12. #12
    Membre confirmé Avatar de tiger33
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut
    c'est bon, jai fait mon modèle avec case studio 2 qui sait bien faire les FK ET LES TRansporte sous Mysql enfin !!!

  13. #13
    Membre confirmé Avatar de tiger33
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut
    Citation Envoyé par chrifo
    Bonjour,
    Ton schéma (qui n'est pas un MCD) m'étonne beaucoup : une famille ne peut avoir que 2 membres au plus ?
    Je pense qu'il te manque une table entre "Familles" et "Membres".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Membres(IDmembre,Civilité,Nom prénom, Mobile, email);
    Compo_famille(#Idfamille,#IDmembre)
    Familles(Idfamille, Adresse, Fixe ombre_Enfants,#IdAntenne)
    Antennes (#IdAntenne,Libéllé Antenne)
    Pour AH, une famille (adhesion familliale) se compose de deux membre et de leur progéniture ou 1 membre et ses enfant
    a+

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

Discussions similaires

  1. [XHTML] [Débutant] Aide pour navigation avec cadres
    Par calogerogigante dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 18/06/2006, 23h43
  2. [3D] Aide pour développer avec delta3D
    Par astragoth dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 06/02/2006, 13h56
  3. [Dev-C++] Aide pour programmer avec Qt 4
    Par stone dans le forum EDI
    Réponses: 3
    Dernier message: 02/02/2006, 08h58
  4. Aide pour projet avec carte asi candibus
    Par sinicha dans le forum C
    Réponses: 13
    Dernier message: 16/01/2006, 15h32
  5. [W3C] aide pour html avec mozilla et netscape
    Par teambeyou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 06/09/2005, 20h30

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