Structuur prijsvergelijking

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koh do

koh do

27/08/2014 09:07:33
Quote Anchor link
Goedemorgen allemaal,

Ik probeer de structuur te ontwerpen van een DB. Simpel gezegd is het een prijsvergelijk site. Ik heb zelf het volgende bedacht. Alle webshops in een tabel, de verschillende producten een tabel en vervolgens een combinatie van deze twee voor de prijzen (zie afbeelding)

Maar nu vraag ik me af of dit de juiste manier is? Want vooral het tabel “prijzen” krijgt natuurlijk een hoop records.
• Ik heb 1000+ webwinkels geïndexeerd.
• Ik heb 135 verschillende categorieën met gemiddeld 1000 producten. Producten krijgt dan 135.000 records.
• En prijzen, 1000 winkels met 1000 producten in hun assortiment geeft 1.000.000 records voor dat tabel
Is dit een probleem of kan elke MySQL dit met gemak aan?


Afbeelding
 
PHP hulp

PHP hulp

05/11/2024 11:42:39
 
Ward van der Put
Moderator

Ward van der Put

27/08/2014 09:42:20
Quote Anchor link
Een miljoen rijen (records) is voor MySQL geen probleem. Bovendien heeft je tabel Prijzen weinig kolommen.

Wel zou ik de primaire sleutel ID in deze koppeltabel schrappen. Je hebt namelijk al een unieke gecombineerde sleutel van Winkel + Product.

Verder mis ik wat data voor het beheer. Prijzen veranderen, maar daarom wil je waarschijnlijk ook registreren wanneer je een prijs hebt toegevoegd of gewijzigd.

Daarnaast zijn URL's van webwinkels minder interessant dan deeplinks naar de productpagina's.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/08/2014 10:18:48
Quote Anchor link
Ook de ID in producten tabel kan eruit, want de EAN is de meest geschikte kandidaat voor de primary key
 
Peter  paul

peter paul

27/08/2014 11:51:58
Quote Anchor link
Bedankt!! voor de reacties hier ga ik zeker iets mee doen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.