Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2571 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question clef étrangère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question clef étrangère

n°2224797
NoVa92
les hs c comme des caresses
Posté le 11-04-2014 à 09:41:30  profilanswer
 

Bonjour,
 
Je suis débutant en base de données et je suis confronté à un problème...
 
J'ai créé une base avec 2 tables (exemple de base) : anniversaire et gâteaux.
je voudrais qu'un anniversaire possède au minimum 0 gateau et au maximum n gateaux.  
Evidemment, la question que je me pose est de savoir comment l'utilisateur de mon site pourra mettre plusieurs gateaux pour un seul anniversaire ?  
Par exemple si je veux savoir les gateaux qu'il y avaient dans l'ID anniversaire 58 comment je fais ?
 
 
http://imageshack.com/a/img855/7175/1f8q.png
 
merci par avance pour vos réponses.

mood
Publicité
Posté le 11-04-2014 à 09:41:30  profilanswer
 

n°2224800
rufo
Pas me confondre avec Lycos!
Posté le 11-04-2014 à 10:01:08  profilanswer
 

C'est une relation 0-n entre la table Anniversaire et la table Gateau.
Une simple jointure sur l'ID Anniversaire des 2 tables te permettra de lister les gâteaux d'un anniversaire.
 
Pour la saisie, ben tu fais un bouton "ajouter" sur la fiche anniversaire qui mène à une fiche de saisie d'un gâteau. Tu penseras à "conserver" l'ID de l'anniversaire d'où tu viens et lors de l'insert dans la BD, tu met l'iD de l'anniversaire, en plus des infos relatives au gâteau.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2224805
NoVa92
les hs c comme des caresses
Posté le 11-04-2014 à 10:12:01  profilanswer
 

Cela voudrait dire que je ne peux pas réutiliser un gâteaux pour un autre anniversaire du coup ? Et que je suis forcé de recréer le même gâteaux ?
 
Exemple :  
 
Anniversaire Bruno -> Gâteaux au chocolat (id=1)
Anniversaire Mouloud -> Gâteaux au chocolat (id=2)

n°2224808
xuan-khanh
...
Posté le 11-04-2014 à 10:25:21  profilanswer
 

NoVa92 a écrit :

Cela voudrait dire que je ne peux pas réutiliser un gâteaux pour un autre anniversaire du coup ? Et que je suis forcé de recréer le même gâteaux ?
 
Exemple :  
 
Anniversaire Bruno -> Gâteaux au chocolat (id=1)
Anniversaire Mouloud -> Gâteaux au chocolat (id=2)


 
 
Dans ce cas il faut matérialiser la relation entre anniversaire et gateaux en mettant du n de chaque côté.
 
Anniversaire --- x,n --- Avoir --- x,n --- Gateaux
 
Et donc l'association "Avoir" deviendrais une table.

n°2224810
Farian
Posté le 11-04-2014 à 10:28:06  profilanswer
 

C'est vous qui le décidez quand vous créez votre modèle, en fonction éventuellement des contraintes.
 
Mais si vous faites une relation (n,n), ce n'est plus une clé étrangère qu'il faut utiliser, mais une table de jointure.
 
Bonne continuation !
 
Edit : Trop lent, petit scarabée :)


Message édité par Farian le 11-04-2014 à 10:28:35
n°2224811
rufo
Pas me confondre avec Lycos!
Posté le 11-04-2014 à 10:31:39  profilanswer
 

ah ben si tu veux réutiliser un gâteau, t'es dans le cas d'une relation n-n. Il faut donc ajouter une table intermédiaire AnniversaireGateau ayant un ID et 2 clés étrangères : l'ID anniversaire et l'ID gâteau (du coup, y'a plus l'ID anniversaire dans la table Gâteau).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2224812
NoVa92
les hs c comme des caresses
Posté le 11-04-2014 à 10:31:39  profilanswer
 

Ah d'accord ...
 
Mais du coup il y aurait quoi dans cet table "Avoir"? Les deux clef primaire ?


---------------
eXosted-clan . Mon SK . Mon petit Feed Back
n°2224814
rufo
Pas me confondre avec Lycos!
Posté le 11-04-2014 à 10:32:18  profilanswer
 

NoVa92 a écrit :

Ah d'accord ...
 
Mais du coup il y aurait quoi dans cet table "Avoir"? Les deux clef primaire ?


Voir mon post ci-dessus ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2224815
NoVa92
les hs c comme des caresses
Posté le 11-04-2014 à 10:36:32  profilanswer
 

Oué j'ai vu on a posté à la même seconde ^^
 
Merci beaucoup pour les réponses c'est déjà plus claire :)


---------------
eXosted-clan . Mon SK . Mon petit Feed Back

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question clef étrangère

 

Sujets relatifs
[TOMCAT] Question sur cheminement de conf pour lancement d'une APPNombre aléatoire, arraylist (quizz, question)
question urgente développement Javaquestion securité d'un site web
Question pour les conditions et les variablesRelation entre clé primaire et clé étrangère
question fermeture fenêtre (javascript-html)Question de Noob "Slideshow"
Array, conversionQuestion, longueur maximale pour poster ?
Plus de sujets relatifs à : Question clef étrangère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR