Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Hoe en welke verbanden tussen tabellen aanbrengen

Pagina: 1
Acties:

  • qwyrp2
  • Registratie: Mei 2012
  • Laatst online: 18-11 09:54
Voor mijn school wil ik een observatielijst maken. Aan de hand van deze observatielijsten wordt een leerling al dan niet besproken.

Hieronder een voorbeeld hoe het (theoretisch) allemaal er uit moeten gaan zien:
Voorbeeld: leerling TRUUS zit in klas 4B1 en 5 docenten hebben haar beoordeelt op een aantal criteria

TABEL 1
Klas LL vak doccode Op tijd Spullen Gedrag Cijfers Aanw Contact
4b1 truus wis mptr + + - + + -
4b1 truus eng van - + - - + -
4b1 truus ned rich + + - + + -
4b1 truus pr zweek - + - - + -
4b1 truus vak pietje + + - + + -

Nu heb ik alle tabellen al gemaakt maar ik weet niet hoe ik nu alle relaties moet gaan leggen tussen de diverse items.
Afbeeldingslocatie: http://www.beautysoft.nl/qwyrp2.png
Hier is het schema groter en duidelijker www.beautysoft.nl/qwyrp2_1.png

1. Kloppen deze tabellen?
2. Er moet nu een overzichtstabel komen a la tabel 1. Kan iemand met mij meedenken hoe ik de verbanden qua Foreign Keys moet vastleggen ?

Het gaat om een MySQL-database die online komt enne elke hulp is welkom :)

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Deze tabel:
qwyrp2 schreef op zondag 23 juni 2013 @ 18:36:
TABEL 1
Klas LL vak doccode Op tijd Spullen Gedrag Cijfers Aanw Contact
4b1 truus wis mptr + + - + + -
4b1 truus eng van - + - - + -
4b1 truus ned rich + + - + + -
4b1 truus pr zweek - + - - + -
4b1 truus vak pietje + + - + + -
moet je gaan normaliseren. Hoe dat werkt kan je lezen in tutorials of een boek.

Als je het goed doet komen leerlingVoornaam en leerlingAchternaam in dezelfde tabel terecht :+

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Je moet je ook een aantal dingen afvragen over de toekomst. Bijvoorbeeld: hoort een beoordeling bij een leerling in een specifieke klas, of hoort een beoordeling alleen bij een leerling en zit die toevallig in een klas (later mogelijk een andere klas). Geeft een docent altijd hetzelfde vak, of meerdere vakken (aan dezelfde leerling?) Al die dingen leveren mogelijk andere tabellen op. Niet heel lastig ofzo, maar je moet wel goed weten wat je wilt en hoe je data in de toekomst misschien verandert.

  • qwyrp2
  • Registratie: Mei 2012
  • Laatst online: 18-11 09:54
@DAOS: de normalisatie heb ik toch al gedaan, zie plaatje tabellen

@ZOIJAR: dat soort zaken weet ik al want
Beoordeling hoort bij leerling en de klas kan veranderen
Een docent kan meerdere soorten vakken geven.

Graag wil ik aan de hand daarvan de verbanden bepalen (Foreign Key, heo totaaltabel op te zetten) en daar zou ik graag hulp bij hebben

  • Ealanrian
  • Registratie: Februari 2009
  • Laatst online: 22:00
Als je hebt genormaliseerd zou je dan kunnen onderbouwen waarom leerlingVoorNaam in de tabel klassennamen hoort? En voor de verbanden zou je kunnen kijken naar many-to-many relations.

Het is niet aanvallend bedoeld, enkel om inzicht te krijgen in het hoe en waarom.

[ Voor 18% gewijzigd door Ealanrian op 24-06-2013 09:51 ]


  • qwyrp2
  • Registratie: Mei 2012
  • Laatst online: 18-11 09:54
Ealanrian schreef op maandag 24 juni 2013 @ 09:40:
Als je hebt genormaliseerd zou je dan kunnen onderbouwen waarom leerlingVoorNaam in de tabel klassennamen hoort?
Opes nee dat kan ik niet want dat is een foutje.
leerlingVoorNaam moet in tabel LEERLING staan en in plaats daarvan moet LEERLINGid staan.

1. Als ik de theorie snap is LEERLINGid in deze tabel een FOREIGN KEYen deze verwijs ik naar LEERLING.LEERLINGid
2. Er kunnen meerdere leerlingen in dezelfde klas zitten maar leerlingen kunnen niet in meerdere klassen zitten dus dat betekent een 1 op VEEL realatie

Klopt dit?

  • Ealanrian
  • Registratie: Februari 2009
  • Laatst online: 22:00
Ja dat klinkt wel logisch ja. *edit*daar heeft Orion84 een punt. *end edit*
Al is het wel afhankelijk van verschillende dingen. Moet het bijvoorbeeld nodig zijn om meerdere jaren op te slaan(en dus meerdere klassen voor 1 leerling) en moeten beoordelingen terug te zien per jaar en dus per klas?

[ Voor 9% gewijzigd door Ealanrian op 24-06-2013 10:08 ]


  • Orion84
  • Registratie: April 2002
  • Laatst online: 11:34

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

qwyrp2 schreef op maandag 24 juni 2013 @ 09:56:
[...]

Opes nee dat kan ik niet want dat is een foutje.
leerlingVoorNaam moet in tabel LEERLING staan en in plaats daarvan moet LEERLINGid staan.

1. Als ik de theorie snap is LEERLINGid in deze tabel een FOREIGN KEYen deze verwijs ik naar LEERLING.LEERLINGid
2. Er kunnen meerdere leerlingen in dezelfde klas zitten maar leerlingen kunnen niet in meerdere klassen zitten dus dat betekent een 1 op VEEL realatie

Klopt dit?
Dan moet je dus niet een leerlingID in de KLAS tabel zetten, maar een klasID in de Leerling tabel.

En aangezien leerlingen elk jaar van klas veranderen en je wellicht ook nog historie wilt bijhouden, ben je er daarmee ook niet. Dan is een koppeltabel met leerlingID, klasID en start / einddatum of iets in die trant handiger.

Kortom: lees je inderdaad even in in de basics van database-ontwerp en bedenk goed wat je allemaal met dit datamodel wilt kunnen.

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-11 13:46

Janoz

Moderator Devschuur®

!litemod

qwyrp2 schreef op maandag 24 juni 2013 @ 09:56:
[...]

Opes nee dat kan ik niet want dat is een foutje.
leerlingVoorNaam moet in tabel LEERLING staan en in plaats daarvan moet LEERLINGid staan.

1. Als ik de theorie snap is LEERLINGid in deze tabel een FOREIGN KEYen deze verwijs ik naar LEERLING.LEERLINGid
2. Er kunnen meerdere leerlingen in dezelfde klas zitten maar leerlingen kunnen niet in meerdere klassen zitten dus dat betekent een 1 op VEEL realatie

Klopt dit?
Jij bent de 'domein specialist' dus vraag twee kun je in principe alleen zelf beantwoorden. Echter weet ik toevallig nog wel een beetje van toen ik vroeger naar school ging ;). Ik kan me herinneren dat ik in al die jaren niet altijd in dezelfde klas gezeten heb.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1