verschillende procedurestappen in eigen tabel?

Status
Niet open voor verdere reacties.

boender

Gebruiker
Lid geworden
10 jan 2012
Berichten
5
Ik gebruik een database om de informatie behorende bij een procedure op te slaan. Op dit moment wordt de informatie behorende bij verschillende stappen binnen de procedure in dezelfde tabel opgeslagen. Omdat niet elke procedure alle stappen doorloopt, blijven er veel cellen leeg. Nu vroeg ik mij af of het dan beter is om voor elke stap een eigen tabel aan te maken, zodat in principe alle cellen gevuld worden? Of maak ik het dan nodeloos ingewikkeld?
 
Ik zou één tabel maken, en die vullen op basis van de stappen. Daarbij heb je dan één veld om te koppelen met je hoofdID, en een omschrijvingsveld om de stap op te slaan. En wat je verder uiteraard nog nodig hebt, zoals misschien datumvelden. Dus als je nu 8 stappen als aparte Ja/Nee velden hebt in je tabel, dan sla je voor elke stap in het veld Omschrijving de naam van de stap op, en niet een Ja/Nee waarde. Op basis van de stappen weet je dan wat er is uitgevoerd.
 
Op zich staat er genoeg informatie in de database om te weten welke stap is uitgevoerd. De procedure bestaat uit 3 stappen (mondeling overleg, hoorzitting, uitspraak). Voor elk van de stappen sla ik bepaalde gegevens op (bv. datum overleg, datum onderzoek, datum hoorzitting). In de ene procedure wordt al in de stap mondeling overleg een akkoord bereikt, in de andere procedure wordt in de uitspraak pas een 'akkoord' bereikt. In het eerste geval worden maar een paar velden ingevoerd. Toen kreeg ik het idee om voor elke stap een tabel aan te maken, die met 1op1 relaties verbonden zijn mits een volgende stap gezet wordt. Met het idee dat daardoor lege velden voorkomen worden.
Ik ben nog redelijk onervaren in database-ontwerp en vraag me af of dit nodig is of dat ik het dan nodeloos ingewikkeld maak. Uit de boeken begrijp ik dat 1op1relaties tussen tabellen niet veel voorkomen.
 
Eén-op-één relaties zijn prima als je records hebt die in beginsel gelijkwaardig zijn, maar waarvoor voor een bepaald deel van de records extra velden moeten worden ingevuld. Simpel voorbeeldje: een personeelstabel, waarvan een deel van de werknemers lid is van de personeelsvereniging. Van die leden wil je extra gegevens bijhouden, die voor de andere medewerkers uiteraard nooit worden ingevuld. In zo'n geval maak je een extra tabel Personeel_PV, met uiteraard Personeelsnummer en de extra velden. Omdat elke werknemer uiteraard maar één keer in de personeelstabel staat, is dat dus een één-op-één relatie. En zo kan ik echt nog wel meer voorbeelden verzinnen.
In jouw geval kan ik mij prima voorstellen dat je zaakgegevens hebt die in sommige gevallen extra velden nodig hebben, en dat je die dus in een extra tabel opslaat. Vraag is alleen: wat doe je met die records als de status verandert, en die extra velden niet meer nodig zijn?
 
Omdat er regelmatig over de voortgang en uitkomst van de procedures gerapporteerd moet worden, blijft de informatie van belang. De informatie is voor de betreffende procedure inderdaad niet meer zo interessant, maar wel om te bekijken hoe lang de procedures gemiddeld duren, hoeveel tijd er gemiddeld tussen bv. overleg en brief zit etc.
bedankt voor je snelle en verhelderende reactie! Ben net begonnen aan je cursus, maakt eea ook weer wat helderder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan