leden database opzetten

Status
Niet open voor verdere reacties.

joenoes27

Nieuwe gebruiker
Lid geworden
8 jan 2012
Berichten
4
Ik ben bezig een ledendatabase op te zetten voor een muziek vereniging. Dit om de huidige ledenadministratie overzichtelijker te maken en eenvoudiger.
Het lukt me al om leden toe te voegen via een form, maar graag wil ik een zoekfunctie om leden op te zoeken en dit record te bewerken.

In de database moet uiteindelijk ook bijgehouden worden welke spullen er in bruikleen zijn gegeven, is dit ook simpel toe te voegen?

Raden jullie aan om bijv een aparte tabel te maken voor de naw gegevens, een aparte tabel voor de onderdelen (zijn er 4 waarvan 1 uit 3 subcategorien)


Graag hoor ik jullie tips.

http://www.mijnbestand.nl/Bestand-NVYN7IXW8FF6.rar
 
Je hebt lang gewacht met het stellen van je eerste vraag :) Ik zie in de db twee bijna identieke tabellen; dat zal toch niet de bedoeling zijn? Als je een antwoord wilt op je onderste vraag, dan heb je waarschijnlijk nog niet van normalisatie gehoord. Dat proces beschrijft hoe je gegevenstabellen op moet zetten, met bij elkaar horende gegevens. Ik zou zeggen: bekijk de cursus Access eens die hier in de Handleidingen sectie staat, want daarin beschrijf ik (op een hopelijk duidelijke manier) hoe je een ledendatabase kunt maken.
 
octafisch bedankt oor je antwoord.
Ik ga me de komende tijd even door de 19 hoofdstukken heenslepen en kijken hoever ik kom.
mocht ik nog vragen hebben hoor je het vanzelf
 
Ik geloof dat er een telfout in de nummering zit, en dat het er 20 zijn :) Maar laat dat je niet weerhouden ;)
 
De dubbele tabel waar je het over hebt die horen zo(hoop ik) eentje is om de gegevens van de leden op te slaan en de ander voor degene die lesgeven, of kan ik dit beter anders doen?
Ik heb ook nog een vraagje over de normalisatie. Begrijp ik goed uit de training dat de onderdelen een eigen tabel krijgen evenals de contributie?
Ik heb nu wel alle leden toegevoegd in de tabel.
 
De dubbele tabel waar je het over hebt die horen zo(hoop ik) eentje is om de gegevens van de leden op te slaan en de ander voor degene die lesgeven
Tenzij de personen die lesgeven van een compleet andere origine zijn gemaakt (lesrobotten bijvoorbeeld die je in onderdelen koopt en zelf samenstelt) ga ik ervan uit dat je daar gewoon mensen gebruikt, die zich net als gewone mensen gedragen, een naam en adres hebben etc. Kortom: de meeste onderwijzers zijn nèt mensen :). En in een database sla je alle entiteiten die identiek zijn in één tabel op. Is ook logisch; denk maar aan de situatie waarbij een cursist een opleiding volgt, en drie jaar later terugkomt als docent. Goeie kans dat er in het voorwerp dat voor je staat niets is veranderd, anders dan de functie. Wil je in je database onderscheid maken tussen de functie die een persoon in je vereniging heeft, dan kun je dus een extra tekstvak maken met een keuzelijst met waarden. Daar zet je dan opties in als Aspirant-lid, Lid, Erelid, Bestuurslid, Trainer etc. Wat je maar nodig denkt te hebben. Of je maakt daar een tabel voor en dan gebruik je een numeriek veld met TypeID.
 
bedankt voor je reactie en goede tip.
Op wat voor manier is het dan het makkelijkst om leden die een dubbele functie hebben ( sommige leden zijn bestuurslid maar bespelen ook een instrument) want zet je de instrumenten in een aparte tabel (normalisatie) of zet je dit ook in de leden tabel?
 
Hoe je met instrumenten omgaat, mag je zelf weten. Als je per lid één instrument wilt opslaan, dan is de makkelijkste manier om dat te registreren met een extra veld [Instrument] in je personentabel. Daarvoor zou ik dan ook een aparte tabel [Instrumenten] maken, zodat je in de ledentabel een InstrumentID opslaat, en niet de naam van het instrument. Dit om latere fouten te voorkomen. Want is een saksofoon hetzelfde instrument als een saxofoon? Als het instrumentID hetzelfde is, heb je daar geen probleem mee. En ook maar één naam voor het instrument.

Overigens maak je een denkfout, als je stelt:
leden die een dubbele functie hebben ( sommige leden zijn bestuurslid maar bespelen ook een instrument)
Een instrument bespelen is niet hetzelfde als een functie in de vereniging hebben. Een bestuurslid is per definitie lid, en een gewoon lid is ook lid. Dat zijn dus typeringen van hetzelfde soort. Een souzafoon bespelen of een triangel is ook van hetzelfde soort, maar van een ander type. De twee moet je dus echt scheiden. Tenzij in het reglement staat dat een bestuurslid geen instrument mag spelen, dan kan het wel.

Anders wordt het als een lid (van welk type dan ook) meer dan één instrument speelt, en je dat ook nog eens vast wilt leggen in je tabel. Dan zijn er twee opties, afhankelijk van of je Access 2010 of hoger gebruikt of niet. In Access 2010 (en denk ik ook in 2007, maar dat gebruik ik niet) kun je een veld maken waarin je meerdere waarden kunt kiezen. Access geeft dan voor dat veld een lijst met instrumenten (in jouw geval) die je aan- of af kunt vinken. Op die manier maak je één record aan per speler, met toch meerdere instrumenten. In de cursus ben ik nog een fervent tegenstander van deze constructie (omdat het ogenschijnlijk de normalisering van de db om zeep helpt) maar inmiddels denk ik er iets genuanceerder over, en vind ik dat het veldtype in sommige gevallen wel degelijk handig kan zijn. Dit lijkt mij zo'n geval. De reden dat ik er iets anders over denk, is omdat ik nu weet dat Access intern wel degelijk de gegevens uniek opslaat, en je dus ook met dit veld de gegevens genormaliseerd kunt uitlezen. En dat is uiteindelijk toch vaak de bedoeling.
Heb je een oudere versie, dan moet je sowieso een aparte koppeltabel maken, waarin je voor elke instrument-speler combinatie een apart record maakt. Met een Index op InstrumentID en SpeleriD voorkom je dan dat een combinatie meerdere keren wordt ingevoerd, wat natuurlijk niet mag.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan