2. Kafli. Hugtakanotkun gagnagrunnsfræða

Hvað er gagnagrunnur

Við erum vön því að nota gagnagrunna daglega. Þegar flett er upp í símaskrá, eða skjal vistað á diski er notaður gagnagrunnur. Sé gerður minnis-, eða  innkaupalisti er notaður gagnagrunnur. Gagna­grunnur (e. Database) er skipulagt safn upplýsinga sem geymt er eftir skilgreindu kerfi. Sjóðurinn er þá grunnurinn en upplýsingar sjóðsins eru gögnin í grunninum; gagnagrunnur. Bankareikningur er gagna­grunnur og líta má á allar upplýsingar sem geymdar eru eftir skipulögðu kerfi sem gagnagrunn, hvort sem hann er í tölvu eða ekki.

Gagnagrunnur sem ekki er skipulagður eftir neinu kerfi er því aðeins stór bingur upplýsinga. Slíkir upplýsingabingir eða upplýsingasjóðir nefnast Gagnasöfn (e. Collection of Data).

Bókhaldarar geyma til dæmis bókhald sitt í gatamöppu. Flest ef ekki öll bókasöfn geyma upplýsingar um bókaeign sína á sérstökum spjöldum, eða í spjaldskrá. Sjúkrasögur einstaklinga eru geymdar í þar til gerðum möppum. Þannig mætti lengi telja upp gagnagrunna sem geymdir eru á annars konar miðlum en í tölvu. Þeir eru þó allir skipulagðir eftir skilgreindu kerfi og má bæði sækja upplýsingar í þá og setja upplýsingar inn í þá eftir skipulögðum reglum.

Gagnagrunnur er væntanlega skipulagður með það fyrir augum að geyma þær upplýsingar varanlega sem í hann eru settar og sækja þær eftir skipulögðum reglum. Séu upplýsingarnar geymdar í áþreifanlegu formi t.d. í spjaldskrá er oft um að ræða eina aðferð til að sækja þær aftur.

Prentuð útgáfa Íslensku símaskrárinnar er gefin út í stafrófsröð eftir eiginnöfnum þeirra einstaklinga (og fyrirtækja) sem skráin nær yfir. Þessi framsetning gagnanna setur notendum þær skorður að finna símanúmer eftir nöfnum einstaklinga og fyrirtækja. Sé þess æskt að fletta upplýsingum eftir götuheitum verður að komast yfir aðra útgáfu grunnsins sem raðar gögnum eftir götuheitum og svæðum.

Orðabók er annað dæmi um prentaðan gagnagrunn. Hún er listi yfir orð í tilteknu tungumáli, ýmist með útskýringum á merkingu þeirra sem hugtaka, eða heitum samskonar hugtaka í öðrum málum. Þessir listar eru framsettir í stafrófsröð og sérstakur kafli undir þau orð sem hafa tiltekinn upphafsstaf. Nú mætti ímynda sér aðra framsetningu þar sem orðum væri raðað eftir tegund, t.d. nafnorð, lýsingarorð, eða eftir efnisflokk s.s. heimspeki, veðurfræði, siðfræði o.s.frv. Jafnvel mætti hugsa sér mismunandi sýnir (e. Views) á gögnin.

Greinilega setur það gagnagrunni nokkrar skorður ef hann er aðeins aðgengilegur í prentuðu formi, samanber símaskrána. Myndi það auka notagildi grunnsins ef hægt væri að fletta upp t.d. öllum númerum sem enda á 343 eða öllum eigendum símanúmera á Aflagrund 40. Slíkt er ekki framkvæmanlegt í prentaðri útgáfu en þarfir af slíku tagi hafa ýtt við þróun gagnagrunna í tölvutæku formi sem hafa slíkan sveigjan­leika. Nú orðið er algengt að hægt sé að nálgast grunna af þessu tagi á Vefnum og eru vefir eins t.d. simaskra.is vinsælir. Sá upplýsingabrunnur er þó tiltölulega nýr af nálinni, margir eldri grunnar eru til og fæstir þeirra jafn aðgengilegir almenningi.

Gagnasafns-umsjónarkerfi (e. Database Software) er hugbúnaður sem bíður upp á aðferðir til að skipuleggja gagnasöfn í tölvum. Með öðrum orðum; forrit sem leyfa skipulagningu gagnasafna með aðstoð tölvu. Slík kerfi nefnast á ensku Database Management Systems (DBMS), hér þýtt sem gagnasafns-umsjónarkerfi, stundum uppnefnt gagnagrunns-kerfi. Hugtakið gagnagrunns-kerfi ætti þó frekar við þegar gagnagrunnurinn hefur verið hannaður og einhver forrit smíðuð til að meðhöndla hann. Þannig eru hvoru tveggja Microsoft Access og MySQL aðeins gagnasafns-umsjónarkerfi. Vefútáfa símaskrárinnar og vefsíðurnar sem stýra aðgangi að henni væru því gagnagrunns-kerfi.

Þróun gagnasafns-umsjónarkerfa hefur verið áberandi í þróun tölvunnar og segja má að þróun þessara tveggja viðfangsefna hafi haldist í hendur. Eftir því sem tölvan hefur eflst hefur einnig aukist getan til að vinna með umfangsmeiri og flóknari gagnagrunna. Eftir því sem notkun einkatölvunnar hefur færst í vöxt hefur aðgengi almennings að slíkum tólum, og grunnum þeirra jafnframt aukist. Lýðnetið (e. Internet) og aðgangur að Veraldarvefnum (e. World Wide Web) hefur komið hér nokkuð við sögu samanber aðgengi að símaskrám, notkun leitarvéla og framsetning ýmissa miðlægra grunna gegnum Netið. Leitarvélar eru einmitt dæmi um gríðarstóra grunna sem innihalda upplýsingar um innihald vefsíðna á Vefnum.

Hér þarf að gera greinarmun á Vefnum annars vegar og Netinu hins vegar. Þegar gagnagrunnur er gerður aðgengilegur á Neti merkir það aðeins að hægt er að tengjast honum frá öðrum nettengdum tölvum. Skiptir þá engu hvort netið sé víðnet á borð við Lýðnetið eða lokað staðarnet innan fyrirtækja.

Til dæmis getur þú opnað kvaðningu (e. Prompt) og gefið skipunina „Telnet grusk.isbok.is 3307“ og beðið eftir svari. Þú myndir þá fá svar frá MySQL miðlaranum á Linux vélinni hjá mér, og hefur það ekkert með Vefinn að gera. Telnet vinnur á TCP/IP samskiptum á Lýðnetinu óháð Vefnum sem slíkum.

Veraldarvefurinn (eða Vefurinn) byggir á þeirri aðferðafræði að nettengdar tölvur geti miðlað vefsíðum á Lýðnetinu með sérhæfðum miðlunar hugbúnaði sem nefnist Vefþjónn eða Vefmiðlari (e. Web Server). Hver sá sem hefur aðgang að Lýðnetinu og býr yfir Vefrápara[1] (e. Web Browser) getur rápað á og lesið (eða notað) þær vefsíður sem miðlað er. Þegar gagnagrunnur er aðgengilegur á Vefnum þýðir það að tölvan sem miðlar vefsíðunum hafi aðgang að gagnagrunns miðlara (e. Database Server) og geti miðlað þeim gögnum sem sá miðlari geymir.

Gagnagrunns hugbúnaður

Gagnagrunns umsjónarkerfi, eða gagnagrunns hugbúnaður nefnist á ensku „Database Management System,“ skammstafað DBMS. Slíkur hugbúnaður er þá ætlaður til að skilgreina og geyma gagnagrunna eftir einhverju kerfi og sníða mismunandi aðgengi að þeim gögnum sem grunnarnir geyma. Yfirleitt er ætlast til þess að gagnagrunns hugbúnaður leyfi hönnuði grunnsins að sníða hann eftir eigin kröfum eða kerfi, hvort heldur gagnagrunninn sjálfan eða aðgengi að gögnum hans.

Öll slík kerfi í biðlara/miðlara umhverfi bjóða forritunar skil (Application Programming Interface eða API) sem leyfa að gerð séu sérsniðin forrit er geti tengst við grunnana. Gott dæmi um slíkt er einmitt vefsíða sem vinsar upplýsingar úr gagnagrunni.

Til eru ýmsar tegundir slíkra gagnasafns-umsjónarkerfa en vinsælust eru kerfi fyrir venslaða gagnagrunna (e. Relational Databases). Tvö best þekktu dæmin fyrir einstaklings notkun og smærri fyrirtæki eru Microsoft Access og Borland Paradox. Þessi kerfi eru þó smápeð við hlið stóru gagnagrunns miðlaranna s.s. Oracle, Microsoft SQL Server, IBM DB2, PostgreSQL, SAP og MySQL, svo fáein vel þekkt nöfn séu nefnd.

Miðlara/biðlara vinnsla

Yfirleitt er gert ráð fyrir því þegar um gagnagrunns miðlara er að ræða að gagna­grunnurinn sé geymdur á „til þess gerðri tölvu“ (e. Dedicated Machine). Á vélinni sé keyrður sérstakur hugbúnaður, oftast sem púki (e. Daemon) sem stjórni öllum aðgangi að grunninum og þeim gögnum sem hann geymir. Slík uppsetning er jöfnun höndum nefnd miðlari eða þjónn (e. Server).

Miðlarinn sér um að miðla gögnum í grunninum til notendaforrita sem nefnast þá biðlarar (e. Clients) samkvæmt einhverri aðgangsstýringu (e. Access Control) og skammta notenda aðgengi (e. User Access).

Mjög mikilvægt er þegar hér er komið að gefa aðgangsstýringu og notenda aðgengi góðan gaum. Þegar gagnagrunnur er hannaður er ekki aðeins ákvarðað hvaða gögn séu geymd og hvernig þau skuli geymd heldur er einnig ákvarðað hverjir geti séð hvaða gögn, hvernig þeir geti séð þau, og síðast en ekki síst hverjir mega eyða gögnum, bæta nýjum við eða dagrétta þau sem fyrir eru. Allt þetta er framkvæmt í miðlaranum en ýmist umbeðið eða skoðað gegnum biðlara.

Notkun símaskrárinnar á Vefnum er gott dæmi um slíkt kerfi; gagnagrunns þjónn geymir alla símaskrána og miðlar til einstaklinga sem sækja upplýsingar í grunninn með aðstoð nettengdrar tölvu. Vefsíðan gefur tvenns konar almennt aðgengi: Notendur geta flett óhindrað upp öllum þeim síma­númerum og aðilum sem símaskráin geymir en engin leið er fyrir hinn almenna notanda að bæta við, eyða eða dagrétta gögnin. Annarsstaðar á vefnum (undir „Mínar síður“ hjá simnet.is) getur notandi breytt því hvernig sínar eigin upplýsingar birtast í símaskránni en aðeins sínar eigin. Þriðja viðmótið er hér hugsanlegt, það er notandi sem hafi sérstakt leyfi til að breyta upplýsingum í grunninum en slíkt aðgengi væri væntanlega háð notendanafni og lykilorði.

Gagnagrunnsþjónar (e. Database Servers) miða ætíð að því að gögnin séu á netþjóni og biðlari sæki í aðgang að gögnunum gegnum nettengingu eftir atvikum (e. Respectively). Þá er gert ráð fyrir að gögnin fái þeir einir séð sem hafa til þess tiltekin leyfi eða aðgang. Yfirleitt er þannig gert ráð fyrir að mismunandi notendur með mismunandi aðgangsheimildir sjái misýtarleg gögn.

1. Æfing:         Hvenær þurfum við gagnagrunn?

Hvað finnst þér vera viðeigandi svar við eftirfarandi þrem spurningu:

  1. Hvenær þarf ég að tölvuvæða gagnasafnið mitt?
  2. Hvenær þarf ég að nota einfalt sjáborðs-forrit á borð við Microsoft Access
  3. Hvenær ætti ég að nota miðlara á borð við MySQL.

Opnaðu uppáhalds ritvinnsluforritið þitt og ritaðu þar spurningarnar ásamt svörunum. Þegar þú hefur lesið kaflann allan, eða eftir viku, ættir þú að svara þeim upp á nýtt til samanburðar.


[1] Ég hef kosið að fylgja leiðbeiningu tölvuorðasafns og nota orðið Rápari fyrir enska orðið Browser.

 

 

This entry was posted in MySQL bók and tagged . Bookmark the permalink.

Comments are closed.