Funderar på att göra nån form av receptdatabas Tänk såhär: det är sant att ingredienserna är många till många relation och mängden är beroende av den exakta relationen det är frågan om och därför hör hemma i den tabellen, ifall man vill ha en normaliserad databas och det borde man väl vilja. Troligtvis ytterligare en tabell, maträtter. Denna i sin tur måste ha nycklar till alla ingredienser och när programmet körs utgår man från maträtterna och letar efter alla förekomster där 100% av tillbehören finns tillgängliga. Dessa maträtter som har alla igredienser visar du, eller filtrerar ut om du nu skulle säga att du vill hålla dig inom middag och fisk eller vad det kan vara.design och frågefråga
För tillfället har jag tänkt mej ungefär följande tabell design.
tRecept
---------
id
namn
submitter
instruktioner
osv
tIngrediens
-------------
id
namn
mängd
receptid (ref till tRecept.id)
Nu till problemet:
- vill göra en sån funktion där jag kan säga, "detta har jag i kylskåpet, vad kan jag göra av det?" Men lyckas inte få till det, ideer om hur jag kan få det att funka (eller kan jag på designa om tabellerna på nåt sätt för att det ska bli enklare?)Sv: design och frågefråga
Ett recept kan ha många ingredienser.
En ingrediens kan finns i många recept.
Du har således en många-till-många-relation, och behöver en till tabell för att få ihop det. Den skulle kunna se ut såhär:
tRecept_Ingrediens (eller annat lämpligt namn)
---------------------
Id
ReceptId
IngrediensId
Mängd
Nu ser jag att du har lagt mängd i din Ingrediens-tabell, detta blir fel. Mängden kommer att bli beroende av vilket recept det är (det är ju olika mängd av ingrediensen som behövs).
Så om vi fortsätter tänka lite (kryptiskt kanske?):
Ett recept kan ha en viss mängd av en viss ingrediens.
En ingrediens kan behövas i en viss mängd i ett recept.
Mängden är nämligen helt orelevant för ingrediensen, och "mängd" hör därför inte hemma i Ingrediens-tabellen.
Jag hoppas detta gjorde det lite klarare, säg till annars så ska vi försöka förklara bättre. Jag kanske bara rörde till det ännu mer?Sv:design och frågefråga
Jag verkar ha de-normaliserat databasen i huvudet utan att ens tänka tanken :)
däremot så vet jag fortfarande inte hur jag ska få till den egentliga frågan (queryn)...Sv: design och frågefråga
En ytterligare aspekt är att lägga in måtten, dvs om du inte har tillräckligt - skall då programmet rekommendera den rätten eller säga 3 personer istället för 4 ;-)
Låter som ett projekt där flera medlemmar gemensamt kan gå ihop och hjälpas åt för att bygga. Vore faktiskt lite coolt. Har tänkt att debughörnan (fast något annat namn skall vara för sådan syften).