Zakaj MS Access ne ? Seveda DA !

Za vse obstaja rešitev, mar ne ?

1. Rast baze podatkov (tudi klienta)

Podatkovna baza: prav vsaka baza podatkov raste, krčenje je pri MS Access-u težava.

Rešitev: Občasno sprožimo ukaz za reduciranje (DBEngine.CompactDatabase aliApplication.compactRepair). Ukaz se lahko sproži ponoči, če gre za skupno bazo, spisati tak kos kode za samodejno izvajanje vzame razvijalcu slabo urico skupaj s testom, kar je v primerjavi z razvojem aplikacije ali z vidika skrbništva baze podatkov zanemarljivo.

Klient: Da, tudi ta datoteka raste. A če razvijalec reducira razvojno datoteko in nato novosti in spremembe uvozi v datoteko, namenjeno za izdelavo mde/accde/ade je težava omejena. Pomaga tudi kos kode, ki npr. uporabniku samodejno namesti zadnjo verzijo aplikacije. Pri današnjih hitrostih mrežnih povezav nekaj 10 Mb ni več težava.

2. Podpora IT oddelka

Roko na srce, IT oddelek ni nikoli in nikjer navdušen nad uporabo MS Access-a. Z veliko težavo se jih prepriča, da morda naredijo kakšne popravke v bazi. Če razvijalec izvaja popravke sam potem izgubi čas za razvoj, boljša možnost je šef, ki bo prepričal IT oddelek. Nenazadnje gre za dobrobit podjetja.

3. MS Access je ali ni profesionalno orodje

Pravzaprav to niti ni tako zelo pomembno, če je rešitev na koncu dobra, pred začetkom izdelave se moramo zavedati vsaj dveh pomembnih dejstev:

  • da so dobre ali slabe rešitve možne v katerem koli programskem orodju in
  • omejitev MS Access-a.

Veliko je odvisno od tega ali so tudi v načrtovanje MS Access aplikacije vpleteni isti (sposobni) akterji, ki bi absolutno sodelovali tudi v primeru razvoja aplikacije v zahtevnem programskem jeziku. Vemo, da se nekateri MS Access orodju raje izognejo, a pozabljajo, da je tudi od tega odvisno poslovanje podjetja. In še vedno je to najbolj razširjena namizna aplikacija na tržišču.

4. Ali je VBA sploh sposoben jezik ?

VBA jezik izhaja iz VB, ki ima polno veljavo. MS Access razvijalec ve, da z VBA ne bo želel dostopati do podatkov nekje na internetu ali manipulirati z nastavitvami strežnika ipd. Da, VBA ima omejitve, vendar ko govorimo o opravilni sposobnosti glede pretoka, obdelav in prikazov podatkov se VBA tukaj izkaže. Če tu dodamo še praviloma znatno nižjo ceno razvoja, hitrejšo izdelavo (tudi popravkov), potem je to zagotovo dobra kombinacija.

5. (Pre)lahkotna izdelava

Eden od razlogov izogibanja MS Access-a je za nekatere prelahka izdelava osnov aplikacije kot so npr. postavitve objektov na obrazec, poročilo ipd. Ne upošteva pa se, da so tudi zato razvoj, spremembe in prilagoditve hitrejše in cenejše. Verjemite, da resne aplikacije (velja tudi za MS Access) nikoli niso zgrajene na nekaj klikov. To bi moralo vplivati na pozitiven odnos in imeti učinek pri razmišljanju tudi o MS Access aplikaciji, a žal pogosto ni tako.

6. Napaka v bazi podatkov (okvarjena datoteka)

Se zgodi, vendar ob pravilnem načrtovanju in uporabi se to težko zgodi. Osebno se v mojih aplikacijah to ni zgodilo vsaj zadnjih 10 let ali več. Pasti so postale znane, trikov kako se naredi update podatkov je dovolj, vsako bazo podatkov je potrebno sem in tja tudi malo pogledati, mar ne. Nenazadnje ima vsaka velika baza podatkov svojega skrbnika, ne vem od kje nekaterim ideja, da MS Access tega ne potrebuje ?

7. Omejitev glede količine podatkov v bazi

Izbira aplikativnega orodja in baze podatkov je stvar mnogih dejstev in nato dobre presoje. S poznavanjem zahtev izgradnje aplikacije ali baze podatkov bo odločitev o bazi podatkov veliko lažja, predvsem pa nam bo ta kvalitetna.
Zagotovo količina podatkov še ne sme prejudicirati odločitve ne v eno ali drugo smer. Mala prednost MS Access-a in baze podatkov je denimo ta, da podatkovni model razdelimo na več datotek-baz (te lahko razdelimo po časovnih ali drugih parametrih), MS Access klientu tudi ni dosti mar kje ležijo baze in tabele. Omejitve 2 Gb na eno bazo tudi ne bomo prav kmalu zapolnili. In tudi licenco za baze smo že plačali z nakupom Office paketa.

8. MS Access kot klient za veliko bazo podatkov ? Vsekakor da !

Tudi če imamo za bazo podatkov SQL Server, Oracle ali DB2 je z vidika stroškov kot klient morda še vedno optimalen MS Access. Do neke mere, za katero pa moramo vedeti kje je danes in kje bo čez nekaj let uporabe. Aplikacija deluje povsem spodobno, hitro, programska koda je zaklenjena, uporablja procedure DB strežnika ipd., ter s tem enako hitro kot katera koli aplikacija pridobi vsakršne podatke v nadaljnjo uporabo ali prikaz.

9. MS Access varnost in odgovornost

MS Access ne nudi enake varnosti za podatke kot npr. SQL Server ali druge velike baze! Dejstvo je tudi, da bo sposoben uporabnik želel zlorabiti podatke in jih odnesti s seboj bo za to slej ko prej našel način ne glede na bazo podatkov. Pa vendar… nekaj idej:

  • V primeru MS Access baze podatkov se le ta namesti na del strežnika do katerega imajo dostop le uporabniki, ki jim je dostop sistemsko dovoljen. S tem se je že močno omejila možnost zlorab.
  • Pri razvoju aplikacije se razvije funkcionalnost sledljivosti zahtev uporabnikov za pridobitev podatkov in
  • sistem hranjenja sprememb – revizijska sled.

Če bodo uporabniki vse to vedeli, se bo že sama misel po zlorabi izpuhtela.

MS Access je spodobna in zmogljiva aplikacija, a ima omejitve. Teh se je dobro zavedati pred začetkom izbire ali celo izdelave. Zagotovo ne nudi vsega kar ponujajo večje baze ali sposobnejša programska orodja, a vprašanje na mestu je, ali vse to potrebujemo. To je delni ključ do optimalne izbire tako programskega jezika kot baze podatkov.