Producten koppelen (welke werkwijze)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

PHP Web Developer

Functie omschrijving Voor een klein softwarebedrijf in de omgeving Roosendaal, zijn wij op zoek naar een PHP web developer met een aantal jaar werkervaring. Wil jij graag werken aan in-house software projecten voor diverse klanten? Voel jij je prettige in een klein team developers, waar jouw inbreng enorm gewaardeerd wordt? Lees dan snel verder! Jouw werkzaamheden zien er als volgt uit: Je wordt verantwoordelijk voor de ontwikkeling van diverse applicaties. Dit kan de ene keer een online platform voor aanbiedingen zijn, en de andere keer een software pakket dat gebruikt wordt om interne processen te automatiseren. Het zijn stuk voor

Bekijk vacature »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Software Developer

Functie omschrijving Heb jij affiniteit met ICT en een WO diploma in de pocket? Dan ben je hier aan het juiste adres. Voor een opdrachtgever in Amsterdam zijn wij op zoek naar kandidaten die (enige) ervaring hebben met Java, Javascript, C of C++. Je zal door middel van trainingen worden opgeleid tot een volwaardige Software Developer. Er wordt tijdens de training natuurlijk veel aandacht besteedt aan de vaktechnische aspecten, maar er gaat ook veel aandacht uit naar jouw persoonlijke ontwikkeling. Bedrijfsprofiel Bij deze opdrachtgever in de omgeving van Amsterdam zoeken ze meerdere enthousiaste kandidaten die hun carrière willen starten met

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Account Developer

Voor Bol.com zijn wij per direct op zoek naar een Account Developer voor 32-40 uur per week op het kantoor in Utrecht. Wil jij een directe bijdrage leveren door partners van de juiste data-inzichten te voorzien en via campagnes op nieuwe platformkansen en features te wijzen? Ben jij analytisch sterk en kun jij dit vertalen naar plannen en inspirerende gesprekken? Lees dan snel verder! wat bieden wij jou Salaris van €2400 - €2600 obv 40 uur Minimaal 6 maanden Werklocatie is Utrecht Werken bij bol.com wie ben jij Jij bent commercieel gedreven en weet altijd aan de juiste knoppen te

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Software Developer C# / ASP .Net

Functie omschrijving Ben jij een software ontwikkelaar die bekend is met termen ASP .NET, C# en SQL? Lees dan snel verder! Voor een bedrijf binnen de agrarische sector zijn wij namelijk op zoek naar een zelfstandige, enthousiaste en proactieve Software Developer die open staat voor een afwisselende functie met veel uitdaging. Binnen deze organisatie ben jij als Software Developer samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Hierbij draag jij bij aan de vertaling van klantwensen naar effectieve softwareoplossingen. Daarnaast ben je verantwoordelijk voor: Schatten

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »
Ben Pastoor

Ben Pastoor

18/11/2020 20:56:43
Quote Anchor link
Ik werk momenteel aan tool die het makkelijk moet maken om product varaties te koppelen. Dit wil zeggen, stel je hebt 4 producten die aan elkaar gelinkt moeten worden je dit maar 1x hoeft te doen.

Om de producten te koppelen wil
Ik gebruik maken van de productID

Momenteel heb ik het nu werkend om de productID te verkrijgen van de artikelen die ik wil koppelen

Nu moet ik alleen nog de kenmerken van de variatie hieraan toevoegen bijvoorbeeld kleur of materiaal etc.

Nu zou ik graag wat input willen hebben wat jullie zouden doen qua opslaan (array vorm? Of andere manier)

Hoe je de DB hiervoor zou inrichten. (relative tables?)
 
PHP hulp

PHP hulp

27/05/2026 08:20:36
 
Thomas van den Heuvel

Thomas van den Heuvel

18/11/2020 22:26:01
Quote Anchor link
Hier was redelijk recent (interne link) al een topic over.
Gewijzigd op 18/11/2020 22:38:39 door Thomas van den Heuvel
 
Ward van der Put
Moderator

Ward van der Put

19/11/2020 10:50:28
Quote Anchor link
Als je een Product uitbreidt tot een ProductModel kun je gemakkelijker relaties zoals isVariantOf leggen.

Elke productvariant, dus elk ProductModel, moet dan inderdaad een unieke product-ID hebben, anders kun je de varianten niet uit elkaar houden.

Met een EAV-infrastructuur (in het gelinkte topic) heeft dat verder weinig te maken. EAV (entity-attribute-value) is slechts een databasetechniek om productdata op te slaan in een relationele database, maar dat bepaalt niet hoe je productmodellen ontwerpt.
 

20/11/2020 10:06:22
Quote Anchor link
Je wilt het EAV-model vermijden, omdat het weinig met SQL te maken heeft.

Een andere aanpak kan zijn om een tabel aan te maken met basiseigenschappen die alle producten met elkaar gemeen hebben, zoals naam, SKU, etc. Met daarnaast per productsoort een tabel waarin unieke eigenschappen in kunnen worden opgeslagen.
De eigenschappentabel kan je koppelen aan de basistabel door te werken met dezelfde primaire ID's.
Je kunt het zo maken dat de PRIMARY KEY in de hoofdtabel een AUTO_INCREMENT heeft, en daarnaar verwijzen vanuit de eigenschappentabellen met een PRIMARY KEY die tevens een FOREIGN KEY constraint heeft naar de PRIMARY KEY van de hoofdtabel.

Wil je meer met AUTO_INCREMENT doen, dan is het handig als je database SEQUENCES ondersteunt. MySQL doet dat bij mijn weten nog steeds niet, zelfs niet in de huidige versie 8.0. Maar MariaDB en PostgreSQL doen dat wel:
MariaDB: https://mariadb.com/kb/en/create-sequence/
PostgreSQL: https://www.postgresql.org/docs/current/sql-createsequence.html

Ja, het kost wel meer werk om op te zetten, maar dan heb je de voordelen van SQL zoals garanties op data-integriteit en -kwaliteit. Dat is meestal de hoofdreden om iets in SQL te willen doen.

In sommige gevallen wil je liever iets EAV-gerelateerds doen, en hoeft de nadruk niet op SQL te liggen.
In zulke gevallen kan je ook besluiten om met JSON-strings te werken, en deze op te slaan in een JSON-kolom.
PostgreSQL: https://www.postgresql.org/docs/10/datatype-json.html
- https://www.postgresql.org/docs/current/functions-json.html
MariaDB: https://mariadb.com/kb/en/json-functions/
MySQL: https://dev.mysql.com/doc/refman/5.7/en/json.html
Dan kan je in SQL-queries werken met handige JSON-functies van de database.
 
Thomas van den Heuvel

Thomas van den Heuvel

20/11/2020 16:07:07
Quote Anchor link
Quote:
Met een EAV-infrastructuur (in het gelinkte topic) heeft dat verder weinig te maken. EAV (entity-attribute-value) is slechts een databasetechniek om productdata op te slaan in een relationele database, maar dat bepaalt niet hoe je productmodellen ontwerpt.

Als je met productmodellen code bedoelt, die bepaalt hoe je verder met deze (database-)data werkt, dan ja, dat staat dan redelijk los van elkaar, maar dit sluit elkaar ook niet uit? Vormt een EAV database-aanpak een belemmering?

Quote:
Je wilt het EAV-model vermijden, omdat het weinig met SQL te maken heeft.

Als je met EAV-model een soort van "database-in-een-database"-aanpak bedoelt dan ja, dit kun je beter vermijden omdat dit voor een aantal issues zorgt (o.a. fragmentatie van data). Behalve wellicht als dit een redelijk efficiënte oplossing vormt voor een zekere mate van gewenste flexibiliteit. Magento gebruikt volgens mij nog steeds een EAV-aanpak, dat zegt toch ook wel wat.

En voordat dit (weer?) ontaardt in gebakkelei over de vorm van een oplossing lijkt het mij misschien handig om het doel niet uit het oog te verliezen.

Wat voor aanpak je ook kiest, op een gegeven moment moet je de data die je in je database gestampt hebt er ook weer op een efficiënte en makkelijke manier uit kunnen trekken en hiermee makkelijk kunnen zoeken (denk aan facetted searches etc.). Hoe je dit optimaliseert wordt (mede) bepaald door hoe je deze data gebruikt. Het ontwerp van je database zou dit doel moeten dienen en aan moeten sluiten bij het gebruik.

Ik zou haast zeggen dat het irrelevant is welke vorm dit precies aanneemt zolang het doel maar wordt bereikt.
 
Ward van der Put
Moderator

Ward van der Put

20/11/2020 17:02:52
Quote Anchor link
Zo te zien heeft de topicstarter al een EAV-database.
 

23/11/2020 14:00:23
Quote Anchor link
Thomas van den Heuvel op 20/11/2020 16:07:07:
En voordat dit (weer?) ontaardt in gebakkelei over de vorm van een oplossing lijkt het mij misschien handig om het doel niet uit het oog te verliezen.


Inderdaad, maar welk doel? Eenvoudig zoeken? Is dat wat Ben bedoelt met "Hoe je de DB hiervoor zou inrichten."?
Ik haal dat er niet uit. Volgens mij vraagt hij juist naar normalisatie in de eerste alinea.

Voor snel en eenvoudig zoeken met mijn eerdere suggestie kan je complexere structuren vereenvoudigen met VIEWs, en queries versnellen met indices, zoals gebruikelijk met SQL.
 



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.