Hallo,
Mijn database heeft een aantal tabellen:
- klantgegevens
- locatie
- werkervaring
Mensen kunnen zich online inschrijven voor een soort vacaturebank. Ze vullen in 1 formulier hun gegevens in, op welke locaties ze willen werken, en wat hun werkervaring is. Nu wil ik dit niet in 1 tabel stoppen, aangezien mensen wellicht op meerdere locaties willen werken, en vaak ook meerdere banen hebben gehad. Het punt is dat alles in 1 formulier staat, maar dat ik dus in 1 query gegevens in meerdere tabellen in moet voeren. Kan dit? Of zie ik iets over het hoofd?
Let op: Wanneer er een verband zit tussen de gegevens, dan ben je bijna verplicht om de queries op een veilige manier in een TRANSACTION te verwerken. In het geval van MySQL ben je dan automatisch verplicht om de innoDB-engine te gebruiken, dat is de enige engine waarmee je TRANSACTIONs en foreignkey's kunt gebruiken.
Wanneer je geen transaction gebruikt, loop je het risico dat de data corrupt raakt wanneer er ergens een query fout gaat. Je moet dan de hele serie queries ongedaan maken of juist niet COMMIT-ten. Zie de handleiding voor de details.
@Arjan: Had daar niet naar gekeken, maar je hebt hier wel een heel goed punt te pakken!
Nu wil ik dit niet in 1 tabel stoppen, aangezien mensen wellicht op meerdere locaties willen werken, en vaak ook meerdere banen hebben gehad.
Dit heeft namelijk helemaal niets met 'willen' te maken, je kunt het niet in 1 tabel opslaan! Althans, niet als je de data ook nog op een eenvoudige manier weer ter beschikking wilt hebben...
De bekende oplossing:
1) Gooi de huidige database weg
2) Ga normaliseren
3) Maak een nieuwe database aan