Content Management System
Voor een website wil ik een CMS opzetten. Het betreft een site voor een voetbalverniging. De uitslagen en standen laat ik buiten beschouwing, dit is al opgelost.
Ik ben tot nu tot de volgende entiteiten gekomen: Functie, Persoon, Team, Bericht, BerichtSoort, Linkgroep, Link. Het nieuws en link gedeelte laat ik buiten beschouwing want dat is wel op te lossen. Het probleem zit hem echter in Persoon-Team-Functie.
Het volgende is het geval.
Een Persoon kan meerdere Functies hebben. Hij kan immers speler, leider, trainer enz. zijn. Een Functie wordt door meerdere Personen beoefend. Dus tussen Persoon en Functie een n:m relatie. Oplossing koppeltabel.
Een Persoon kan bij meerdere Teams horen. Een Team bestaat uit meerdere Personen. Dus tussen Persoon en Team een n:m relatie. Oplossing koppeltabel.
Per Team zijn er verschillende Functies. Een Functie hoort bij verschillende teams maar dit hoeft niet. Een Team heeft spelers, leider(s), trainer(s). Maar ook voorzitter en penningmeester zijn functies. In het laatste geval hoort er geen Team bij. Desalniettemin Bestaat er tussen Team en Functie een n:m relatie.
Toen dacht ik, ik koppel Persoon en Functie (de koppeltabel van Persoon en Functie). Maar een bepaald persoon kan trainer van meerdere teams zijn. Dan gaat dit dus weer niet op.
Als ik dan de 3 tabellen koppelen dan wil het dus zeggen dat bepaalde personen bv 4 keer in de koppeltabel komen. Bv.:
Persoon A - Speler - Team 1
Persoon A - Lieder - Team 6
Persoon A - Leider - Team A2
Persoon A - Penningmeester
Is dit een geode oplossing of moet dit anders gedaan worden.
Dan komt er nog iets bij kijken. De doelpuntenmakers worden ook bijgehouden. Een bepaald Persoon is speler van 1 team. Speler wil zeggen dat bij Team overzicht de betreffende persoon weergegeven wordt. Maar het kan wel zo zijn dat een persoon tijdelijk een keer met een ander team mee moet. Hij is dan geen speler van dat team maar kan wel doelpuntenmaker van dat team zijn. Is dit op te lossen door een functie ‘Doelpuntenmaker’ toe te voegen. Of moet ik hier aparte tabellen voor gaan maken? Of zelfs doelpunten een attribuut maken van de grote koppeltabel (Persoon/Team/Functie)
Persoon A - Speler - Team 1
Persoon A - Doelpuntenmaker - Team 1
Persoon A - Doelpuntenmaker - Team 2
Wie geeft mij raad?
Voor een website wil ik een CMS opzetten. Het betreft een site voor een voetbalverniging. De uitslagen en standen laat ik buiten beschouwing, dit is al opgelost.
Ik ben tot nu tot de volgende entiteiten gekomen: Functie, Persoon, Team, Bericht, BerichtSoort, Linkgroep, Link. Het nieuws en link gedeelte laat ik buiten beschouwing want dat is wel op te lossen. Het probleem zit hem echter in Persoon-Team-Functie.
Het volgende is het geval.
Een Persoon kan meerdere Functies hebben. Hij kan immers speler, leider, trainer enz. zijn. Een Functie wordt door meerdere Personen beoefend. Dus tussen Persoon en Functie een n:m relatie. Oplossing koppeltabel.
Een Persoon kan bij meerdere Teams horen. Een Team bestaat uit meerdere Personen. Dus tussen Persoon en Team een n:m relatie. Oplossing koppeltabel.
Per Team zijn er verschillende Functies. Een Functie hoort bij verschillende teams maar dit hoeft niet. Een Team heeft spelers, leider(s), trainer(s). Maar ook voorzitter en penningmeester zijn functies. In het laatste geval hoort er geen Team bij. Desalniettemin Bestaat er tussen Team en Functie een n:m relatie.
Toen dacht ik, ik koppel Persoon en Functie (de koppeltabel van Persoon en Functie). Maar een bepaald persoon kan trainer van meerdere teams zijn. Dan gaat dit dus weer niet op.
Als ik dan de 3 tabellen koppelen dan wil het dus zeggen dat bepaalde personen bv 4 keer in de koppeltabel komen. Bv.:
Persoon A - Speler - Team 1
Persoon A - Lieder - Team 6
Persoon A - Leider - Team A2
Persoon A - Penningmeester
Is dit een geode oplossing of moet dit anders gedaan worden.
Dan komt er nog iets bij kijken. De doelpuntenmakers worden ook bijgehouden. Een bepaald Persoon is speler van 1 team. Speler wil zeggen dat bij Team overzicht de betreffende persoon weergegeven wordt. Maar het kan wel zo zijn dat een persoon tijdelijk een keer met een ander team mee moet. Hij is dan geen speler van dat team maar kan wel doelpuntenmaker van dat team zijn. Is dit op te lossen door een functie ‘Doelpuntenmaker’ toe te voegen. Of moet ik hier aparte tabellen voor gaan maken? Of zelfs doelpunten een attribuut maken van de grote koppeltabel (Persoon/Team/Functie)
Persoon A - Speler - Team 1
Persoon A - Doelpuntenmaker - Team 1
Persoon A - Doelpuntenmaker - Team 2
Wie geeft mij raad?