Article View: be.comp.programming
Article #10358Re: MS Access 2000 en VB6.0
From: Philip Paeps
Date: Tue, 12 Mar 2002 16:34
Date: Tue, 12 Mar 2002 16:34
147 lines
8203 bytes
8203 bytes
KaDee <nomail@fuckaduck.com> wrote: > > Access is een collectie ongerelateerde features die verkocht worden als > > database. Je hebt: een WYSIWYG 'programming' IDE, een hoop spreadsheets > > en wat ander grafisch spul. Minimale SQL ondersteuning > Ondersteund de volledige standaard SQL Jaaaaaaaaaah? Ik weet niet hoe jij *standaard* SQL vertaald, maar ik neem geen genoegen met minder dan een recente (en volledige) ANSI/ISO SQL implementatie. > > en de ondersteuning die er is is volledig verkracht. Geen stored > > procedures > moeten stored procedures mogelijk zijn om van een db te kunnen spreken ? Neen, maar zonder SPs kun je moeilijk een noemenswaardige database bouwen, wel? Of wil je alles in je user-applicatie pompen? > > geen triggers > idem vorige opmerking Zonder triggers heb je weinig aan een database. > > geen foreign keys, > idem vorige opmerking Je zegt dat er volledige standaard SQL ondersteuning is, en twee paragrafen later zeg je dat foreign keys 'niet nodig zijn'. Bij mijn weten zijn foreign keys standaard SQL, en ik heb nog nooit een database van enige volume (meer dan vijf tables) ontwikkeld zonder gebruik van foreign keys. De sterkte van databases ligt in het gebruik van keys en indexes. Access heeft geen van beide (ja, primary keys, maar je kunt er niets mee doen). [...] > > Er is geen API, > is een api nodig ? Ja. Ik ben programmeur. Ik wil graag tegen mijn database kunnen praten op een snelle, effici�nte en 'native' manier. Zonder API valt dat moeilijk. De enige manier om met Access te praten is door ODBC (wat in veel gevallen geen optie is door de pure overhead dat dit aan code vraagt) of door ��n of andere Microsoft-specifieke interface, waar je helemaal niets mee bent als je cross-platform, of zelfs voor meerdere Microsoft platformen moet werken. Met een API spreek je de database aan, zonder dat je je zorgen moet maken over de onderliggende software/hardware. Met een API in C kan ik mijn applicatie die een (echte) database op platform X aanspreekt zonder problemen porten naar een paar honderd platforms. Ik heb een PostgreSQL database onder FreeBSD? Al mijn gebruikers werken met Microsoft? Geen probleem, mijn programma is gelinkt aan de PostgreSQL API, dewelke geschreven is in standaard ANSI C(++), ik schrijf mijn applicatie in standaard ANSI C(++) op Microsoft en compile haar met een compiler die standaard ANSI C(++) ondersteund, en link ze met mijn API. E�n van mijn gebruikers wil liever zijn Mac gebruiken? Geen last van, compile, link, execute. Zonder API kun je je programma quasi alleen gebruiken op het platform waar ze geschreven is, en moet je voor de minste aanpassing al in je code gaan klooien. Effici�nt kan je dat niet noemen. [...] > > Voor database toepassingen is Access volkomen nutteloos > Beter flat files gebruiken misschien Inderdaad. Flat files zijn cross-platform en kan je zonder problemen meewerken. Enig nadeel is dat ze nogal aan de trage en platte kant zijn, en dat je bloatware moet schrijven om enige relaties te trekken. Een echte database laat je toe je relaties op database niveau te maken waardoor je lichte, portable, universele applicaties kunt schrijven die zonder problemen aan een rijke hoeveelheid data kunnen. [...] > > Het enige 'nut' van Access is voor een single user om wat spreadsheets bij > > elkaar te hangen en en mooie input/output formpjes rond te tekenen. > probeer dit maar eens met je free varianten Dat 'nut' was sarcastisch bedoeld. De 'free' varianten op Access heb ik identiek hetzelfde op te zeggen als Access: worthless. Een database dient niet om spreadsheetjes bij te houden of om formpjes te tekenen. Use the right tool for the right job. Data en relaties hou je bij in een database. User interfaces doe je op user-applicatie niveau, niet op database niveau. Enige 'losse' uitzondering daarop zijn 'zelfschrijvende' of 'gelocaliseerde' applicaties die stukjes van hun UI uit de database halen. > Volgens jou gegevens is dbase geen database want het heeft niets wat een > "echte" (= databases zoals jij ze kent) database bezit. Dbase is een 'platte' database. Onder 'database' versta ik (object) relationele databases die conform zijn aan de standaarden die daarop van toepassing zijn. Databases zijn: PostgreSQL, MySQL, Interbase, MS-SQL (jawel!), Oracle, Sybase. Er zijn er meer, maar ik heb er geen ervaring mee. De zgn. 'user' databases zijn geen databases. Ze zijn een manier voor ��n gebruiker om wat data bij te houden, ze zijn absoluut niet geschikt om met grote hoeveelheden data onder multi-user conditions en constante load te werken. Twee jaar geleden heb ik een project overgenomen dat op een Access 'database' gebaseerd was. Ze bestond uit enkele tables die met elkaar niets te maken hadden (relationeel? waar?), ��n van de tabellen bevatte 37 columns en er zaten een kleine 300 000 rijen in. Een request voor een 'object' (verzameling van stukjes data, op een coherente manier gepresenteerd in een applicatie) duurde meer dan een minuut. Dezelfde database draait nu op dezelfde hardware (dual xeon, 512MB ram) in Postgres op FreeBSD. De table is gesplitst in acht tables, elk met tussen de drie en de vijf columns. De 'data' table bevat momenteel iets meer dan 870 000 rijen en een request duurt slechts enkele seconden. > Wanneer gaat het ooit eens stoppen de dingen te appreci�ren voor wat ze > gemaakt zijn. Access is gemaakt om voor de modale gebruiker een database op > te stellen met forms en rapporten en dit op een snelle manier inclusief de > mogelijkheid om beperkte programatie uit te voeren. Of MS daarmee geslaagd > is : ja, dit blijkt zeker uit de vergelijkingen met gelijkaardige databases > : die van staroffice faalt verschikkelijk en filemaker pro kan nog een > beetje bijbenen. Als dat de bedoeling van Access is, moet men het niet verkopen als database, want dat is het gewoon niet. Een database dient om data *op te slaan* niet om data te *bewerken*. > Misschien wordt het dringend tijd om de oogkleppen van je hoofd te halen en > iets verder proberen te kijken dan wat je beperkte leefwereld nu inhoud op > IT vlak. Ik *denk* dat ik met een multi-platform visie en 'experience' een bredere kijk heb op de IT wereld dan mensen die aan ��n platform vasthangen. Ik zou mijn 'IT leefwereld' niet bepaald als beperkt beschrijven. Tenzij je un*x als 'beperkt' wilt beschrijven? Ik werk op dagelijkse basis met een vijftal un*x platforms (waaronder Mac OS X) en drie Microsoft platforms. Ik lul dus niet uit mijn nek over dingen waar ik niets over weet. - Philip -- Philip Paeps philip@paeps.cx A budget is spending $15.00 on gas to drive to a shopping mall to save $4.30 on a 20 pound turkey.
Technical Details
Message-ID:
<x6qj8.250547$rt4.24706@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<_emi8.244386$rt4.23619@afrodite.telenet-ops.be> <vl9j8.249737$rt4.24392@afrodite.telenet-ops.be> <3c8db1ae$0$253$ba620e4c@news.skynet.be> <WMmj8.250297$rt4.24761@afrodite.telenet-ops.be> <J%mj8.68492$oj2.3076906121@hebe.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,8faeb207ac13257d
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-03-12 08:34:38 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Philip Paeps <philip@paeps.cx>
Subject: Re: MS Access 2000 en VB6.0
Newsgroups: be.comp.programming
References: <_emi8.244386$rt4.23619@afrodite.telenet-ops.be> <vl9j8.249737$rt4.24392@afrodite.telenet-ops.be> <3c8db1ae$0$253$ba620e4c@news.skynet.be> <WMmj8.250297$rt4.24761@afrodite.telenet-ops.be> <J%mj8.68492$oj2.3076906121@hebe.telenet-ops.be>
User-Agent: tin/1.5.12-20020227 ("Toxicity") (UNIX) (FreeBSD/4.5-STABLE (i386))
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
Lines: 147
Message-ID: <x6qj8.250547$rt4.24706@afrodite.telenet-ops.be>
Date: Tue, 12 Mar 2002 16:34:37 GMT
NNTP-Posting-Host: 213.118.35.252
X-Complaints-To: abuse@pandora.be
X-Trace: afrodite.telenet-ops.be 1015950877 213.118.35.252 (Tue, 12 Mar 2002 17:34:37 MET)
NNTP-Posting-Date: Tue, 12 Mar 2002 17:34:37 MET
Organization: Telenet Internet