Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)
verder kan je 'zichtbaar' en 'niet zichtbaar' inderdaad met een 1 en een 0 doen, maar echt duidelijker wordt het er dan niet op
This message was sent on 100% recyclable electrons.
Producten:
ProductID Autonumber
Naam Tekst
Zichtbaar True/False
Constanten
ID autonumber
Omschrijving Tekst
Waarde Tekst / numeriek (naar gelang de waarde)
Nu wel, ik vind het in ieder geval overbodig..
[ Voor 13% gewijzigd door gorgi_19 op 09-01-2003 11:27 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
en dat is dus producten.zichtbaar gekoppeld aan constanten.id
Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)
En dat is naar mijn idee overbodig...muis|IA schreef op 09 januari 2003 @ 11:27:
ja idd zoals je zegt (ongeveer)
en dat is dus producten.zichtbaar gekoppeld aan constanten.id
Aangezien een product per definitie zichtbaar of onzichtbaar is, kan imho dit beter opgevangen worden door een booleanveld in de productentabel.
Ik zou deze relatie dus niet eens aanbrengen.
[ Voor 7% gewijzigd door gorgi_19 op 09-01-2003 11:28 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
dat lijkt me wel weer nutteloos, aangezien het toch vrij duidelijk is dat '1' wel zichtbaar is en '0' niet zichtbaarmuis|IA schreef op 09 January 2003 @ 11:27:
ja idd zoals je zegt (ongeveer)
en dat is dus producten.zichtbaar gekoppeld aan constanten.id
om nou daarvoor een extra tabel in het leven te roepen
This message was sent on 100% recyclable electrons.
Verwijderd
[ Voor 21% gewijzigd door Verwijderd op 09-01-2003 11:32 ]
In dit geval is vanaf het begin duidelijk wat de mogenlijke opties zijn. Ik neem niet aan dat er over enkele tijd ook een 'beetje zichtbaar' optie toegevoegd zou moeten worden.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
geslacht:
ID Autonumber
geslacht Tekst
Dit schijnt dan optimaal geoptimaliseerd te zijn, want als je een geslacht opeens "man" wilt noemen ipv "m" is dit makkelijk.
Maar het lijkt mij dat je dat soort dingen vooraf bepaald
Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)
muis|IA schreef op 09 January 2003 @ 11:35:
Zo is er ook een tabel:
geslacht:
ID Autonumber
geslacht Tekst
Dit schijnt dan optimaal geoptimaliseerd te zijn, want als je een geslacht opeens "man" wilt noemen ipv "m" is dit makkelijk.
Maar het lijkt mij dat je dat soort dingen vooraf bepaald
Ben je nu bezig met de teksten eenvoudig op te te slaan of ben je met data bezig.
[ Voor 19% gewijzigd door gorgi_19 op 09-01-2003 11:39 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Verwijderd
Lol, boyce Codd (niet met t), nog even leren voor databases van morgen!Verwijderd schreef op 09 January 2003 @ 11:36:
Boyce-Cott Normal form: Alle mogelijke foreign keys zijn primary keys (toch?)
AAAHHH, normalisaties in access kunnen echt rampzalig zijn, nu zul je er waarschijnlijk geen last van krijgen, maar een grote Access DB zuigt echt gigantisch.
Je krijgt me dan een partij queries om je oren, daar wordt zelfs MySQL bang van
TheGhostInc schreef op 09 January 2003 @ 11:59:
Even over Access... (hehe)
AAAHHH, normalisaties in access kunnen echt rampzalig zijn, nu zul je er waarschijnlijk geen last van krijgen, maar een grote Access DB zuigt echt gigantisch.
Je krijgt me dan een partij queries om je oren, daar wordt zelfs MySQL bang van
Waarom is Microsoft Access slecht op dit gebied? (heb het nu niet over performance, maar normalisatie)
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Verwijderd
Haha... Ja was alweer een jaartje of 3 geleden dat databases....Verwijderd schreef op 09 januari 2003 @ 11:38:
[...]
Lol, boyce Codd (niet met t), nog even leren voor databases van morgen!
Moet je ook niet je queries door access laten genererenTheGhostInc schreef op 09 January 2003 @ 11:59:
Even over Access... (hehe)
AAAHHH, normalisaties in access kunnen echt rampzalig zijn, nu zul je er waarschijnlijk geen last van krijgen, maar een grote Access DB zuigt echt gigantisch.
Je krijgt me dan een partij queries om je oren, daar wordt zelfs MySQL bang van
(als je zelf goed aan het normaliseren gaat, ben je zelf ook wel in staat om je eigen queries te bedenken i.p.v. access te laten gokken wat jij wil)
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
status:
5..100: zichtbaar voor speciale doelgroepen
Maar waarschijnlijk is het dan beter om daar weer een aparte groepen en tussentabel voor aan te maken.
Verwijderd
We hebben bijvoorbeeld hier in de personeelstabel een veldje man/vrouw, dat is een nummertje1/2. In een andere tabel (andere db ook trouwens, de translation db) staat dus 1 = man, 2 = vrouw. Op die manier kun je gemakkelijk je applicatie vertalen, hoef je alleen maar even die tabel te veranderen, anders moet je je resource file veranderen (en aangezien deze prog taal niet aan resource files doet...).
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Nou in Access kan je heel makkelijk (keuze)lijstjes maken die hun gegevens halen uit een tabel (of query). Je kan dan de omschrijving laten zien (zichtbaar,onzichtbaar) terwijl automatisch het bijbehorende id wordt opgeslagen in de huidige record.
Dit brengt trouwens ook geen performanceverlies met zich mee. Enkel als je de tabel 'constanten' in de query meeneemt dmv een join zal de performance (ietsje) achteruit gaan. Maar dit zal in veel gevallen (intern gebruik) niet nodig zijn.
Bekijk het vanuit de gebruikerskant, stel deze query wordt benaderd via excel voor een minder gevorde pc gebruiker. Die zal makkelijker kunnen filteren op 'zichtbaar' dan op '1' (of 0?)
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Neemt niet weg dat je die mapping ook best mag voorbereiden in je database (translation database/tabel). Als je bij het ontwerp van het datamodel geen enkele rekening mag houden met hoe het gepresenteerd moet worden (zoals mogelijkheid tot vertalen) ga je wel erg moeilijk doen.Janoz schreef op 09 January 2003 @ 20:28:
Een mapping van bepaalde codes naar human readable tekst is iets dat onderdeel uit maakt van de presentatie laag en niet je buisness logic.
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Anders heeft het namelijk ook geen zin om uberhaupt van een datalayer, business logic layer of presentation layer te spreken. en deze lagen te scheiden.
Stel je voor dat je besluit om een andere voorkant (presentation layer) te maken. In principje moet je dan je gehele database overnieuw ontwerpen, omdat er een complete mix is van beiden.
[ Voor 4% gewijzigd door gorgi_19 op 09-01-2003 21:16 ]
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Dat zou je inderdaad kunnen doen, maar als je dus helemaal geen data als "Man" "Vrouw" in je database mocht opnemen kon je ook niet vertalen! Je buisness logic hoeft helemaal niet te weten dat dat tabelletje uberhaupt bestaat om die 1 en 2 te kunnen gebruiken. Dat tabelletje is er puur voor de mooiheid van de interface.gorgi_19 schreef op 09 January 2003 @ 21:15:
Wat heeft je datalaag met je presentatielaag te maken? Naar mijn idee niets; desnoods noem je alle kolomnamen a, b, c.
Als je helemaal niets van je data mag gebruiken om je interface te bepalen zouden user settings over kleuren, plaatsen en dat soort dingen ook absoluut niet mogen (je bent dan immers interface informatie in je database aan het opslaan, oeeeeh evil!)
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Afhankelijk van de strictheid van de keuze, is een booleanveld voor dit voorbeeld in principe ook voldoende, maar dat terzijde. Je kan best data (in de vorm van gegevens) opnemen in je database, het moet volledig losstaan van je datastructuur.Gerco schreef op 09 January 2003 @ 21:21:
[...]
Dat zou je inderdaad kunnen doen, maar als je dus helemaal geen data als "Man" "Vrouw" in je database mocht opnemen kon je ook niet vertalen! Je buisness logic hoeft helemaal niet te weten dat dat tabelletje uberhaupt bestaat om die 1 en 2 te kunnen gebruiken. Dat tabelletje is er puur voor de mooiheid van de interface.
Deze gegevens gaan dan netjes via je data layer, business logic naar je presentation layer en is in principe een vorm van content en hebben geen invloed op je datastructuur.Als je helemaal niets van je data mag gebruiken om je interface te bepalen zouden user settings over kleuren, plaatsen en dat soort dingen ook absoluut niet mogen (je bent dan immers interface informatie in je database aan het opslaan, oeeeeh evil!)
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Een tabelletje om een code zoals true of false te vertalen naar een waarde als "Man" en "Vrouw" heeft ook geen invloed op je datastructuur. Het is dan immers een gebruikersinstelling om aan te geven hoe de gebruiker de waarde True/False in het veld Geslacht van de personeelstabel wil zien. Dat is een vorm van content en gaat dan netjes van de Data, door de buisness naar de presentation layer en heeft niets te maken met je datamodel.gorgi_19 schreef op 09 januari 2003 @ 21:26:
Deze gegevens gaan dan netjes via je data layer, business logic naar je presentation layer en is in principe een vorm van content en hebben geen invloed op je datastructuur.
[ Voor 4% gewijzigd door Gerco op 09-01-2003 21:40 ]
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Zou best wel eens kunnengorgi_19 schreef op 09 januari 2003 @ 21:51:
* gorgi_19 krijgt steeds meer het idee dat we gigantisch langs elkaar heen lopen te praten en hetzelfde bedoelen...
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!