RMA opvolgings database

Status
Niet open voor verdere reacties.

zodiak

Gebruiker
Lid geworden
9 okt 2008
Berichten
241
Hallo, ik zou graag een RMA opvolgings database maken en heb volgende tabbelen al aangemaakt:

Projecten
PR_id
PR_naam
PR_contact
PR_straat
PR_nummer
PR_postcode
PR_tel
PR_email

Rma_request
RMA_id
RMA_omschrijving
RMA_out
RMA_in

terminals
TERM_id
LEV_id
RMA_id
PR_id
TERM_serial

Leverancier
LEV_id
LEV_naam
LEV_contact
LEV_straat
LEV_nummer
LEV_postcode
LEV_stad
LEV_tel
LEV_email

1 terminal kan van 1 leverancier zijn en 1 leverancier kan veel terminals hebben geleverd.

1 terminal kan van veel projecten zijn en 1 project kan veel terminals hebben.

1 terminal kan aan veel RMA's hangen en 1 RMA kan maar aan 1 terminal hangen.

Iemand een idee of ik er ergens een tutorial kan vinden voor dit onderwerp?

heb al gezocht hier in de forum en op google maar niks gevonden :(
 
Ik vind je tabellen niet helemaal logisch; als je de tabellen Projecten en Leveranciers bekijkt, zie je bijvoorbeeld identieke gegevens voorkomen: Contact, Straat, Nummer etc. Weliswaar heb je daar resp. PRO en LEV voorgezet, maar in beginsel zijn dat dezelfde gegevens. Die zou ik dus in een eigen tabel opslaan. Daarbij geef je dan in een extra kolom aan of het een Project is, of een Leveranciercontactpersoon. Bovendien heb je dan het voordeel dat je zowel voor je projecten als leveranciers meerdere contactpersonen kunt opslaan.
Verder vind ik de tabel Terminals vreemd: een terminal is volgens mij een masjien die ergens op een tafel staat. En is in db termen dus net zoals een leverancier een eigen entiteit. Voor een terminal moet je dus maar één record aanmaken, met TERM_id en TERM_serial. De tabel die alles samenvoegt (en waarvoor jij terminals misbruikt) heb je nog niet...
 
dag octafish,

ik kan je ongeveer volgen maar ben zelf niet zo goed in acces maar ben altijd wel leergierig, kan je mss wat meer uitleg geven over de vergeten tabel en hoe ik deze gegevens dan allemaal aan elkaar link want dat is een stuk dat ik niet goed begrijp die zogenoemde 3 normen die je zou moeten doen of hoe het ook moge noemen?
 
Ik vertrouw er op dat Octofish die kennis allemaal heeft en ze misschien ook nog wel goed kan overdragen.

Maar:
als je niet zo goed bent in Access en je hebt geen verstand van Normalisatie
dan is dit projekt gedoemd te mislukken.

Ik zou adviseren om eerst die normalisatie onder de knie te krijgen.
 
Waarschijnlijk bedoel je Normaliseren naar de 3e Normaal :) Je bent een eind op weg, maar je gebruikt de verkeerde tabel om te koppelen. Je tabel Terminals is, zoals ik vermoed, daar niet geschikt voor. Zoals gezegd: een terminal is een apparaat, geen projecteigenschap. Een terminal heeft dus een leverancier(id), maar geen project.

1 terminal kan van 1 leverancier zijn en 1 leverancier kan veel terminals hebben geleverd.
--> Eén-op-veel relatie tussen Leveranciers en Terminals
1 terminal kan van veel projecten zijn en 1 project kan veel terminals hebben.
--> Veel-op-veel relatie tussen Terminals en Projecten, hiervoor gebruik je een tabel [Projecten_Terminals]. Sleutel op PROJ_id en TERM_id zodat elke combinatie maar één keer gebruikt mag worden.
1 terminal kan aan veel RMA's hangen en 1 RMA kan maar aan 1 terminal hangen.
--> Veel-op-veel relatie tussen Terminals en RMA, hiervoor gebruik je een tabel [RMA_Terminals]. Sleutel op RMA_id en TERM_id zodat elke combinatie maar één keer gebruikt mag worden.

Of zoiets... Ik heb er voor de duidelijkheid een voorbeeldje bij gedaan.
 

Bijlagen

Heb de eerste NV norm uitgevoerd en ben tot dit gekomen:

Contact_type
------------
id
type

Contact_gegevens
----------------
id
bedrijfsnaam
voornaam
achternaam
adres
postcode
stad
tel
email

Terminal_type
-------------
id
type

Terminal
--------
id
serialnumber
aankoopdatum (voor de garantie)

Rma
---
id
datum_uit
datum_retour

Ik ga vandaag de 2de NV en 3de NV bekijken voor de relaties en zo.
maar wat is jullie mening over mijn eerste NV?

alvast bedankt
 
Waarschijnlijk bedoel je Normaliseren naar de 3e Normaal :) Je bent een eind op weg, maar je gebruikt de verkeerde tabel om te koppelen. Je tabel Terminals is, zoals ik vermoed, daar niet geschikt voor. Zoals gezegd: een terminal is een apparaat, geen projecteigenschap. Een terminal heeft dus een leverancier(id), maar geen project.

1 terminal kan van 1 leverancier zijn en 1 leverancier kan veel terminals hebben geleverd.
--> Eén-op-veel relatie tussen Leveranciers en Terminals
1 terminal kan van veel projecten zijn en 1 project kan veel terminals hebben.
--> Veel-op-veel relatie tussen Terminals en Projecten, hiervoor gebruik je een tabel [Projecten_Terminals]. Sleutel op PROJ_id en TERM_id zodat elke combinatie maar één keer gebruikt mag worden.
1 terminal kan aan veel RMA's hangen en 1 RMA kan maar aan 1 terminal hangen.
--> Veel-op-veel relatie tussen Terminals en RMA, hiervoor gebruik je een tabel [RMA_Terminals]. Sleutel op RMA_id en TERM_id zodat elke combinatie maar één keer gebruikt mag worden.

Of zoiets... Ik heb er voor de duidelijkheid een voorbeeldje bij gedaan.

oei, normaal krijg ik altijd een mail als er gereageerd werd maar heb deze nu niet ontvangen. ik ga eens naar je voorbeeld kijken , alvast bedankt
 
Waarschijnlijk bedoel je Normaliseren naar de 3e Normaal :) Je bent een eind op weg, maar je gebruikt de verkeerde tabel om te koppelen. Je tabel Terminals is, zoals ik vermoed, daar niet geschikt voor. Zoals gezegd: een terminal is een apparaat, geen projecteigenschap. Een terminal heeft dus een leverancier(id), maar geen project.

1 terminal kan van 1 leverancier zijn en 1 leverancier kan veel terminals hebben geleverd.
--> Eén-op-veel relatie tussen Leveranciers en Terminals
1 terminal kan van veel projecten zijn en 1 project kan veel terminals hebben.
--> Veel-op-veel relatie tussen Terminals en Projecten, hiervoor gebruik je een tabel [Projecten_Terminals]. Sleutel op PROJ_id en TERM_id zodat elke combinatie maar één keer gebruikt mag worden.
1 terminal kan aan veel RMA's hangen en 1 RMA kan maar aan 1 terminal hangen.
--> Veel-op-veel relatie tussen Terminals en RMA, hiervoor gebruik je een tabel [RMA_Terminals]. Sleutel op RMA_id en TERM_id zodat elke combinatie maar één keer gebruikt mag worden.

Of zoiets... Ik heb er voor de duidelijkheid een voorbeeldje bij gedaan.

Dat begrijp ik inderdaad nu ik het visueel zie, nu kan ik weer verder :thumb: bedankt
 
Je hoeft niet steeds de vorige post te quooten; dat neemt alleen maar onnodige ruimte in beslag, en levert ons een muisarm op van het scrollen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan