Question clef étrangère - SQL/NoSQL - Programmation
Marsh Posté le 11-04-2014 à 10:01:08
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.
Marsh Posté le 11-04-2014 à 10:12:01
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)
Marsh Posté le 11-04-2014 à 10:25:21
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 ? |
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.
Marsh Posté le 11-04-2014 à 10:28:06
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
Marsh Posté le 11-04-2014 à 10:31:39
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).
Marsh Posté le 11-04-2014 à 10:31:39
Ah d'accord ...
Mais du coup il y aurait quoi dans cet table "Avoir"? Les deux clef primaire ?
Marsh Posté le 11-04-2014 à 10:32:18
NoVa92 a écrit : Ah d'accord ... |
Voir mon post ci-dessus
Marsh Posté le 11-04-2014 à 10:36:32
Oué j'ai vu on a posté à la même seconde ^^
Merci beaucoup pour les réponses c'est déjà plus claire
Marsh Posté le 11-04-2014 à 09:41:30
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 ?
merci par avance pour vos réponses.