Ik ben ter oefening een simpele webshop aan het opzetten. Producten kunnen geüpload worden met behulp van een CSV-bestand. Deze worden vervolgens door een simpel script weergegeven en als laatste kunnen de producten in een bestellijst komen te staan.
Ik worstel echter met de wijze waarop ik de producten en bijbehorende specificaties op sla in de database en deze vervolgens met behulp van een query ophaal.
Wat ik zelf had bedacht:
Optie 1
Prop alle verschillende producten in een tabel en het ophalen wordt een eitje (met behulp een uniek ID).
Problemen:
- Zo hoort het niet. De gegevens moeten worden genormaliseerd (toch?)
- Langzaam
- Producten kunnen niet geordend worden op specifieke eigenschappen
Optie 2
Maak voor elk product een aparte tabel zodat elke eigenschap netjes in zijn eigen kolom kan staan. Dit is netter en bovendien kunnen producten geordend worden op eigenschappen.
Problemen:
- De verschillende producten hebben niet ieder een uniek ID, dus wanneer de producten samenkomen in het bestelformulier is niet duidelijk welk product het is, laat staan dat duidelijk is uit welke tabel de gegevens gehaald moeten worden.
Optie 2.1
Ieder product moet herkenbaar en opvraagbaar zijn met behulp van een uniek ID. Dus er komt een aparte tabel die deze ID's opslaat en tevens in welke tabel dit product gevonden kan worden. Zo moet het lukken.
Problemen:
- Lijkt mij omslachtig, maar ik heb geen idee hoe ik het anders zou moeten doen
- Problematisch in verband met het uploaden van de CSV-bestanden (ieder product heeft zijn eigen CSV-bestand)
Wat ik me nu afvraag is: wat is de gangbare manier om dit te doen? Hebben jullie ervaring met een soortgelijke opbouw van een database van een webshop. Welke technieken kunnen me helpen om het probleem op te lossen? Joins? Of pak ik het helemaal verkeerd aan? Ik hoop dat het enigszins duidelijk is.
Ik worstel echter met de wijze waarop ik de producten en bijbehorende specificaties op sla in de database en deze vervolgens met behulp van een query ophaal.
Wat ik zelf had bedacht:
Optie 1
Prop alle verschillende producten in een tabel en het ophalen wordt een eitje (met behulp een uniek ID).
Problemen:
- Zo hoort het niet. De gegevens moeten worden genormaliseerd (toch?)
- Langzaam
- Producten kunnen niet geordend worden op specifieke eigenschappen
Optie 2
Maak voor elk product een aparte tabel zodat elke eigenschap netjes in zijn eigen kolom kan staan. Dit is netter en bovendien kunnen producten geordend worden op eigenschappen.
Problemen:
- De verschillende producten hebben niet ieder een uniek ID, dus wanneer de producten samenkomen in het bestelformulier is niet duidelijk welk product het is, laat staan dat duidelijk is uit welke tabel de gegevens gehaald moeten worden.
Optie 2.1
Ieder product moet herkenbaar en opvraagbaar zijn met behulp van een uniek ID. Dus er komt een aparte tabel die deze ID's opslaat en tevens in welke tabel dit product gevonden kan worden. Zo moet het lukken.
Problemen:
- Lijkt mij omslachtig, maar ik heb geen idee hoe ik het anders zou moeten doen
- Problematisch in verband met het uploaden van de CSV-bestanden (ieder product heeft zijn eigen CSV-bestand)
Wat ik me nu afvraag is: wat is de gangbare manier om dit te doen? Hebben jullie ervaring met een soortgelijke opbouw van een database van een webshop. Welke technieken kunnen me helpen om het probleem op te lossen? Joins? Of pak ik het helemaal verkeerd aan? Ik hoop dat het enigszins duidelijk is.