Relatie voorwaarde

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

Bekijk vacature »

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

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 »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

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 Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! 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

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »
Lord Gaga

Lord Gaga

06/09/2016 14:44:08
Quote Anchor link
Hallo,

Nog steeds ben ik bezig met de opzet van mijn database en ik loop tegen een probleem aan waarvan ik niet weet hoe ik het moet oplossen, of naar welke termen ik moet zoeken op internet om tot een oplossing te komen.

Mijn database bestaat uit 3 tabellen:
- gebruiker
- school
- school_afdeling

Het idee is dat een gebruiker zich kan aanmelden bij 1 of meerdere scholen. Elke school heeft afdelingen;
- School 1 heeft bijvoorbeeld afdeling A en B,
- School 2 heeft bijvoorbeeld afdeling C en D

Naast dat een gebruiker zich bij een school kan inschrijven kan diegene zich ook eventueel(!) inschrijven bij 1 afdeling die gekoppeld is aan de school.

Wanneer een gebruiker is ingeschreven bij school 1, kan hij zich dus optioneel inschrijven bij afdeling A en B, maar niet bij afdeling C en D, omdat die behoren aan school 2.

Het probleem is nu, hoe leg ik deze koppeling?

Op dit moment heb ik een tabel gemaakt genaamd gebruiker_school, met daarin de volgende velden:
- gebruiker_id
- school_id
- school_afeling_id

De rijen die ik in school_afdeling_id kan kiezen zouden dus afhankelijk zijn van de waarde in school_id;
- Staat in school_id 1? Dan zou ik in school_afdeling_id A of B kunnen kiezen.
- Staat in school_id 2? Dan zou ik in school_afdeling_id C of D kunnen kiezen.

Ik hoop dat mijn vraag een beetje duidelijk is.

Alvast bedankt!
 
PHP hulp

PHP hulp

02/06/2023 15:07:30
 
- SanThe -

- SanThe -

06/09/2016 16:07:45
Quote Anchor link
Tussen school en afdeling ook een koppeltabel.

id
school_id
afdeling_id
Gewijzigd op 06/09/2016 16:08:12 door - SanThe -
 
Lord Gaga

Lord Gaga

06/09/2016 16:10:56
Quote Anchor link
Eén afdeling kan maar gekoppeld zijn aan 1 school. Dat maakt een koppeltabel toch overbodig?

Edit:
Ik heb even een voorbeeldje gemaakt:

Afbeelding

Hoe zorg ik er dus voor dat een INSERT query of UPDATE query in GEBRUIKER_SCHOOL wordt geweigerd wanneer de combinatie school_id en school_afdeling_id niet voortkomt in SCHOOL_AFDELING
Gewijzigd op 06/09/2016 16:23:56 door Lord Gaga
 
- SanThe -

- SanThe -

06/09/2016 16:37:02
Quote Anchor link
Zoals jij het hebt hoeft in GEBRUIKER_SCHOOL geen school_id want die staat al in SCHOOL_AFDELING.
 
Lord Gaga

Lord Gaga

06/09/2016 16:38:52
Quote Anchor link
Klopt, maar een gebruiker moet zich bij een school kunnen inschrijven zonder meteen een afdeling te kiezen.
 
Ward van der Put
Moderator

Ward van der Put

06/09/2016 17:02:49
Quote Anchor link
Je moet het omgekeerd beargumenteren: aan alleen een afdeling-id heb je voldoende, omdat je daaruit altijd de school-id kunt afleiden. Daarvoor is inderdaad geen koppeltabel nodig, maar heb je genoeg aan een foreign key (FK) in de tabel met afdelingen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
+------------------+
| afdelingen       |
+------------------+
| afdeling_id (PK) |
| school_id (FK)   |
+------------------+
 
Lord Gaga

Lord Gaga

06/09/2016 17:07:30
Quote Anchor link
Dat zou inderdaad wel kunnen, maar ik zou graag willen dat een gebruiker zich kan inschrijven voor een school zonder meteen een afdeling te kiezen. Daarbij komt ook dat een gebruiker zich per school maar mag inschrijven bij 1 afdeling. Dus gebruiker_id en school_id zijn samen een UNIQUE INDEX.
Gewijzigd op 06/09/2016 17:09:50 door Lord Gaga
 
Ward van der Put
Moderator

Ward van der Put

06/09/2016 17:16:57
Quote Anchor link
Sla je van scholen en schoolafdelingen vergelijkbare informatie op of zijn ze onvergelijkbaar?

Je zou ze (als in logistieke systemen) namelijk samen kunnen opslaan in één tabel met een self-referencing key. Laten we de combinatie van scholen plus schoolafdelingen bijvoorbeeld 'locaties' noemen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
+-----------------+
| locaties        |
+-----------------+
| locatie_id (PK) |
| parent_id (FK)  |
+-----------------+


De parent_id is self-referencing en verwijst naar een locatie_id in dezelfde tabel. Bij een school zit je op het hoogste niveau in de hiërarchie en is de parent_id NULL. Bij een schoolafdeling verwijst de parent_id naar de locatie_id van een school. Volgens dit principe kun je eigenlijk alles rubriceren dat hiërarchisch bestaat uit hoofdcategorie > categorie > subcategorie > enzovoort.
Gewijzigd op 06/09/2016 17:17:19 door Ward van der Put
 
Lord Gaga

Lord Gaga

06/09/2016 17:18:00
Quote Anchor link
Nee, een school en een afdeling zijn in dit geval niet hetzelfde helaas...

Misschien een makkelijk voorbeeldje; denk aan Zweinstein. Zweinstein is de school en Griffoendor, Huffelpuf, Ravenklauw en Zwadderich zijn de afdelingen.

Een gebruiker kan zich inschrijven bij de school, maar is nog in geen enkele afdeling gesorteerd. Na het sorteren behoort een gebruiker dus tot maximaal 1 afdeling.
Gewijzigd op 06/09/2016 17:20:16 door Lord Gaga
 
Milo S

Milo S

06/09/2016 17:50:07
Quote Anchor link
Maar dan kun je toch heel eenvoudig het volgende doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
school
- id
- name
- etc. etc.

department
- id
- school_id
- title

department_link
- id
- department_id
- student_id

student
- id
- school_id
- name
- age
- etc


Een school, kan meerdere afdelingen hebben, maar een afdeling niet meer scholen. Vervolgens kan een student maar bij 1 school ingeschreven zijn, en hoeft niet perse al bij een afdeling geplaatst te zijn (verse student). Afdelingen kunnen echter meerdere studenten bevatten dus vandaar de koppeltabel.

De afdelingen zou je op kunnen halen vanuit de school d.m.v het school_id. Welke leerlingen er bij welke afdelingen zitten haal je uit de koppeltabel.
Gewijzigd op 06/09/2016 17:50:26 door Milo S
 
Lord Gaga

Lord Gaga

06/09/2016 18:04:33
Quote Anchor link
Op bovenstaande manier is het nog steeds mogelijk dat een student zich bij dezelfde school bij 2 afdelingen inschrijft en is het ook nog steeds mogelijk dat "school_id" in "student" verwijst naar een andere school dan waar "school_id" in "department" naar verwijst.
 
Milo S

Milo S

06/09/2016 18:11:43
Quote Anchor link
Ik denk niet dat dat iets is wat je in je database zou moeten willen reguleren. Persoonlijk beschouw ik de database als een plek waar we de data in plaatsen. Hoe en welke informatie die database zou moeten krijgen lijkt mij een code ding.
Je zou wellicht een if statement op kunnen nemen in je create of update query.
Gewijzigd op 06/09/2016 18:14:08 door Milo S
 
Lord Gaga

Lord Gaga

06/09/2016 18:13:39
Quote Anchor link
Als zulke dingen in code zouden moeten worden opgelost, zijn dingen als UNIQUE INDEX etc. toch ook een beetje overbodig? :/
 
Milo S

Milo S

06/09/2016 18:15:55
Quote Anchor link
UNIQUE INDEX is in sommige gevallen handig, maar het betekend nog niet dat alles een pas klare oplossing heeft voor datgene wat je uit wilt voeren.
Dit lijkt mij in ieder geval de meest genormaliseerde en functionele versie van wat jij zou willen bewerkstelligen.
Gewijzigd op 06/09/2016 18:16:55 door Milo S
 
Ward van der Put
Moderator

Ward van der Put

06/09/2016 18:21:22
Quote Anchor link
gebruikers:
- gebruiker_id (PK)
- school_id (FK)

scholen:
- school_id (PK)

afdelingen:
- afdeling_id (PK)
- school_id (FK)

gebruikers2afdelingen:
- gebruiker_id (PK+FK)
- afdeling_id (FK)
 
Lord Gaga

Lord Gaga

06/09/2016 18:37:02
Quote Anchor link
Op die manier kan een gebruiker maar lid zijn van 1 school.
De gebruiker moet lid kunnen zijn van meerdere scholen en per school lid van 1 afdeling.

Maar zoals ik begrijp is het niet mogelijk deze restricties op te leggen in de database zelf?

Edit:
Op dit moment heb ik het opgelost met een trigger die kijkt of de relatie bestaat, zo niet; wordt er een signal verstuurd.
Gewijzigd op 06/09/2016 20:26:28 door Lord Gaga
 



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.