normalisatie van een opdracht

Status
Niet open voor verdere reacties.

mikeow

Nieuwe gebruiker
Lid geworden
26 mei 2006
Berichten
3
Ik heb mijn hoofd al uren zitten breken over deze stomme oefening maar ik moet hem afkrijgen. Zou iemand misschien me willen helpen met het normaliseren van deze opdracht? Ben helemaal de tel kwijt door deze opdracht.
je kan hem vinden op:
<a href="http://users.telenet.be/fabulousfud/oef.doc">http://users.telenet.be/fabulousfud/oef.doc</a>

het moet genormaliseerd worden tot op de 3NV

hulp zou echt geapprecieerd worden

bedankt
 
de gegevens om in de tabellen te zetten staan dus in het document.
zo heb'k deze 0NV verkregen:

cursus(cursusnaam, cursuscode, prijs, RG(datum, duur, locatie),RG(naamcursist, adrescursist,functie))

de bedoeling is dus om deze gegevens onder te verdelen zodat ik een goede tabel structuur heb om in access te implementeren
 
Database met een M:N verhouding, die moet je altijd terug brengen tot een 1:N verhouding, dus in elke database komt elk gegeven maar één keer voor een met één unieke sleutel (die je eventueel zelf moet verzinnen).

Meerder cursusen op meerdere locaties (evt op de zelfde datum) met meerdere cursisten.

Elke zal een eigen database moeten krijgen en een verbindings database.

Cursist bestaat uit
Volgnrcursist(uniek+Sleutel), voornaam, vv. achternaam, adres, huisnr.,postcode, plaats, functie

Cursus bestaat uit
Cursusnr (uniek+sleutel), Productcode, naam cursus, datum, Naamlocatie (sleutel naar locatie), duur, prijs

Locatie bestaat uit
Naamlocatie (uniek+sleutel) , adres, huisnr, postcode (staat niet in het voorbeeld maar lijkt me wel logisch om op te nemen*), plaats.

In de verbindings database komen te staan.
Volgnrcursist, cursusnr

* Ook zie bv nergens een telefoonnummer/fax nummer of bij de cursusist zaken als email en afkomstig van bedrijf xyz, dat zou dan overigens wel weer een aparte database worden met daaraan dan bv weer een lijst met de P&O medewerker van het bedrijf voor mailings e.d. etc.

Fast Build, Quick Applications productcode FaBu € 1600,-
Datum Duur Locatie
07-01-05 5 NOVI training centrum
Bisonspoor 23 Maarssen

07-01-05 5 SQL Solutions opleidingen
High techpark 4 Capelle a/d IJssel

System Development with SolBase productcode SyDs € 3250,-
Datum Duur Locatie
… etc ….

Overzicht inschrijvingen
Fabu 07-01-05 NOVI training centrum
Bisonspoor 23 Maarssen

Cursist Functie
J. de Jong Achterom 3 3022 KL Schipluiden Systeem ontwikkelaar
K. de Vries Langlaan 87 5648 RD Breda Hoofd automatisering
… etc …

Cusist
Locatie
Cursus
 
Laatst bewerkt:
hoe moet ik de verbindingsdatabase(volgnrcursist,cursusnr) verwezenlijken in Access?

als je de datum laat in de cursus tabel ga je dan geen dubbele gegevens krijgen want een cursus kan toch op meerdere datums gegeven worden?

Alvast bedankt voor de grote hulp die je me geboden hebt
 
Laatst bewerkt:
Gewoon een tabel maken met twee velden, zie het probleem niet helemaal.

Datum probleem los je op door elke unike cursus een uniek cursus nummer te geven, net zo als elke cursist een uniek nummer moet krijgen.
Dit zijn dus extra velden die je niet op je opgave ziet staan maar voor het normaliseren nodig zijn.
 
... Je opmerking zette me toch nog even aan het denken.

Het zou dus eigenlijk zo moeten worden.

Cursist:
Volgnrcusist., voornaam, v.v., achternaam, adres, huisnr., postcode, plaats, functie

Cursus:
Productcode, naam cursus, duur, prijs

Locatie:
Naamlocatie , adres, huisnr, plaats

Cursusdata:
Volgnrcursus, Productcode (verwijst naar cursus), Naamlocatie (verwijst naar locatie), Datum

Boeking:
Volgnrcusist, Volgnrcursus

* De verbindings database heb ik Boeking genoemd omdat hier de feitelijke verbinding tussen cursus en cursist wordt gemaakt.
Niet strikt noodzakelijk maar voor later onderhoud zou ik overiges als dit een echte database zou moeten worden bij locatie een extra veld opnemen met de veldnaam locatie nummer en daar in cursusdata naar verwijden, zo kan je nooit in problemen komen als twee locaties de zelfde naam zouden hebben.
 
Laatst bewerkt:
Zo iets wordt het dan;
cursus8kt.jpg
 
Ik zou het veld productcode geen sleutel van de tabel maken.
Gebuik hiervoor een autonummer veld.

Ook staan er op twee plaatsten adres gegevens opgeslagen, ik zou 1 tabel Adres maken.

Wat je nu overigens aan het maken bent is een technisch datamodel.
Ik vermoed dat wat gevraagd wordt een logisch datamodel moet zijn. In een logisch datamodel komen geen autonummer velden voor!
Kijk bijvoorbeeld eens op deze site voor de normalisatie regels: http://www.sum-it.nl/cursus/dbdesign/hollands/logis010.php3
 
Bartuls,

Je hebt gelijk, alleen 'mist' postcode bij de adressen van de opleidingslocaties, of ze hebben deze bewust weg gelaten of het is geen goede opgave.
N.b. de opgave is e.a. in Access te bouwen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan