Zmanjšajmo prevelike MS Access datoteke - dobra praksa za boljše delovanje

Zmanjšajmo bazo in programski vmesnik !

Imate eno ali več MS Access aplikacij, baz v razvoju ali delate z njimi? Težava je zagotovo ta, da so hitro prevelike, velikost pa JE pomembna, saj pomnilnik ni neskončen in tisto kar tu šteje je majhnost. Poznano je, da se MS Access datoteke širijo le v eno smer. Vgrajena funkcija Compact ni optimalna in če želimo aplikacije dodatno zmanjšati bo potrebno nekaj ročnih posegov. Vse skupaj nam ne bo vzelo veliko časa, odvisno od števila baz in programov, ter kako si postopke reorganiziramo.

Samo zmanjšanje datotek bi tu takoj razdelil na dva sklopa. Baza in naša aplikacija.

Baza podatkov

Z bazo je še najmanj dela. Uporabnike poprosimo, da zaprejo bazo (sicer postopek ni uspešen), sledi klik na gumb Compact iz menija za vsako datoteko posebej in zadeva je rešena. Ukaz Compact reorganizira zapise v bazi, posledično tudi indekse, zato bodo poizvedbe hitrejše.

Compact – vgrajen ukaz za zmanjšanje access datoteke

Še najbolje je, da to naredimo v času, ko so uporabniki že prenehali z delom. Lahko napišemo tudi programček, ki bo to storil namesto nas, vi pa boste ta čas razvijali naprej. Tu ne bomo o tem programčku, le ta bo tema pogovora na eni od »Access power developer« delavnic.

Aplikacija

  • Aplikacija pri uporabniku (mde, accde)

Uporabnikom za delo pri uporabniku obvezno predamo v mde ali accde formatu. Ti formati nimajo opcije vpogleda v razvojne spremembe, morebitne spremembe v bazi podatkov, ki jih uporabnik dela pa so del raztezanja le v sami bazi podatkov, torej program ostaja enako velik.

  • Razvojna aplikacija

Prvi del, pričakovan

      1. Najprej odstranimo vse tabele, ki so del programa v zunanje Access datoteke, saj so kot del programskega vmesnika neželene, četudi imajo te tabele le eno samo vrstico. Ni potrebe, da se ta del nalaga v spomin računalnika, če pa ga uporabimo le nekajkrat. Uporabite raje zunanje skupne ali lokalne datoteke za zapis teh podatkov, možnosti je veliko.
      2. Nato odstranimo objekte in razvojno kodo, ki se ne uporabljajo več. Tudi testne ali nedokončane dele
      3. programa. Za razvojne objekte imamo lastne datoteke.
      4. Odstranimo tudi vse povezave do tabel, ki jih morda ne uporabljamo več: sql objekti vseh vrst (Query-i), obrazci, poročila, makroji in seveda tudi funkcije.
      5. Odstranimo tudi nepotrebne uvozne specifikacije.

 Compact na tem mestu še ne bo dal pravega rezultata, nekaj pa že.

Drugi del, redkeje uporabljen
 

MS Access si podatke o spremembah v razvoju aplikacije hrani v lastno datoteko, tudi zato, da nam je na voljo funkcija Undo. Ko pa se datoteka shrani in zapre, bi bilo pričakovati, da datoteka ne bo več povečana.. pa je!

Funkcija Compact, sicer na novo izdela celotno datoteko, a je tudi opaziti, da se datoteka povečuje od zadnje izvedbe Compact-a. Četudi smo naredili le eno oblikovno spremembo.

Zato se zmanjševanja lotimo ročno. Poteka približno tako kot funkcija Compact, rezultat pa je veliko boljši.

        1. Izdelamo novo MS Access datoteko.
        2. Datoteko najprej prevežemo s tabelami, nato uvozimo sql objekte in šele nato obrazce, poročila in funkcije.
        3. Uvozimo tudi morebitne uvozne specifikacije.
        4. Določimo lastnosti MS Access datoteki.

To je to. Primerjava velikosti datotek po tem postopku pove, da smo razvojno aplikacijo pomanjšali tudi za 40% velikosti tiste datoteke, ki ni upoštevala navodil sklopa »Prvi del, pričakovan« !!!

Tretji del, dodatno zmanjšanje – vaša sedanjost ali prihodnost ?
 

DLL knjižnica, koncept ki vam bo morda prevetril razvoj. V samem razvoju aplikacije so funkcije v sami datoteki. Zoprno je, če imamo enake funkcije v vsaki naši aplikaciji, saj jih je potrebno spreminjati, vzdrževati vsepovsod. Velikost se bo malenkostno poznala tudi tu.

Najpogosteje uporabljane splošne funkcije, ki jih uporabljamo v naših aplikacijah premaknemo v ločeno MS Access datoteko in izdelamo mde/accde datoteko. To nato kopiramo na uporabnikom viden datotečni sistem (lahko tudi lokalni disk če poskrbimo za distribucijo ob spremembah), v vsaki aplikaciji pa do te datoteke dodamo referenco. Objekti nove datoteke bodo vidni tudi med funkcijami v Object Browser-ju. Od tu naprej je vse tako kot prej.

Ne le da smo še dodatno malček pomanjšali razvojno aplikacijo, z izdelavo DLL knjižnice smo dosegli tudi to, da imamo najpogosteje uporabljane funkcije zapisane le enkrat. Zato jih lažje vzdržujemo in imamo le eno verzijo vseh funkcij.

Ta del bo del ene od omenjenih »Access power developer« delavnic. Vabljeni !