Op zoek naar goede tabellenstructuur+query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter

Wouter

12/12/2005 11:48:00
Quote Anchor link
Hoi,

Ik heb de volgende situatie:
In een bedrijf heb je 3 processen, elk proces bevat 3 activiteiten die verschillen per proces. Elke activiteit kan maar uitgevoerd worden door een beperkt aantal personen. Henk kan bijv activiteit 2 van proces 2, maar Jan weer niet.

Dit wil het bedrijf:
Het bedrijf wil nu weten welke activiteiten bepaalde medewerkers kunnen uitvoeren en andersom, dat je per proces de activiteiten ziet met daarbij de persoon die het kan uitvoeren.

Het makkelijkste zou zijn 1 tabel met daarin de velden 'medewerker', activiteit1vanproces1, activiteit2vanproces1, activiteit3vanproces1,activiteit1vanproces2 etc etc. Daarentegen wordt dit onoverzichtelijk om in te vullen als het bedrijf over een jaartje 60 processen en 180 activiteitein heeft. Let er op dat de huidige processen en activiteiten niet zullen veranderen.

Mijn idee was het volgende, zie daarvoor het volgende plaatje:
http://home.wanadoo.nl/wjnijhof/bf2/123.jpg

(de reden dat er bij elk proces een 'int' staat is omdat het een checkbox is, daarbij is aangecheckt een 1 en niet gecheckt een 0)

Voordelen:
- Overzicht blijft gehandhaaft
- De activiteiten die een medewerker kan verrichten kunnen snel worden gewijzigd
- Een nieuw proces kan gemaakt worden mbv een nieuwe tabel aanmaken.

Nu is de vraag, je kunt nu dmv een query achterhalen wie een bepaalde activiteit kunnen verrichten, maar hoe kun je nu achterhalen wat een medewerker allemaal kan? Ook vraag ik mij af of er misschien betere tabellenstructuur mogelijk is voor mijn situatie.
Gewijzigd op 12/12/2005 11:53:00 door Wouter
 
PHP hulp

PHP hulp

17/11/2024 02:31:33
 
Lissy Pixel

Lissy Pixel

12/12/2005 12:12:00
Quote Anchor link
Wat heb je zelf als idee voorradig?

Suc6!
Groet, lissy
 
Frank -

Frank -

12/12/2005 13:34:00
Quote Anchor link
Wanneer je gaat normaliseren, kom je er al snel achter dat je iedere keer dezelfde gegevens aan het invullen bent. Dit kan dus ook in 1 tabel te staan. Dat het toevallig activiteit 2 van proces 6 en medewerker 3 is, dat maakt niet uit. Je ziet het zelf al, het zijn gewoon nummers. Het wordt eigenlijk gewoon een koppeltabel die reeds aanwezige gegevens uit andere tabellen combineert:

Tabel
----------
id, INT, auto_increment, PK
medewerkernummer, INT, uit de tabel medewerkers
procesnummer, INT, uit de tabel processen
activiteitnummer, INT, uit de tabel activiteiten

Het is niet nodig om te noteren of iemand iets kan uitvoeren, je slaat alleen gegevens op wanneer iemand iets kan uitvoeren. Het is dus altijd Ja (of 1 zoals jij voorstelt).

De tabel kan veel records gaan bevatten, maar dat is voor een database geen probleem. Daar zijn ze juist voor.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.