Producten koppelen (welke werkwijze)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

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 »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

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

22/12/2024 07:05: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.