Hulp nodig bij normalisatie opdracht.

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • KeVP83
  • Registratie: Oktober 2018
  • Laatst online: 13-10-2020
Voor een cursus db heb ik volgende opdracht:

Een studentenvereniging houdt bij voor welke (sport-) activiteiten een student zich heeft ingeschreven. Een student kan zich voor één of meer dagen inschrijven voor een bepaalde activiteit. De genoemde prijs is de prijs van de betreffende activiteit. Deze prijs ligt per activiteit vast en varieert niet en is de prijs per dag. In verband met de grote afstanden tussen de diverse locaties kan een student zich slechts voor één activiteit per dag inschrijven.

Inchrijvingen per student Overzicht per 30-4-2018


Gegevens student:

Nummer :0053789
Naam :J.Jansen
Richting :BE Bedrijfseconomie, cluster FINMA


Gegevens ingeschreven activiteiten:


Activiteit Datum Betaald


HG - Hangglijden - 75€ 21 mei 2018 ja
28 mei 2018 neen


ZV - Zweefvliegen - 225€ 03 juni 2018 ja
04 juni 2018 ja
05 juni 2018 neen




Normaliseer bovenstaand overzicht tot en met de derde normaalvorm en teken het ERD. Plaats in een (Word)document de normalisatiestappen en het relatiediagram.


Ik ben echt geen kei in dit normaliseren. Ik sla alles gewoon door elkaar. Daarom even wat hulp gevraagd om bovenstaande tot een goed einde te brengen. Ik zou echt graag slagen voor deze cursus maar heb er echt moeite mee. Ik moet ALLE stappen oplijsten. HEEEELP!

Alle reacties


Acties:
  • +2 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 17:46

NMe

Quia Ego Sic Dico.

En welke stap lukt je niet? We willen je best helpen bij het maken van je huiswerk maar als je niet op zijn minst zelf met een voorzetje komt houdt het op. Het doel van huiswerk is dat je ervan leert, niet dat mensen met meer ervaring de opdracht voor je maken.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • KeVP83
  • Registratie: Oktober 2018
  • Laatst online: 13-10-2020
Hey NMe,

Ik loop wat vast al op het wegwerken van de geneste repeterende groepen.
Ik heb momenteel:
0NV: (studentnr, studentnaam, richtingcode, richting, cluster, RG(activiteitcode, activiteit, prijs, RG(datum, betaald)))

dit wordt eerst: (studentnr, activiteitcode, activiteit, prijs, RG(datum, betaald))
(studentnr, studentnaam, richtingcode, richting, cluster)

dit wordt 1NV: (studentnr, activiteitcode, datum, betaald)
(studentnr, activiteit, prijs)
(studentnr, studentnaam, richtingcode, richting, cluster)

Dit is wat ik momenteel als 1NV heb. Maar sla op den duur alles door elkaar en begin dan keihard te twijfelen.

Acties:
  • 0 Henk 'm!

  • KeVP83
  • Registratie: Oktober 2018
  • Laatst online: 13-10-2020
https://we.tl/t-PJHP7vVyA0
Opdracht in pdf op bovenstaande link. Is mss wat overzichtelijker.

Acties:
  • 0 Henk 'm!

  • Landtlord
  • Registratie: September 2016
  • Laatst online: 27-03-2024
(studentnr, activiteitcode, datum, betaald)
(studentnr, activiteitcode, activiteit, prijs)
(studentnr, studentnaam, richtingcode, richting, cluster)

eentje vergeten overnemen denk ik. Mss ook nog je sleutels aanduiden. Dinsdag of woensdag les? ik herken de opdracht van ergens :) .

Acties:
  • 0 Henk 'm!

  • KeVP83
  • Registratie: Oktober 2018
  • Laatst online: 13-10-2020
Landtlord schreef op maandag 8 oktober 2018 @ 20:27:
(studentnr, activiteitcode, datum, betaald)
(studentnr, activiteitcode, activiteit, prijs)
(studentnr, studentnaam, richtingcode, richting, cluster)

eentje vergeten overnemen denk ik. Mss ook nog je sleutels aanduiden. Dinsdag of woensdag les? ik herken de opdracht van ergens :) .
Ik heb dinsdag les! Zit jij toevallig bij mij in de les?? Anders wil ik wel contact opnemen om eens te overlopen.
(studentnr, activiteitcode, datum, betaald)
(studentnr, activiteitcode, activiteit, prijs)
(studentnr, studentnaam, richtingcode, richting, cluster)

Acties:
  • 0 Henk 'm!

  • Landtlord
  • Registratie: September 2016
  • Laatst online: 27-03-2024
Ik op woensdag in Dendermonde. Ik heb het volgende als 1NV.

(studentnr, activiteitcode, datum, betaald)
(studentnr, activiteitcode, activiteit, prijs)
(studentnr, studentnaam, richtingcode, richting, cluster)

aangezien er maar een activiteit per dag kan doorgaan is studentnr en datum uniek volgens mij

Acties:
  • 0 Henk 'm!

  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
Ik vind het lastig om het via de 1NV te doen, en ik ken de eisen van de opleiding niet.
Maar het is vaak behulpzaam om jezelf de vraag te stellen: wat representeert dit? Hoe meer je gaat normaliseren, hoe meer je het opbreekt in stukjes die een bij elkaar horend geheel vormen, die je ook meestal met een duidelijke term kunt aanduiden, wat dan ook meestal de naam van je object / tabel wordt.

(Een voorbeeld buiten deze opgave: als je iets hebt met een (factuurnummer, klantnummer, bedrag, datum, voldaan) dan gaat het waarschijnlijk om een Factuur, en dat is iets wat we herkennen.)

Dus: welke entitieit of welke relatie tussen entiteiten zie je? Welke stukjes informatie horen bij elkaar, en welke niet?

Ook kan het helpen om echt een aantal fictieve voorbeelden te maken. Verzin nog maar een paar studenten die wat leuks gaan doen. Als je meerdere voorbeelden opschrijft, welke zaken varieer je? Welke zaken hangen samen?
Op die manier krijg je ook iets meer feeling voor je data en dus datamodel.

Never explain with stupidity where malice is a better explanation


Acties:
  • 0 Henk 'm!

  • KeVP83
  • Registratie: Oktober 2018
  • Laatst online: 13-10-2020
incaz schreef op maandag 8 oktober 2018 @ 21:02:
Ik vind het lastig om het via de 1NV te doen, en ik ken de eisen van de opleiding niet.
Maar het is vaak behulpzaam om jezelf de vraag te stellen: wat representeert dit? Hoe meer je gaat normaliseren, hoe meer je het opbreekt in stukjes die een bij elkaar horend geheel vormen, die je ook meestal met een duidelijke term kunt aanduiden, wat dan ook meestal de naam van je object / tabel wordt.

(Een voorbeeld buiten deze opgave: als je iets hebt met een (factuurnummer, klantnummer, bedrag, datum, voldaan) dan gaat het waarschijnlijk om een Factuur, en dat is iets wat we herkennen.)

Dus: welke entitieit of welke relatie tussen entiteiten zie je? Welke stukjes informatie horen bij elkaar, en welke niet?

Ook kan het helpen om echt een aantal fictieve voorbeelden te maken. Verzin nog maar een paar studenten die wat leuks gaan doen. Als je meerdere voorbeelden opschrijft, welke zaken varieer je? Welke zaken hangen samen?
Op die manier krijg je ook iets meer feeling voor je data en dus datamodel.
De entiteiten bepalen we na de 3NV. Moet de 2NV en 3NV nog doen voor deze opdracht. Alsook het ERD tekenen. Met het ERD ging ik in mijn vorige taak serieus de mist in.

Acties:
  • 0 Henk 'm!

  • KeVP83
  • Registratie: Oktober 2018
  • Laatst online: 13-10-2020
Landtlord schreef op maandag 8 oktober 2018 @ 20:39:
Ik op woensdag in Dendermonde. Ik heb het volgende als 1NV.

(studentnr, activiteitcode, datum, betaald)
(studentnr, activiteitcode, activiteit, prijs)
(studentnr, studentnaam, richtingcode, richting, cluster)

aangezien er maar een activiteit per dag kan doorgaan is studentnr en datum uniek volgens mij
Heb je uw taak al volledig afgewerkt? Ik ben met de vorige wel redelijk de mist ingegaan. Opdracht 1 viel nog relatief mee. Maar opdracht 2 was heel wat minder.

Acties:
  • 0 Henk 'm!

  • fo0
  • Registratie: Juli 2018
  • Laatst online: 12-01-2023

fo0

1ste: alle gegevens moeten hun eigen kolom krijgen -> bv activiteit.activiteitcode
2de: primaire sleutels maken en dus afhankelijkheden -> bv Richting een pk geven met verwijzing naar student
3de: alle sleutels maken voor entiteiten

2de en 3de lopen altijd door elkaar heen in de praktijk. Soms is het zelfs beter om de 1ste niet te doen of ten dele voor preformance.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 17:46

NMe

Quia Ego Sic Dico.

fo0 schreef op woensdag 10 oktober 2018 @ 09:53:
Soms is het zelfs beter om de 1ste niet te doen of ten dele voor preformance.
De eerste drie normaalvormen moet je eigenlijk altijd toepassen voor een goed databasedesign. De meeste ervaren programmeurs doen dat gewoon in één moeite door en schrijven de verschillende normaalvormen ook niet allemaal apart uit voordat ze aan de slag gaan. Ik zou daarom zelf ook niet meer weten wat elke normaalvorm precies inhoudt zonder het op te zoeken. Los daarvan pas ik de eerste drie dus wel áltijd toe. Daarna heb je nog twee normaalvormen die juist weer zaken denormaliseren ten behoeve van performance, maar daar moet je nooit mee beginnen zonder dat je daar een goeie aanleiding voor hebt. Je zal dus eerst moeten constateren dat je 3NV-design niet goed performt voordat je het jezelf lastig maakt door voor bepaalde stukjes 4NV of 5NV toe te passen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • fo0
  • Registratie: Juli 2018
  • Laatst online: 12-01-2023

fo0

NMe schreef op woensdag 10 oktober 2018 @ 11:14:
[...]

De eerste drie normaalvormen moet je eigenlijk altijd toepassen voor een goed databasedesign. De meeste ervaren programmeurs doen dat gewoon in één moeite door en schrijven de verschillende normaalvormen ook niet allemaal apart uit voordat ze aan de slag gaan. Ik zou daarom zelf ook niet meer weten wat elke normaalvorm precies inhoudt zonder het op te zoeken. Los daarvan pas ik de eerste drie dus wel áltijd toe. Daarna heb je nog twee normaalvormen die juist weer zaken denormaliseren ten behoeve van performance, maar daar moet je nooit mee beginnen zonder dat je daar een goeie aanleiding voor hebt. Je zal dus eerst moeten constateren dat je 3NV-design niet goed performt voordat je het jezelf lastig maakt door voor bepaalde stukjes 4NV of 5NV toe te passen.
Elke programmeur doet alles direct in 3de nv. Ik kom nog wel eens zaken tegen waar het nodig en handig is om bijvoorbeeld 1 tot en met 5 kolommen op te nemen. Bijvoorbeeld: jaar1 tot en met jaar5. Dit met bijvoorbeeld doorrekeningen al moet je er heel voorzichtig mee zijn.

Ik kreeg met de voorbeelden die vanuit school kwamen altijd het gevoel dat het systemen waren die in de jaren 80 ontworpen waren en overgezet moesten worden naar een relationele db. In de praktijk kom ik geen databases meer tegen die 1st en 2de zijn, maar dat is puur persoonlijk en afhankelijk van je werkzaamheden.
Pagina: 1