Ik moet / mag (mijn eerste) tabelontwerp binnen Access97 maken en dat leek niet zo moeilijk, op papier dan
Hoe de achterliggende functionaliteit eruit gaat zien heb ik al af, net als alle straks te gebruiken schermen. Code zal straks door iemand anders in ACCESS VB erachter gehangen worden aan de hand van mijn ontwerp en uitleg. Nu wil ik wel meteen het tabelontwerp volgens een "officiele" manier doen.
Nu kom ik toch wat dingen tegen die ik niet meteen in de boekjes terugvind.
Ik hoop dat jullie eea willen verbeteren danwel aanvullen of andere tips.
Vraag 1:
In een normale relationale DB join je twee tabellen met 1/n op 1/n relatie, omdat ze naar elkaar verwijzen en dezelfde data twee keer opslaan. Dus een lijntje ertussen trekken en klaar
Maar dit is niet normaal (denk ik) maar hier wel handig. Want ik wil namelijk alle adres data uit tabel1 kopieren dmv veld NummerID naar een adres data in tabel2. Zodat deze later of meteen aanpasbaar is in tegenstelling tot tabel1 (die alleen lezen is).
Tabel 2 bevat dus uiteindelijk het complete record (dossier) en met deze data zal uiteindelijk alles gebeuren. Zoals brieven maken, rapporteren, gegevens bijhouden.
Tabel1 dient dus eigenlijk meer als een soort voorvulling voor tabel2.
Moet ik nu nog steeds tabel 1 en tabel 2 tekenen met een join tussen velden NummerID?
Of alleen T2 met een join naar andere tabellen en T1 ergens los in een hoekje zonder enige join/koppeling?
Vraag 2:
Elke tabel (minimaal 20 stuks) krijgt aan het eind twee velden "DatumLaatsteMutatie" en "GebruikerLaatsteMutatie" om te kunnen zien wie de laatste mutatie heeft uitgevoerd. Dit wordt nergens getoond, maar is meer bedoeld voor intern gebruik bij eventuele problemen in de toekomst..
Deze "GebruikerLaatsteMutatie" wordt wel relationeel gekoppeld aan een gebruikers tabel. Maar als ik daardoor ook weer 20 extra lijnen naar die andere 20 tabellen trek, wordt het straks wel erg vol met lijnen die kris kras door elkaar lopen.
Is dit toch verplicht ondanks dat iedereen in één oogopslag wel ziet / snapt dat waar het vandaan moet komen. Of mag je hem dan weglaten voor de leesbaarheid?
Vraag 3:
Een simpele listbox "geslacht" die alleen "M" en "V" kent, moet ik die ook in een tabel vangen en tekenen? Of valt dat gewoon onder standaard veldvulling?
Vraag 4:
Een extra ID toevoegen wanneer wel en wanneer niet. Ik zelf zou zeggen hoe minder velden, hoe beter. Toch zie ik wel eens dat er bij een tabel waar minimaal één veld uniek lijkend veld aanwezig is bv hier "pakketcode" toch en extra uniek veld bijgemaakt is bv pakketID
Ik zelf zou zeggen koppel mbv dat eerste unieke veld naar een ander tabel. Maar ik hoorde van een programmeur dat hij dat zo geleerd had. Altijd zelf één uniek ID veld aan een tabel toe te voegen en daarmee te joinen. Waarom kon hij me niet vertellen. Zo hoorde het nou eenmaal.
Ben ik nou gek of .......
Creeer je soms zo ruimte voor toekomstige uitbreidingen? bv historie vastleggen, maar dat kun je toch vast ook wel achteraf toevoegen?
Vraag 5:
Externe hulp tabellen bv uit een andere omgeving bv oracle of andere backendsDB's, moet ik die ook tekenen / opnemen in mijn ontwerp. Maar hoe, want er is geen sprake van gekoppelde tabellen die ik kan slepen.
In VBA wordt straks de tabel aansproken, dan de waarden opgehaald, klaar.
Vraag 6:
Alle velden uit externe tabel opnemen is dat verplicht?
Eén ext. tabel is nogal groot, terwijl ik maar 5 velden eruit nodig heb. Mag ik alleen die 5 velden tekenen / opnemen of is dat "not done"
Ik hoop dat eea een beetje duidelijk overkomt, ik heb het nu 5 keer doorgelezen en zelfs ik snapte het
Alvast bedankt voor alle hulp.
Hoe de achterliggende functionaliteit eruit gaat zien heb ik al af, net als alle straks te gebruiken schermen. Code zal straks door iemand anders in ACCESS VB erachter gehangen worden aan de hand van mijn ontwerp en uitleg. Nu wil ik wel meteen het tabelontwerp volgens een "officiele" manier doen.
Nu kom ik toch wat dingen tegen die ik niet meteen in de boekjes terugvind.
Ik hoop dat jullie eea willen verbeteren danwel aanvullen of andere tips.
Vraag 1:
In een normale relationale DB join je twee tabellen met 1/n op 1/n relatie, omdat ze naar elkaar verwijzen en dezelfde data twee keer opslaan. Dus een lijntje ertussen trekken en klaar
Maar dit is niet normaal (denk ik) maar hier wel handig. Want ik wil namelijk alle adres data uit tabel1 kopieren dmv veld NummerID naar een adres data in tabel2. Zodat deze later of meteen aanpasbaar is in tegenstelling tot tabel1 (die alleen lezen is).
Tabel 2 bevat dus uiteindelijk het complete record (dossier) en met deze data zal uiteindelijk alles gebeuren. Zoals brieven maken, rapporteren, gegevens bijhouden.
Tabel1 dient dus eigenlijk meer als een soort voorvulling voor tabel2.
Moet ik nu nog steeds tabel 1 en tabel 2 tekenen met een join tussen velden NummerID?
Of alleen T2 met een join naar andere tabellen en T1 ergens los in een hoekje zonder enige join/koppeling?
Vraag 2:
Elke tabel (minimaal 20 stuks) krijgt aan het eind twee velden "DatumLaatsteMutatie" en "GebruikerLaatsteMutatie" om te kunnen zien wie de laatste mutatie heeft uitgevoerd. Dit wordt nergens getoond, maar is meer bedoeld voor intern gebruik bij eventuele problemen in de toekomst..
Deze "GebruikerLaatsteMutatie" wordt wel relationeel gekoppeld aan een gebruikers tabel. Maar als ik daardoor ook weer 20 extra lijnen naar die andere 20 tabellen trek, wordt het straks wel erg vol met lijnen die kris kras door elkaar lopen.
Is dit toch verplicht ondanks dat iedereen in één oogopslag wel ziet / snapt dat waar het vandaan moet komen. Of mag je hem dan weglaten voor de leesbaarheid?
Vraag 3:
Een simpele listbox "geslacht" die alleen "M" en "V" kent, moet ik die ook in een tabel vangen en tekenen? Of valt dat gewoon onder standaard veldvulling?
Vraag 4:
Een extra ID toevoegen wanneer wel en wanneer niet. Ik zelf zou zeggen hoe minder velden, hoe beter. Toch zie ik wel eens dat er bij een tabel waar minimaal één veld uniek lijkend veld aanwezig is bv hier "pakketcode" toch en extra uniek veld bijgemaakt is bv pakketID
Ik zelf zou zeggen koppel mbv dat eerste unieke veld naar een ander tabel. Maar ik hoorde van een programmeur dat hij dat zo geleerd had. Altijd zelf één uniek ID veld aan een tabel toe te voegen en daarmee te joinen. Waarom kon hij me niet vertellen. Zo hoorde het nou eenmaal.
Ben ik nou gek of .......
Creeer je soms zo ruimte voor toekomstige uitbreidingen? bv historie vastleggen, maar dat kun je toch vast ook wel achteraf toevoegen?
Vraag 5:
Externe hulp tabellen bv uit een andere omgeving bv oracle of andere backendsDB's, moet ik die ook tekenen / opnemen in mijn ontwerp. Maar hoe, want er is geen sprake van gekoppelde tabellen die ik kan slepen.
In VBA wordt straks de tabel aansproken, dan de waarden opgehaald, klaar.
Vraag 6:
Alle velden uit externe tabel opnemen is dat verplicht?
Eén ext. tabel is nogal groot, terwijl ik maar 5 velden eruit nodig heb. Mag ik alleen die 5 velden tekenen / opnemen of is dat "not done"
Ik hoop dat eea een beetje duidelijk overkomt, ik heb het nu 5 keer doorgelezen en zelfs ik snapte het
Alvast bedankt voor alle hulp.
"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant