Producten koppelen (welke werkwijze)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

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

25/04/2024 17:14:31
 
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.
 
Ad Fundum

Ad Fundum

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.
 
Ad Fundum

Ad Fundum

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.