vogel database in access 2010

Status
Niet open voor verdere reacties.

pasan

Terugkerende gebruiker
Lid geworden
6 nov 2010
Berichten
1.110
Hallo
ik probeer een aanvang te krijgen in een vogel kweek database
ondertussen al 10 keer overnieuw begonnen om de tabbellen te maken en elke keer denk ik nee de relaties kloppen niet (volgens mij dan).........
als ik op bijv vogel database zoek hier op dit forum kom ik eigenlijk niets tegen

mijn vraag is dus
weet iemand een pagina op dit forum wat over een vogel database gaat.
ik ben erg benieuwd in eerste instantie hoe je deze database opzet. normaliseerd

access 2010
 
Laatst bewerkt:
Wat jij nodig hebt is een data-model (of: gegevens-model)

Een schematische opzet van de gegevens die je gebruikt.
Dat kan gemaakt worden aan de hand van jou wensen en eisen
maar je zou het ook kunnen afleiden van een bestaande database.
Alleen begrijp ik uit jou vraag dat zo'n database niet zo makkelijk te vinden is.

Misschien kun je eens beschrijven met welke gegevens je werkt
en welke informatie er uit zo'n database moet komen.
Heb je lijsten nodig van individuele vogels?
Heb je voedingsschema's nodig?
Wil je bijhouden welke vogels met elkaar paren en welke kleine vogeltjes daaruit voortkomen?

Geef maar eens wat meer informatie.
 
wat ik tot nu toe uitbedacht heb van wat ik nodig zou hebben
Contactgegevens kwekers adres enz

Lijst individuele vogels, ringnummer, geboorte datum, vader ringnummer, moeder ringnummer, kleur, ras, status(overleden,uitgeleend,verkocht, geleend), geslacht (man, pop), locatie

Broedkooi (locatie, zijn er meerdere)

Voliere (locatie, is er 1)

Nestgegevens (broedkooi, broed ronde, vader, moeder, start datum, eind datum, eerste leg, 2e leg tot 6e leg, datum gezet, 6 maal uitkomst datum, en 6 maal notitie, en 1 maal opmerking, ringnummer voor elk jong

Geleende vogel (van wie geleend, waneer tot waneer, en ook alle details van deze vogel

Gekochte vogel( van wie, en ook alle details van de vogel

het probleem waar ik meteen tegen aanliep is het feit dat ik praat over vader vogel dat eigenlijk ook man vogel is dus een vogel _id is een man of pop en gelijk een vader of moeder

ik had eerst ook een koppel_id welke paren hebben in welke broedkooi gepaard, hoeveel jongen zijn er per ronde en welke ringnummers hebben die jongen
en ook hier weer een probleem dat een jong eigenlijk meteen een vogel_id zou moeten hebben maar in tblkoppel praat ik over jong 1 en jong 2 enz

tot zover mn eerste reactie
 
Laatst bewerkt:
OK, dat maakt veel duidelijk.

Ik ga daar eens over nadenken.....
 
Heb je al wat zelf geprobeerd (en niet weggegooid..) ? Zo ja, kun je dat voorbeeld dan posten?
 
ik zou heel graag een voorbeeld bestand willen plaatsen maar oorspronkelijk bestand is al 13 mb en ik heb geprobeerd alleen de tabellen in een lege database te kopieeren maar dan is het opeens 20 mb
13 mb inpakken en opsplitsen?
 
Om uit te vogelen hoe die database er uit moet zien,
zou je de volgende vragen kunnen beantwoorden:

Ringnummer:
  • is dat de identificatie van een individuele vogel
  • kun je meteen bij de geboorte een ringnummer toekennen?

Broedkooi:
  • hoeveel, hebben die een soort aanduiding (nummers of zo)

Nest:
  • is een nest te beschouwen als een 'huwelijk' of een relatie tussen een man en een pop? Met andere woorden: is een nest hetzelfde als een koppel
  • een ander nest is een andere relatie?
 
Laatst bewerkt:
We hebben in beginsel alleen maar de tabellen, en een paar records nodig. Dus een paar vogels, en eventueel de oudergegevens daarvan. Een paar families zeg maar. Verder hoeven er geen afbeeldingen in te zitten, want die maken de db ook alleen maar groter. Heb je wel formulieren gemaakt, dan die ook. En queries, rapporten en macro´s. Als die er zijn tenminste. Dus het belangrijkste is: tabellen met voldoende records om te zien hoe e.e.a. in elkaar zit. En dan eventueel e db comprimeren, zodat hij ook een stuk kleiner wordt, en zippen.
 
ringnummer is uniek voor elke vogel
het aantal broedkooien en de benaming hiervan wilde ik flexibel laten dus altijd aanpasbaar via een extra form en deze gegevens op andere forms als dropdown keuze laten
elk nest kent zogenaamde broed ronden, per ronde 1 koppel en 1 broedkooi
per broedkooi dus meerdere nesten (broedronden) mogelijk en met behulp van start en eind datum die broed ronde uniek maken
het koppel kan zomaar 2 keer het zelfde zijn in 1 broedseizoen (broedkooi) of alleen de man wordt geruild of de pop

er wordt geringt tijdens de broedronde maar niet meteen na het breken van de schaal dus de form nestgegevens hoop ik redelijk gemaakt te hebben zoals in het voorbeeld zodat ik op een later tijdstip aanvullingen kan toevoegen zoals het toekennen van een ring nummer
 
Laatst bewerkt:
ik blijf het proberen maar helaas kom er niet uit helaas
 
ik blijf het ook proberen uiteraard en mn tandafdrukken in het toetsenbord poets ik wel weer weg haha
volhouden heeft 1 voordeel je leert er van
het lampje van de queries begint een klein beetje te branden.
 
Een eerste aanpassing die je zou moeten maken (in mijn ogen uiteraard...) is de volgende: Vervang de tabellen [tblGekochte_vogel] en [tblGeleende_vogel] door één tabel [tblVogels]. Een vogel is tenslotte, of hij nou geleend is of gekocht, een vogel; de kenmerken die een vogel een vogel maken zijn uiteraard 100% identiek. Dus kun je de gegevens van de vogels perfect in één tabel onderbrengen. Bovendien hebben gekochte en geleende vogels aanvullende eigenschappen die behoorlijk verschillen; die verschillen hou je dan bij in verschillende tabellen. Hoe leg ik zo uit...
In je hoofdtabel komt dan een extra veld: [Eigendom] o.i.d. De naam is een beetje uit de lucht geplukt, maar is verder niet interessant. Deze kolom wordt een Keuzelijst, met de opties Koop, Leen, Huur, Lease etc. Wat je maar nodig hebt. Hiermee kwalificeer je dus of een vogel gekocht is, of geleend.

Wat kan er weg uit de hoofdtabel? Velden als: [aankoopprijs] en [aankoopdatum]. Zoals de naam al suggereert, doen deze velden niet mee als je een vogel leent. Weg ermee, en in een aparte tabel: [tblGekochte_vogel_Details]. Andersom geldt ook: de velden [leendatum] en [retourdatum] gelden niet voor koopvogels. In een aparte tabel dus! [tblGeleende_vogel_Details] bijvoorbeeld.

Dan is er nog een kwestie waar je iets mee zou moeten doen: een leenvogel leen je misschien één keer, maar voor hetzelfde geld wil je hem 2 jaar later nog een keer lenen. Lijkt mij dat dat moet kunnen! In de tabel [tblGeleende_vogel_Details] moet je dus meerdere records per vogel kunnen maken. Dat geldt uiteraard niet voor koopvogels: tenzij je een beetje licht in het hoofd bent, zul je dezelfde vogel maar één keer kopen. Dus: de tabel [tblGeleende_vogel_Details] krijgt een één-op-veel relatie met [tblVogels], en de tabel [tblGekochte_vogel_Details] krijgt een één-op-één relatie met [tblVogels]. Verder zou ik nog een aanpassing voorstellen: het veld [kwekerID] zou ik ook verplaatsen naar de tabellen [tblGeleende_vogel_Details] en [tblGekochte_vogel_Details]. Beide tabellen dus. Ook hiervoor een logische verklaring: als je een vogel een tweede keer leent, kan hij in de tussentijd verkocht zijn aan een andere kweker. En je wilt uiteraard de kweker vastleggen die op het moment van lenen de eigenaar is. Ergo: als je een vogel drie keer leent, kan hij van drie verschillende kwekers zijn op die momenten. Hoeft uiteraard niet.... Dit probleem doet zich weer niet voor bij koop, omdat die transactie maar één keer voorkomt per vogel. Vandaar de gescheiden opslag.

Dan het Ouders verhaal.... In weze is dat simpel op te lossen door in de tabel [tblVogel] twee velden op te nemen: [VaderID] en [MoederID]. In dit veld sla je dan het ID op van records van vogels die je al hebt. Dus elk 'kind' heeft twee ouders, die ook in dezelfde tabel staan. Je hebt dan ook geen aparte foto's meer nodig voor de ouders, want je hebt voor elke vogel een veld [Foto]. Dus ook van de ouders.

Je geeft voor je kweekgegevens het volgende

Nestgegevens (broedkooi, broed ronde, vader, moeder, start datum, eind datum, eerste leg, 2e leg tot 6e leg, datum gezet, 6 maal uitkomst datum, en 6 maal notitie, en 1 maal opmerking, ringnummer voor elk jong

Ook dat wordt een aparte tabel, met een deeltabel voor elke leg. Ik zou althans niet alle legvelden 6 keer opnemen in dezelfde tabel. Dus alle leggegevens apart, en koppelen aan nestgegevens.

Ik heb mijn ideeën verwerkt in bijgaande db. Needless to say dat de formulieren niet meer werken :D
 

Bijlagen

Laatst bewerkt:
okeeej ik zal me hier is in gaan verdiepen de komende dagen
ontzettend bedankt voor je inzet en tips
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan