Normalisatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack PHP developer voor gerenommeerde organis

Functieomschrijving Voor de functie is het belangrijk dat jij goede kennis hebt van PHP en Laravel/Symfony en JavaScript. Ze zoeken dus iemand die al 5 jaar werkervaring heeft als developer. Je zult hier zowel op de Front- als Backend werkzaam zijn en samen met je collega's ben je verantwoordelijk voor de software. Wil jij jezelf verder uitdagen in een klein en sterk team? Dan ligt hier de kans om deze stap te zetten! Functie-eisen - Je hebt minimaal 5 jaar werkervaring als PHP developer; - Javascript, PHP en MySQL kennen geen geheimen voor jou; - Je hebt kennis van meerdere

Bekijk vacature »

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

.NET Developer

.NET Developer De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een

Bekijk vacature »

PHP Developer op de groei Innovatie Creativiteit

Functieomschrijving Ben jij een PHP Developer die zich nog wilt ontwikkelen? Ben jij innovatief, leergierig en wil je graag groeien? Sta jij te springen om de nieuwste tools en technieken toe te passen in jouw werk? Reageer nu en kom alles te weten! Software ontwikkelen met behulp van PHP; Werken aan verbetering van traditionele en nieuwe SaaS-producten Ontwikkelen van nieuwe functionaliteiten volgens SCRUM; Deelnemen aan verschillende development projecten; Maken van een technisch ontwerp; Meedenken over de architectuur. Functie-eisen Hbo-denkniveau; Minimaal 2 jaar relevante werkervaring; Creatief en innoverend; Ervaring met SCRUM is een pré; Een mooie schone code schrijven, dat geeft

Bekijk vacature »

Progress Developer / Internationale markt

Functieomschrijving Wil jij in een toonaangevende organisatie werken met de ambitie om de (inter-)nationale markt te bewerken? Reageer dan nu! Uitvoeren van analyses ter bevordering van de betrouwbaarheid en performance van de applicatie; Implementeren van functionaliteiten in eigen Back Office pakket; Meedenken over de architectuur en tevens waarborgen van de architectuur; Programmeren van functionele en technische wijzigingen; Bijwerken van documentatie; Troubleshooten van complexe incidenten; Aanroepen van webservices, message handling; Functie-eisen Minimaal HBO werk en denkniveau; 6+ jaar ervaring in software ontwikkeling; Ruime ervaring met Progress / OpenEdge; Zeer sterk analytisch vermogen; Je bent communicatief en je gaat proactief te werk;

Bekijk vacature »

Business Intelligence Developer vacature

Jij ben niet bang om hard te werken. Uitdagingen zijn welkom. En problemen? Die zijn er om opgelost te worden of, nog beter, om voorkomen te worden! Voor jij aan de slag gaat met het ontwerpen van BI- en DWH-oplossingen, leg je eerst je oor te luister bij de klant. Zo weet jij wat de klant wil, en hoe jouw ontwerp eruit moet komen te zien. Simpel! Althans… met jouw Developer-kwaliteiten wel! Over deze BI vacature Als Business Intelligence Developer ga je zowel op locatie bij de klant aan de slag, als op een van de Sogeti-locaties. Je analyseert de

Bekijk vacature »

Senior Python Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: je bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

VB.NET / C# Winforms developer gezocht voor onderh

Voor een bedrijf in het centrum van Rotterdam zijn we op zoek naar een .NET developer. Het gaat om een bedrijf dat een software platform beheerd waarop verschillende partijen aangesloten zijn voor de afhandeling van financiële administratieve processen. De organisatie bestaat uit circa 200 mensen waarvan 80 op de locatie waar deze vacature speelt. Het team zelf bestaat uit 12 mensen waaronder 7 .NET developers. Er zijn 2 seniors en 5 mediors. Binnen het bedrijf draaien twee systemen. Het kernsysteem en het legacy systeem. Het kernsysteem is grotendeels op .NET gemaakt en deels .NET Core, de frontend is een MVVM

Bekijk vacature »

Technical Lead Developer met doorgroei mogelijkhed

Voor een toonaangevende specialist in softwareoplossingen gericht op strategisch portfolio management ben ik op zoek naar een ambitieuze Technical Lead. De applicatie is volop in ontwikkeling. Zo worden er vele nieuwe functionaliteiten toegevoegd in .Net Core en staat een migratie naar de Azure op de planning. Om deze ontwikkeling te begeleiden en het team aan te sturen, zijn ze op zoek naar een ambitieuze Technical Lead. Wat je gaat doen: Een roadmap maken voor de komende jaren De juiste architectuur neerzetten, hands-on ontwikkelen (front-end en back-end) De migratie naar Azure begeleiden Het 8-koppige ontwikkel team inhoudelijk aansturen en coachen Communicatie

Bekijk vacature »

Java Developer / Java 8 / Angular / Docker / Autom

Functieomschrijving Wil jij als Java Developer aan de slag bij een internationaal bedrijf die cutting edge applicaties ontwikkeld voor de automotive branche? Ga je graag aan de slag met technieken als Java 8, Java EE7, Docker, Angular en wil je graag direct een lease auto krijgen? Lees dan snel verder! Ontwikkelen van cutting edge applicaties met o.a. Java 8, Java EE7, Angular en Docker; Verantwoordelijk vanaf het in kaart brengen van requirements tot de daadwerkelijke technische oplossing; Meedenken over architectuur; Assisteren van technische implementaties bij klanten; Overleggen met analisten, testers, architecten en consultants. Functie-eisen Minstens 2 jaar ervaring als Java

Bekijk vacature »

Medior PHP Developer Innovatie Creativiteit

Functieomschrijving Ben jij een PHP Developer die out of the box denkt? Zoek jij naar de mogelijke als naar de onmogelijke oplossingen? Sta jij te springen om de nieuwste tools en technieken toe te passen in jouw werk? Reageer nu en kom alles te weten! Ben jij iemand die energie krijgt van het ontwikkelen van een complexe PHP objectgeoriënteerde platform; Denk jij graag mee over de architectuur; Werk jij goed in een Scrum team om nieuwe functionaliteiten te ontwikkelen; Neem jij graag deel aan verschillende development projecten; Geeft een mooie schone code jouw energie en doe jij er alles aan

Bekijk vacature »

Software Ontwikkelaar Zorg-ICT

Wil jij met ChipSoft impact maken in de zorg met jouw technische kennis als Software Ontwikkelaar? En lijkt het jou uitdagend om innovatieve software te ontwikkelen met de laatste Microsoft-tools en technieken? Wat doe jij als Software Ontwikkelaar? Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in teamverband. ChipSoft maakt gebruik van een zelf ontwikkeld multi-tier framework. Tijdens een interne opleiding brengen wij je snel bij hoe je binnen deze architectuur je ontwikkelkunsten kunt

Bekijk vacature »

C/C++ Developer - English

SOFTWARE ENGINEER: C/C++ DEVELOPER - ENGLISH Ref. number 19-0324 Region Enschede Description ICT/Internet Salary Depends on Experience Language(s) required English Start date ASAP Contract info Recruitment Duration 1 year with possible extension Our client, a newly established IT company, is looking for a Software Engineer:C/C++ Developer to join their team in Enschede. They offer web-hosting providers a fully automated SaaS solution to find security risks and resolve them by automatically applying safe backported patches and by defusing malware. Are you eager to proactively protect and secure every website on the planet and revolutionise the hosting industry? How about being part

Bekijk vacature »

BI Developer

Kijken, kijken, niet kopen! Je kijkt automatisch om als je een verkoper op een lokale markt in Marrakesh dit hoort roepen naar twee passerende Nederlandse toeristen. Zal deze verkoper zich wel eens afvragen waarom de toerist zijn stalletje voorbij loopt? Dit is een vraag die een business analyst onlangs ook aan jou stelde. “Hoe kan het toch dat een klant wel iets in z’n winkelwagentje legt, maar vervolgens niets koopt?” Super trots ben je dan ook op de tool die jij hebt gemaakt waarmee Kruitbosch nu het gedrag van de klant kan meten. Kruitbosch heeft een mooi en vooruitstrevend IT-landschap

Bekijk vacature »

JUNIOR FRONT-END DEVELOPER

JUNIOR FRONT-END DEVELOPER Utrecht Technology 13th month pay & Holiday allowance Bonus Program 26 holidays Training & Learning opportunities Laptop & Smartphone 32-40 hours p.w. Junior Front-end Developer Are you a user focused Front-end developer that will help our clients realize their digital strategies? Then we have the right challenge for you! Your job For our ever growing Interactive, Front-end team within Accenture Technology we’re looking for experienced Front-end developers that want to improve user experiences through technology. You’re enthusiastic about the web and always improving your knowledge and skill. You have a drive to master your craft. Your team

Bekijk vacature »
Jasper DS

Jasper DS

29/05/2013 21:26:42
Quote Anchor link
Goede avond,

ik wil een database aanleggen voor de muziekgroep waarin ik speel. We willen:

1) informatie over de leden in de database steken (+wachtwoord voor authenticatie)
2) al onze bezittingen inventariseren zoals:
- truien
- schoenen
- instrumenten
3) bijhouden welk lid welk instrument / trui / ... heeft
4) een geschiedenis bijhouden van wie wat wanneer heeft gehad

Actieve leden hebben normaal altijd een trui, schoenen en een instrument maar, tussen onze ledenlijst zitten ook ex-leden (= status niet actief) zei hebben ooit spullen gehad maar toen ze stopten zijn deze naar iemand anders gegaan.

Ik maakte volgende db-structuur*, heeft iemand nog tips over de normalisatie?

*
http://www.plaatjesdump.nl/upload/2f70b44b8134d3983fe60ce57906dcbe.png

Alvast bedankt,
Jasper
Gewijzigd op 29/05/2013 21:27:01 door Jasper DS
 
PHP hulp

PHP hulp

28/01/2020 09:09:27
 
TJVB tvb

TJVB tvb

30/05/2013 11:53:03
Quote Anchor link
Je koppel tabel is onlogisch. 1 tabel voor verschillende soorten koppelingen.

Ik zou per koppeling een koppel tabel maken en daarin een begin en einddatum zetten. (Het kan toch ook zijn dat een trui een tijdje bij niemand is)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/05/2013 19:55:22
Quote Anchor link
Even een aanzetje:
Jasper DS op 29/05/2013 21:26:42:
ik wil een database aanleggen voor de muziekgroep waarin ik speel. We willen:

1) informatie over de leden in de database steken (+wachtwoord voor authenticatie)
2) al onze bezittingen inventariseren zoals:
- truien
- schoenen
- instrumenten
3) bijhouden welk lid welk instrument / trui / ... heeft
4) een geschiedenis bijhouden van wie wat wanneer heeft gehad

Actieve leden hebben normaal altijd een trui, schoenen en een instrument maar, tussen onze ledenlijst zitten ook ex-leden (= status niet actief) zei hebben ooit spullen gehad maar toen ze stopten zijn deze naar iemand anders gegaan.

Wat je eigenlijk moet doen is je vraagstelling vertalen in tabellen:
Dus (1) ik heb leden van de band;
tabel leden: lid_id, naam, etc.

(2)
tabel bezittingen: bezitting_id, bezitting_name

(3)
tabel lid_heeft _bezitting: lid_id, bezitting_id

Als je bezittingen overdraagbaar wilt hebben, heb je de koppeltabel nodig.
 
Joakim Broden

Joakim Broden

30/05/2013 20:54:07
Quote Anchor link
tabel leden: id, name, email etc
tabel bezittingen: id, name, description etc
tabel koppeltabel: id, user_id, product_id, start_date, end_date etc (aan de hand van start_date en end_date kun je zien of het lid ze nog heeft etc, eventueel kun je dit uitbreiden met een 'active' veld)
Gewijzigd op 30/05/2013 20:55:24 door Joakim Broden
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/05/2013 22:44:35
Quote Anchor link
Voorkauwen heeft geen nut.
En de stomste 'fout' die altijd gemaakt wordt is om maar altijd een pk kolom de naam id te geven.
 
Jasper DS

Jasper DS

30/05/2013 22:45:44
Quote Anchor link
Bedankt voor de reacties!

TJVB, jij zou dis een KOPPEL_TRUI en een KOPPEL_INSTRUMENT tabel maken? En aan die koppeltabel een startdatum en een einddatum toevoegen?

Ger en Hertog, jullie zouden 1 tabel bezittingen maken en daar alle soorten insteken? En dan één koppeltabel en einddatum.

Wat ik eventueel zou kunnen doen is een user STOCK aanmaken waaraan ik de bezittingen hang die niemand gebruikt. Het moeilijke aan de tabel bezittingen is dat dit inderdaad gaat voor een trui of een schoen maar een instrument heeft niet dezelfde waardes dus dat wordt dan sowieso een aparte tabel.

http://www.plaatjesdump.nl/upload/b74bd870918b3246b55a6dcee8616347.png
Gewijzigd op 30/05/2013 22:49:09 door Jasper DS
 
Joakim Broden

Joakim Broden

30/05/2013 23:02:15
Quote Anchor link
Ger van Steenderen op 30/05/2013 22:44:35:
En de stomste 'fout' die altijd gemaakt wordt is om maar altijd een pk kolom de naam id te geven.

Hoezo is dat fout? Ik zou zo niet 123 weten wat er fout aan is

Ik vind lid_id vind ik juist irritant en totaal overbodig. Je zit al in de tabel leden, waarom dan nog eens de een extra omschrijving lid_id, dan is id duidelijk zat.
Gewijzigd op 30/05/2013 23:20:05 door Joakim Broden
 
Reshad F

Reshad F

31/05/2013 00:50:31
Quote Anchor link
@Hertog Jan Wat Ger hiermee wil zeggen is dat een PK niet altijd een ID hoeft te zijn dus je kan net zo goed een ander unieke kolom nemen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

31/05/2013 08:14:19
Quote Anchor link
@Hertog Jan,
Ik had fout tussen aanhalingstekens gezet, omdat het ook niet echt fout is.
Ik heb toevallig op mijn andere scherm een query over 7 tabellen voor me, waarvan er 6 een id kolom hebben en 5 een naam kolom. Mag jij mij uitleggen hoe duidelijk alleen id dan is.

@Jasper,
Je hebt één koppeltabel op leden, bezittingen en instrumenten. Het is ongebruikelijk maar kan wel, maar dan moet je wel er voorzorgen dat de id's van bezittingen en instrumenten elkaar niet overlappen.

Je kunt uit de start- en einddatum in de koppeltabel afleiden of iets al dan niet in gebruik is, dus daar hoef je geen aparte tabel voor te maken.

Een koppeltabel heeft geen eigen id nodig, de PK is de combinatie member_id en bezitting_id
 
Jasper DS

Jasper DS

31/05/2013 10:41:08
Quote Anchor link
Ja inderdaad daar had ik nog niet over nagedacht. Zou ik dan toch niet opteren voor 3 koppeltabellen? En de end-date blijft dan leeg tot het object terug in de stock gaat?
 
Jeroen VD

Jeroen VD

31/05/2013 10:47:50
Quote Anchor link
bekijk de volgende tutorial eens: van een andere kant bekijken nooit verkeerd:
http://www.phphulp.nl/php/tutorial/overig/welke-tabellen-heb-ik-nodig-/773/
 
Jasper DS

Jasper DS

31/05/2013 10:53:54
Quote Anchor link
Ik ben het niet eens met uw tutorial, naar mijn mening word een leraar gekoppeld aan één of meerdere klassen per lesuur en niet aan n-leerlingen, die n-leerlingen zijn immers een klas.

Je DB-model zou er dus anders uit zien. Verder denk ik ook niet dat die tutorial mij verder kan helpen...
 
Jeroen VD

Jeroen VD

31/05/2013 11:00:11
Quote Anchor link
kan ook, als jij een klas als aparte eenheid wilt zien... ik zie een klas bestaande uit een n aantal personen.... die je op dezelfde manier kan koppelen. maar dat is verschil van mening.

en de bedoeling van de tutorial is eens een wat andere manier te laten zien ;) die heel vaak een hele snelle eerste opzet geeft die makkelijk te normaliseren is in mijn opzicht
 
Jasper DS

Jasper DS

31/05/2013 11:03:09
Quote Anchor link
Hoe zou jij mijn voorbeeld dan normaliseren? Ik kom via jouw methode op dezelfde structuur uit.

1 tabel leden
1 tabel truien
1 tabel schoenen
1 tabel instrumenten
1 koppeltabel voor truien
1 koppeltabel voor schoenen
1 koppeltabel voor instrumenten
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

31/05/2013 11:34:23
Quote Anchor link
Je kan truien en schoenen in 1 tabel samenvatten, stel in de toekomst besluit je de leden ook van ondergoed te voorzien, dan moet je weer een tabel (onderbroekenlol) en een koppeltabel bijmaken.
Normaliseren is een middel om een goed beheersbare database te verkrijgen. Het aanpassen van de database structuur als je uit de ontwikkelfase bent is not done.
 
Jasper DS

Jasper DS

31/05/2013 11:42:17
Quote Anchor link
Op dit moment hebben truien en schoenen (riemen hebben we ook) een eigen volgnummer dus er is een trui met nummer 1, een schoen met nummer 1 en een riem met nummer 1...
 
Eddy E

Eddy E

31/05/2013 11:59:41
Quote Anchor link
Toch allemaal kleding.
Desnoods categorieën aanmaken voor kleding (vest, broek, riem, schoen, jas, sjaal, muts).
 
Erwin H

Erwin H

31/05/2013 12:25:34
Quote Anchor link
Het ligt en beetje aan welke informatie per kledingstuk je wilt opslaan. Is dat allemaal hetzelfde? Dan naast het id ook een categorie zoals Eddy zegt en dan kan je alles in 1 tabel plaatsen, met 1 koppeltabel. Heb je juist verschillende info per kledingstuk, dan kan je ieder kledingstuk in zijn eigen tabel plaatsen, maar je zou er dan nog steeds voor kunnen kiezen om de koppelingen in 1 koppeltabel te plaatsen waarbij je naast id ook weer een categorie gebruikt om te koppelen. Heb je heel veel verschillende info per kledingstuk, dan kan je weer terug naar 1 tabel voor alle kledingstukken, maar sla je de info op in een aparte tabel waarbij je per rij 1 kenmerk van het kledingstuk opslaat. Dit is misschien wel de ultieme vorm van normalisatie die je meestal niet hoeft (en niet wilt) toepassen, maar wel extreem flexibel is.

In elk geval zou ik proberen om niet per kledingstuk een koppeltabel te hebben. Dat is juist weer erg inflexibel en je zal merken dat je dan bij aanpassingen al snel een hele rij queries aan het aanpassen bent.
 



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.