Accueil > Forum > > > > Format d'une DB (Théorie/Conseil)?
Format d'une DB (Théorie/Conseil)?
mardi 10 juin 2003 à 11:45:00 |
Format d'une DB (Théorie/Conseil)?

Kenaghdar
|
Bonjour tout le monde, Je me trouve confronté à un petit problème de conception pour une BDD destinée à stocker des recettes de cuisines. De manière synthétique, nous avons 2 tables: dbIngr qui contient les ingrédients et dbRecet qui contient hum les recettes. Mon problème est le lien entre les deux tables. Autrement dit, comment lier dbRecet à dbIngr de manière intelligent et optimale. Ma première idée était d'avoir une colonne dans dbRecet qui contiendrai l'ID de l'ingrédient (index de dbIngr en fait). Mais j'ai peur que cette solution soit un peu uzine à gaz: si une recette contient 10 ingrédients, j'aurai 10 entrées dans dbRecet pour la même recette (avec une superbe redondance d'informations). De plus, je dois étendre la clé pour différencier les 10 entrées, ce qui parait-il n'est pas forcément le mieux. Une autre idée était de mettre un nombre donné de colonnes dans dbRecet pour les ingrédients, par exemple 15 colonnes, qui contiendraient les ID des ingrédients. Mais ici, si une recette ne possède que 5 ingrédients, nous avons 10 colonnes vides et ne serviront jamais à rien. Par contre, je n'ai pas de redondances d'informations, ni plusieurs entrées pour une même recette. Si vous avez un avis ou une critique, n'hésitez pas. Toute aide est la bienvenue. Au passage, cette DB fera partie d'un projet de site web gratuit. Donc, je ne vous fais pas l'aumône pour ensuite me faire des sous sur vos connaissances. Ken.
|
|
mardi 10 juin 2003 à 12:02:21 |
Re : Format d'une DB (Théorie/Conseil)?

Tortuegeniale
|
Salut
moi perso j'opte pour la 1ere solution un colonne id ingrédient dans la table recette, si c bien géré ( c loin d'etre dure) ça sera pas dutout une usine a gaz, c le principe d'un forum, j'ai ça sur mon site et meme avec 200 question et 1000 réponses y a pas de problemes.
Index bien tes champs et le tours est joué (l'indexation sert a rendre plus rapide la recherche dans ces champs)
++
--> http://www.kame-house.org <-- La plus grosse base de données sur les dessins animés des années 80 Site gratuit et sans pub
------------------------------- Réponse au message : -------------------------------
> Bonjour tout le monde, > > Je me trouve confronté à un petit problème de conception pour une BDD destinée à stocker des recettes de cuisines. De manière synthétique, nous avons 2 tables: dbIngr qui contient les ingrédients et dbRecet qui contient hum les recettes. Mon problème est le lien entre les deux tables. Autrement dit, comment lier dbRecet à dbIngr de manière intelligent et optimale. > > Ma première idée était d'avoir une colonne dans dbRecet qui contiendrai l'ID de l'ingrédient (index de dbIngr en fait). Mais j'ai peur que cette solution soit un peu uzine à gaz: si une recette contient 10 ingrédients, j'aurai 10 entrées dans dbRecet pour la même recette (avec une superbe redondance d'informations). De plus, je dois étendre la clé pour différencier les 10 entrées, ce qui parait-il n'est pas forcément le mieux. > > Une autre idée était de mettre un nombre donné de colonnes dans dbRecet pour les ingrédients, par exemple 15 colonnes, qui contiendraient les ID des ingrédients. Mais ici, si une recette ne possède que 5 ingrédients, nous avons 10 colonnes vides et ne serviront jamais à rien. Par contre, je n'ai pas de redondances d'informations, ni plusieurs entrées pour une même recette. > > Si vous avez un avis ou une critique, n'hésitez pas. Toute aide est la bienvenue. Au passage, cette DB fera partie d'un projet de site web gratuit. Donc, je ne vous fais pas l'aumône pour ensuite me faire des sous sur vos connaissances. > > Ken.
|
|
mardi 10 juin 2003 à 13:10:39 |
Re : Format d'une DB (Théorie/Conseil)?

Kenaghdar
|
Je t'avoue que c'est la solution que je préfère, mais la redondance d'infos me parait vraiment problématique. Dans mon post, je n'ai pas précisé que la table des recettes contenait un champs de type BLOB permettant de stocker la préparation de la recette (le modus operandi si tu préfères).
Si j'utilise la 1ère solution, il est préférable que je place la préparation autre part, soit dans une table indépendante soit dans un fichier plat. Si j'utilise une table indépendante, est-ce que le fait de devoir lire 3 tables différentes pour afficher une seule recette ne va pas jouer fortement sur les performances?
Quoiqu'il en soit, merci de ta réponse.
A+
------------------------------- Réponse au message : -------------------------------
> > Salut > > moi perso j'opte pour la 1ere solution > un colonne id ingrédient dans la table recette, si c bien géré ( c loin d'etre dure) ça sera pas dutout une usine a gaz, c le principe d'un forum, j'ai ça sur mon site et meme avec 200 question et 1000 réponses y a pas de problemes. > > Index bien tes champs et le tours est joué (l'indexation sert a rendre plus rapide la recherche dans ces champs) > > ++ > > --> http://www.kame-house.org <-- > La plus grosse base de données sur les dessins animés des années 80 > Site gratuit et sans pub
|
|
mardi 10 juin 2003 à 13:58:40 |
Re : Format d'une DB (Théorie/Conseil)?

Tortuegeniale
|
tu peux juste faire 3 tables
1 table recette qui contient la recette, la préparation 1 table ingrédiant avec la liste entiere des ingrédients 1 table de jointure avec par exemple 2 champs id recette et id ingrédient
id_recette | id_ingrédient ================== 1 | 2 1 | 12 1 | 9 1 | 5
Ce ki veut dire ke pour la recette 1 faut l'ingrédient 2, 12, 9 et 5
On aura parler de tout sur ce forum lol
++
--> http://www.kame-house.org <-- La plus grosse base de données sur les dessins animés des années 80 Site gratuit et sans pub
------------------------------- Réponse au message : -------------------------------
> Je t'avoue que c'est la solution que je préfère, mais la redondance d'infos me parait vraiment problématique. Dans mon post, je n'ai pas précisé que la table des recettes contenait un champs de type BLOB permettant de stocker la préparation de la recette (le modus operandi si tu préfères). > > Si j'utilise la 1ère solution, il est préférable que je place la préparation autre part, soit dans une table indépendante soit dans un fichier plat. Si j'utilise une table indépendante, est-ce que le fait de devoir lire 3 tables différentes pour afficher une seule recette ne va pas jouer fortement sur les performances? > > Quoiqu'il en soit, merci de ta réponse. > > A+ > > ------------------------------- > Réponse au message : > ------------------------------- > > > > > Salut > > > > moi perso j'opte pour la 1ere solution > > un colonne id ingrédient dans la table recette, si c bien géré ( c loin d'etre dure) ça sera pas dutout une usine a gaz, c le principe d'un forum, j'ai ça sur mon site et meme avec 200 question et 1000 réponses y a pas de problemes. > > > > Index bien tes champs et le tours est joué (l'indexation sert a rendre plus rapide la recherche dans ces champs) > > > > ++ > > > > --> http://www.kame-house.org <-- > > La plus grosse base de données sur les dessins animés des années 80 > > Site gratuit et sans pub > >
|
|
mardi 10 juin 2003 à 14:50:18 |
Re : Format d'une DB (Théorie/Conseil)?

Kenaghdar
|
Tu viens de me remettre en mémoire un trèèès vieux cours sur les DB en parlant de table de jointure. Pas crétin du tout.
Merci beaucoup pour le coup de main.
K.
------------------------------- Réponse au message : -------------------------------
> > tu peux juste faire 3 tables > > 1 table recette qui contient la recette, la préparation > 1 table ingrédiant avec la liste entiere des ingrédients > 1 table de jointure avec par exemple 2 champs id recette et id ingrédient > > id_recette | id_ingrédient > ================== > 1 | 2 > 1 | 12 > 1 | 9 > 1 | 5 > > > Ce ki veut dire ke pour la recette 1 faut l'ingrédient 2, 12, 9 et 5 > > On aura parler de tout sur ce forum lol > > ++ > > --> http://www.kame-house.org <-- > La plus grosse base de données sur les dessins animés des années 80 > Site gratuit et sans pub
|
|
Cette discussion est classée dans : db, recette, ingrédients, dbrecet, dbingr
Répondre à ce message
Sujets en rapport avec ce message
Probleme d'insertion de données à partir d'un formulaire [ par sabou94 ]
Bonjour, Cette page est l'ajout d'une nouvelle recette (de cuisine). Mon probleme est dans l'insertion des ingrédients. En effet, j'ai deux listes. D
MySQL --> Savoir si ID 7 existe [ par ImmortalPC ]
Salut, j'aimerai savoir s' il y a une technique plus appropriée que ce que j'ai fait pour savoir si ID 7 existe. $resultat = mysql_query('SELECT Tex
db_dataobject et links.ini : deux questions [ par hansap ]
bonjours, je suis en train de debuter un dev en utilisant db_dataobject,et je n'arrive pas a generer automatiquement le fichier links.ini, cela peut i
Help, mysql _prefix [ par Petit Pingouin ]
Bonjour, j'ai un ftp free mais je ne sais pas ce que je dois mettre dans la derniere ligne ou il y a les ????:/ : $mysql_host = 'sql.free.fr'
sql -> vérifié enregistrement [ par PAL59 ]
Bonjour, alors j'ai un petit problème, je voudrais vérifié si un enregistrement existe dans ma base de donnée. Je veux qu'il vérifi si une ip est dé
erreur lors de l'installation de Berkeley DB (version mismatch) [ par irkiouak ]
Bonjour tout le monde,Je veux installer PHP avec le package OpenLDAP (pour créer les annuaires), or OpenLDAP nécessite l'installation de Cyrus-Sals e
Lire une ligne du db [ par zelze ]
Bonjour.Je débute a l'instant en php et en sql, et j'ai deja un probleme de taille:J'ai me requéte SELECT * FROM table. Le probleme c'est que quand je
souhaiter les anniversaires [ par jpdeion ]
Bonjour,voici un code (que j'ai trouvé) pour souhaiter les anniversaires sur un site en fonction d'une base MySQL.J'ai une liste de 1200 personnes dan
quand faire un mysql_close() [ par davwart ]
Bonjour à tous. J'ai retrouvé une classe MySqlDb (classe pour gérer une db mysql donc..) ce matin. En regardant le code, je me suis rendu compte qu'à
aide listage DB [ par CCJ ]
bonjour. g un bleme car je ve lire ma DB mais ca foire : Notice: Undefined index: pseudo in c:\site\Tchat.php on line 45 voila la partie foireuse : wh
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|