Duomenų bazės
5 (100%) 1 vote

Duomenų bazės

5 darbas. Duomenų bazės

Darbo tikslas – įgyti pirmuosius darbo su duomenų bazėmis (DB) įgūdžius, susipažinti su duomenų bazių valdymo sistema (DBVS) Microsoft Access ir jos galimybėmis.

1. Teorinė dalis

A. Microsoft Access aplinka ir darbo principai

Microsoft Access (toliau MS Access) yra viena populiariausių vidutinės apimties DBVS. Jos angliško pavadinimo “Access” lietuviškas atitikmuo yra “Kreiptis” (į duomenis). Ji tinka kurti DB, kurias sudaro dešimtys ar šimtai tūkstančių įrašų ir kuriomis naudojasi nedidelis vartotojų skaičius. MS Access dažniausiai naudojama saugoti ir apdoroti informaciją vidutinėse ir mažose įmonėse bei organizacijose. MS Access yra reliacinė DBVS /1/: duomenys pateikiami kaip normalizuotų dvimačių lentelių rinkinys. MS Access pagrindinės funkcijos yra šios:

• DB struktūros kūrimas;

• DB užpildymas ir redagavimas;

• duomenų peržiūra, vaizdavimas vartotojui tinkama forma;

• navigacija DB;

• duomenų rikiavimas (rūšiavimas), filtravimas, paieška.

MS Access vykdo ir eilę kitų, pagalbinių, bet labai svarbių funkcijų: užtikrina duomenų korektiškumo ir vientisumo kontrolę; įgalina atlikti įvairius matematinius, statistinius skaičiavimus; leidžia įslaptinti tam tikrus duomenis ir uždrausti nesankcionuotą kreiptį į juos. Be to, vartotojas, naudodamas DBVS priemones (makrokomandas, SQL ar Visual Basic kalbą), gali sukurti savąją meniu sistemą ir taikomąsias programas, skirtas specifiniams poreikiams tenkinti. Minėtoms funkcijoms atlikti MS Access turi specialius instrumentus – grafinius dizainerius, vedlius (meistrus), išraiškų konstruktorius, programų generatorius ir kt.

MS Access priemonėmis sukurta reliacinė DB išsaugoma faile, kuriam suteikiamas plėtinys mdb. Šiame faile saugomos ne tik dvimatės lentelės su duomenimis, bet ir kiti objektai.

Lentelės (Tables). Jose, kaip minėjome, saugomi duomenys. Kiekvienoje lentelėje nurodomi laukai ar jų rinkiniai, įgyjantys tik nepasikartojančias reikšmes. Vienas jų paskelbiamas pirminiu raktu, vienareikšmiškai apibrėžiančiu kiekvieną lentelės įrašą. Lentelė yra bazinis MS Access objektas. Kiti objektai yra išvestiniai ir gali būti sudaromi, kai sukurta bent viena lentelė.

Užklausos (Queries). Įgalina atrinkti duomenis pagal tam tikrus požymius (kriterijus) ir, jei reikia, juos modifikuoti ar pašalinti. Taigi užklausų dėka iš DB galima bet kuriuo momentu išrinkti reikalingą informaciją.

Formos (Forms). Palengvina įvesti, peržiūrėti ir redaguoti duomenis. MS Access priemonėmis vartotojas gali sukurti vaizdžias ir informatyvias formas.

Ataskaitos (Reports). Įgalina sukurti ir spausdinti įvairius dokumentus pagal DB sukauptus duomenis. Juos galima rikiuoti, grupuoti, atlikti skaičiavimus.

Puslapiai (Pages). Tai dialoginiai WEB puslapiai, kurie palaiko dinaminį ryšį su DB ir leidžia juose atvaizduoti ir redaguoti MS Access duomenis.

Makrokomandos (Macros). Naudojamos aprašyti veiksmų sekoms, kurios aktyvizuojamos, vartotojui išrinkus atitinkamą meniu punktą ar paspaudus mygtuką.

Moduliai (Modules). Tai programuotojo sukurtos procedūros ir funkcijos, kurios rašomos Visual Basic kalba.

Tarp DB lentelių turi būti nustatomi ryšiai (Relationships). Jie reikalingi kuriant užklausas, ataskaitas, kontroliuojant duomenis ir pan.

MS Access darbo aplinkoje (žr. 1 pav.) išsiskiria pagrindinis ir DB langai. Abiejuose languose yra: antraštė, darbo sritis ir valdymo mygtukai. Pagrindiniame lange dar yra meniu juosta, įrankių (piktogramų) juosta, persukimo juostos (ne visada matomos) bei informacinė eilutė. Pagrindiniame lange talpinami visi kiti langai, kurie atsiranda darbo eigoje (tarp jų ir DB langas). DB lange matomas DB objektų stulpelis ir operacijų vykdymo mygtukai. Bet kuriuo metu aktyvus gali būti tik vienas langas (tas, kuriame dirba vartotojas).

1 pav. MS Access darbo aplinka

Darbo su MS Access pradžioje meniu juostoje talpinamos tokios veiksmų grupės:

• File – veiksmai su DB failais;

• Edit – tekstinių ir įvairių kitų elementų redagavimo operacijos;

• View – meniu, įrankių juostų, langų bei jų elementų vaizdavimo valdymas;

• Insert – naujų objektų kūrimas;

• Tools – pagalbiniai instrumentai, darbo aplinkos nustatymas;

• Window – manipuliavimas su langais;

• Help – pagalba (žinynas).

Darbo eigoje meniu juostoje galima iššaukti papildomas veiksmų grupes, kaip antai:

• Format – tekstinių ir kitų elementų formavimas;

• Records – lentelių įrašų tvarkymas ir vaizdavimas;

• Relationships – ryšių tarp lentelių nustatymas;

• Filter – lentelių įrašų filtravimas;

• Query – veiksmai su užklausomis (sudarymas, tvarkymas, vykdymas);

• Run – makrokomandų vykdymas.

Svarbiausi darbo MS Access aplinkoje principai yra šie.

1. Iškvietus MS Access, galima arba kurti naują DB (t.y. failą su plėtiniu mdb), arba atidaryti jau egzistuojančią (t.y. anksčiau sukurtą) DB.

2. Kuriant (arba atidarant) DB, būtina nurodyti katalogą (esant reikalui ir diską), kuriame bus (arba jau yra) saugomas DB failas, taip pat to failo vardą.

3. Bet kuriuo momentu gali būti atidaryta (aktyvi) tik viena DB, kuri apdorojama DB lange. Atidarant naują DB, senoji automatiškai uždaroma.

4. Dirbama su įvairiais DB objektais jiems atitinkančiuose languose. Tie langai autonomiškai
atidaromi, uždaromi, su jais galima įvairiai manipuliuoti. Gali būti atidaryta daug langų vienu metu, bet tik vienas yra aktyvus.

5. Kiekvienam naujai sukuriamam objektui turi būti suteiktas vardas. Jis rašomas pagal tipines vardų rašymo taisykles (galima rašyti ir lietuviškomis raidėmis, tačiau patartina – lotyniškomis). Vardas suteikiamas išsaugant naują objektą atitinkamos komandos arba piktogramos pagalba. Objektą išsaugoti galima ir uždarant su tuo objektu susijusį langą.

6. Su kiekvienu DB objektu dirbama atskirame lange. Yra numatyti du darbo režimai:

a) operatyvusis režimas, – kai mes peržiūrime, redaguojame, ieškome informacijos ir pan;

b) projektavimo (design) režimas, – kai mes kuriame, keičiame objekto struktūrą, ruošinį (šabloną), pvz. lentelės struktūrą.

7. Turi būti aiškiai skiriamos dvi veiksmų, atliekamų MS Access aplinkoje, klasės:

a) veiksmai, atliekami su DB failu;

b) veiksmai, atliekami su DB objektais (lentelėmis, užklausomis ir pan.).

8. DB lango uždarymas reiškia tuo pačiu ir DB uždarymą. Be to, DB galima uždaryti ir komandos File  Close pagalba.

B. Lentelių kūrimas

Kuriant lentelę reikia nurodyti kiekvieno lauko vardą (Field Name) ir jame saugomų duomenų reikšmių tipą (Data Type). Konkrečioje lentelėje kiekvienam laukui turi būti suteiktas vardas, kurį gali sudaryti keli žodžiai. Bendras lauko vardo ilgis negali viršyti 64 simbolių. Lauko varde negali būti įvairių skiriklių, pvz. „.“, „[„, „]“ ir pan. Be to, reiktų vengti ilgų sudėtinių vardų. Pilnesnį lauko aprašymą ir jo paskirtį galima nurodyti Description skiltyje.

Laukų (t.y. jų reikšmių) tipas parenkamas atsižvelgiant į tai, kokio pobūdžio informacija juose bus saugoma. Pagrindinių galimų duomenų (laukų) tipai pateikti 1 lentelėje.

1 lentelė. Duomenų tipai

Tipas Vertimas Panaudojimas Dydis

Text Tekstinis Simbolių eilutė Iki 255 baitų

Number Skaitmeninis Skaičiai 1,2,4 8 ar 14 baitų

Date/Time Data/Laikas Data ir laikas 8 baitai

Currency Piniginis Pinigų sumos 8 baitai

Yes/No Loginis Reikšmės TRUE (TAIP) ir FALSE (NE) 1 bitas

Auto Number Skaitiklis Automatiškai generuojamas sveikas, kitur šiame stulpelyje nepasikartojantis, skaičius 4 baitai

Memo Komentarai Paaiškinantis tekstas, sakiniai, pastraipos ir pan. Iki 64000 baitų

OLE object OLE objektas Įvairialypė informacija (diagramos, paveikslai, videovaizdai ir kt) Iki 1 GB

Hyperlink Hiper nuoroda Kreiptis (perėjimas) į WEB puslapį ar failą diske

Nurodžius lauko vardą ir tipą, skiltyje Field Properties gali būti nurodomos papildomos lauko savybės (charakteristikos). Lauko savybių rinkinys priklauso nuo pasirinkto lauko tipo. Panagrinėsime pagrindines laukų savybes.

1. Lauko dydis (Field Size). Jis Text ir Number tipo laukams nustato maksimalią saugojamų duomenų apimtį. Tekstiniame lauke gali būti nuo 1 iki 255 simbolių (paprastai Text tipo laukui automatiškai suteikiama 50 simbolių apimtis). Sudarant lentelę reikia stengtis, kad tekstinių laukų plotis atitiktų juose laikomus duomenis. Pavyzdžiui, 50 simbolių bus aiškiai per daug, jei lauke bus saugomos valstybių pavadinimų santrumpos iki 3 raidžių. Žinoma, 47 papildomi simboliai užima palyginti nedaug vietos, tačiau jei lentelėje būtų saugoma 100000 įrašų, gautume apie 4.7 MB tuščiai užimtos atminties. Skaitmeninių laukų dydžiai gali būti tokie:

a) Byte (baitas) – sveiki skaičiai nuo 0 iki 255;

b) Integer (sveikas) – sveiki skaičiai nuo 32768 iki +32767;

c) Long Integer (ilgas sveikas) – sveiki skaičiai nuo 2147483648 iki +2147483647;

d) Single (viengubo tikslumo) – skaičiai nuo 3.41038 iki 3.41038, turintys 6 dešimtainius skaitmenis po taško (kablelio);

e) Double (dvigubo tikslumo) – skaičiai nuo 1.79710308 iki 1.79710308, turintys 10 dešimtainių skaitmenų po taško.

f) Decimal (dešimtainis) – skaičiai nuo –10-28 iki 1028 –1, turintys iki 28 dešimtainių skaitmenų.

2. Formatas (Format). Parenkant lauko formatą galima keisti duomenų vaizdavimą. Number, Currency ir AutoNumber tipo laukams yra sudaryti tokie standartiniai formatai:

a) General Number (bendras) – suteikiamas pagal nutylėjimą. Trupmeninės dalies dešimtainių skaitmenų skaičius priklauso nuo duomenų tikslumo, pvz., 3456.789;

b) Currency (piniginis) – prie skaičiaus prirašomi valiutiniai simboliai ir jis vaizduojamas dviejų dešimtainių skaitmenų po taško tikslumu, pvz., $3,456.79;

c) Fixed (fiksuotas) – visada yra matomas bent vienas dešimtainis skaitmuo prieš tašką ir du skaitmenys po taško, pvz., 3456.79;

d) Standard (standartinis) – matomi du trupmeninės dalies skaitmenys po taško ir tūkstančių skiriamieji ženklai (kableliai), pvz., 3,456.79;

e) Percent (procentinis) – parodoma padauginto iš šimto skaičiaus reikšmė su prirašytu procento simboliu, pvz., 123.00%;

f) Scientific (mokslinis) – skaičius vaizduojamas eksponentine forma, pvz., 3.46E+03.

Date/Time tipo laukams galioja tokie formatai:

a) General Date (bendrasis datos formatas), kurį suteikia sistema automatiškai, jei vartotojas nenurodo kito, pvz., 94.6.19 17:34:23 ar 6/19/94 5:34:23 PM;

b) Long Date/Time (ilgas datos/laiko formatas) – pvz., 1994 birželis 19, sekmadienis 17:34:23 ar Sunday, June 19, 1994 /5:34:23PM;

c) Medium Date/Time (vidutinis datos/laiko formatas) – pvz., 94 birž. 19 17:34 ar
19-Jun-94 5:34PM;

d) Short Date/Time (trumpas datos/laiko formatas) – pvz., 94.6.19 17:34 ar

6/19/94 17:34.

Lauko tipui Yes/No galimi tokie formatai: True/False (Tiesa/Melas), Yes/No (Taip/Ne), On/Off (Įjungta/Išjungta).

3. Dešimtainių pozicijų skaičius (Decimal places). Number ir Currency tipo laukų duomenis galima vaizduoti norimu tikslumu, t.y. parinkti matomų po taško dešimtainių skaitmenų kiekį (nuo 0 iki 15). Nutylima Decimal Places reikšmė yra Auto, kuriai esant Currency, Fixed, Standard ir Percent formatų skaičiai vaizduojami dviejų skaitmenų po taško tikslumu, o General – tokiu, kaip pateikiami duomenys, pvz. 1.377777.

4. Tikrinimo taisyklė (Validation Rule) ir įspėjimo tekstas (Validation Text). Yra galimybė tikrinti įvedamų lauko reikšmių korektiškumą (netaikoma Memo, OLE object, Auto Number tipo laukams). Pavyzdžiui, įrašius skiltyje Validation Rule tikrinimo sąlygą <100, bus galima įvesti tik mažesnius už 100 skaičius. Bandant įvesti didesnį skaičių, sistema išves skiltyje Validation Text įrašytą tekstą, pvz. „Skaičius turi būti mažesnis už 100“. Bendru atveju skiltyje Validation Rule gali būti įrašyta loginė išraiška arba kreipinys į specialią funkciją. Loginę išraišką sudaro išraiškos operandai, sujungti loginių operacijų ženklais (OR, AND). Prieš operandą gali būti žodis NOT, reiškiantis inversijos operaciją. Operandais gali būti:

• lentelių laukų vardai, kurie rašomi stačiakampiuose skliausteliuose, pvz., [fakultetas]. Taip pat rašomi ir lentelių vardai. Lentelės vardas atskiriamas nuo lauko vardo šauktuku (!), pvz., [grupes]![fakultetas]);

• skaičiai (pvz., 78; 56.4);

• tekstas (rašomas tarp kabučių, pvz., „EUROPA“, „Kaunas“);

• funkcija (kitaip tariant, kreipinys į funkciją, pvz., AVG(), kuri atlieka vidurkio skaičiavimą);

• santykių išraiškos, kurių ženklai yra šie: = (lygu), > (daugiau), < (mažiau), <> (nelygu), >= (daugiau arba lygu), <= (mažiau arba lygu). Pvz., [grupe]=“VB-8/6″.

Tikrinimo taisyklių pavyzdžiai:

a) įvesta loginė išraiška >5 OR <5 nurodo, kad galima įvesti skaičius, didesnius už 5 arba mažesnius už –5;

b) įvesta išraiška Between 10 And 100 tikrina, ar reikšmė patenka į uždaro intervalo [10, 100] ribas;

c) išraiška Like „Ruošinys“ skirta tikrinti, ar Text ir Memo tipo laukų reikšmės atitinka nurodytam ruošiniui. Jam sudaryti naudojami šie simboliai: ? (rodo tik raidę);  (rodo vieną arba daugiau nei vieną simbolį, arba nerodo nieko); # (rodo vieną skaitmenį nuo 0 iki 9); [raidės] (rodo raidę, esančią saraše raidės); [!raidės] (rodo raidę, nesančią saraše raidės). Pvz.: Like „K###“ nurodys tekstą, kuris susideda iš raidės K ir trijų skaitmenų; Like „[!ABC] – bet kurį simbolį, išskyrus A,B,C. Užpildant skiltį Validation Rule, galima pasinaudoti išraiškų konstruktoriumi (Expression Builder), kuris iškviečiamas, paspaudus mygtuką ….

5. Įvesties kaukė (Input Mask). Text, Number, Currency ir Date/Time tipo laukams galima nurodyti įvesties kaukę (trafaretą), kuri bus matoma įvedant lauko reikšmę. Įvesties kaukės palengvina duomenų įvedimą, suteikia vaizdumo. Sudarant įvesties kaukę, naudojami specialūs simboliai, dažniausiai vartojami pateikti 2 lentelėje.

2 lentelė. Įvesties kaukės simboliai

Simbolis Galima įvesti

0 Dešimtainį skaitmenį be ženklo (skaitmenį įvesti būtina)

9 Dešimtainį skaitmenį be ženklo (skaitmenį galima praleisti)

# Dešimtainį skaitmenį, tarpą, ženklus  ar + (simbolį galima praleisti)

L Būtina įvesti bet kokią raidę

? Galima įvesti ar praleisti bet kokią raidę

A Būtina įvesti raidę ar skaitmenį

a Galima įvesti arba praleisti raidę arba skaitmenį

& Būtina įvesti bet kokį simbolį arba tarpą

Nurodo, kad kitas simbolis turi būti parodomas nepakeistas

„abc“ Nurodo, kad eilutė abc turi būti parodoma nepakeista

Pavyzdžiui, jei sudaryta įvesties kaukė LLL000;0;?, tai vedant duomenis ji suformuos ekrane eilutę ??????. Šablono pabaigoje po „; “ užrašytas simbolis „?“ nurodo vartotojui duomenų atskirų simbolių įvedimo vietas. Po pirmojo “;” užrašytas “0” nurodo, kad saugoma pilna įvesta lauko reikšmė (“1” rodytų, kad nėra sugomi kaukės automatiškai įvedami pastovūs simboliai). Galimų įvedamų reikšmių pavyzdžiai: BJL481, AAA111. Įvesties kaukė (999″)-„000;0;C suformuos eilutę (CCC)-CCC. Naudojant šią kaukę, gali būti įvedamos tokios reikšmės: (242)-512, ()-333 ir pan. Įvesties kaukės sudarymui gali būti panaudotas jos sudarymo vedlys (Input Mask Wizard), kuris iškviečiamas, paspaudus mygtuką ….

6. Nutylėta reikšmė (Default Value). Laukams galima suteikti nutylėtą reikšmę, kuri pasirodys įvedinėjant lentelės įrašus (netaikoma OLE object ir Auto Number tipo laukams). Ši reikšmė užrašoma skiltyje Default Value. Pavyzdžiui, užrašius čia funkciją DATE(), iš karto atitinkamame lentelės lauke pasirodys šios dienos data.

7. Būtina reikšmė (Required). Skiltyje Required parinkus variantą Yes, sistema kontroliuos, kad įvedant duomenis šio lauko reikšmė būtų įvesta. Parinkus variantą No, lentelės įrašas bus įvestas ir nenurodžius šio lauko reikšmės. Tai aktualu tuomet, kai pildant DB ne visų laukų reikšmės iš anksto žinomos (jas galima įvesti vėliau).

8. Leidžiamas nulinis
Zero Length). Galima leisti (variantas Yes), ar uždrausti (No) į Text, Memo ar Hyperlink tipo laukus įrašyti tuščias tekstines eilutes.

9. Paaiškinimas (Caption). Peržiūrint duomenis laukų vardai MS Access objektuose (Tables, Queries, Forms, Reports) gali būti pakeisti pilnesniais ir išraiškingesniais, kurie nurodomi šioje skiltyje.

10. Indeksavimas (Indexed). Jei laukas neindeksuojamas, tuomet parenkamas variantas No. Indeksuojant pirminius ar galimus raktus parenkamas variantas Yes (No Duplicates). Šiuo atveju lentelėje negalės būti įvestos pasikartojančios šio rakto reikšmės. Jei indeksuojamas laukas nėra raktas arba yra sudėtinio rakto dalis, tuomet parenkama Yes (Duplicates OK). Pastaba: Memo, OLE object ir Hyperlink tipo laukai negali būti indeksuojami.

11. Suspaustas kodas (Unicode Compresion). Naudojamas tik Text, Memo, Hyperlink tipo laukams, kurie saugomi Unicode formate (vieno simbolio saugojimui skiriami 2 baitai). Jei parenkamas variantas Yes, tuomet laukai, talpinantys lotyniško alfabeto raides, bus saugomi suspaustoje formoje (vieno simbolio saugojimui skiriamas 1 baitas).

Kiekvienai lentelei turi būti apibrėžtas pirminis raktas (Primary Key), t.y. laukas ar jų rinkinys, kurio reikšmės lentelėje nesikartoja. Tai patogiausia atlikti taip: pažymėjus reikiamą lauką ar laukus (šiuo atveju reikia spausti klavišą Ctrl ir, jo neatleidžiant, pele pažymėti reikiamus laukus), paspausti mygtuką Primary Key arba išrinkti meniu punkto Edit operaciją Primary Key. Nustatytą pirminį raktą sistema indeksuoja automatiškai (tokia indeksų seka turės vardą PrimaryKey). Be to, lentelės visos indeksų sekos gali būti sukurtos naudojant langą Indexes, kuris iškviečiamas, atlikus komandų seką ViewIndexes. Nustatant ryšius tarp lentelių būtina, kad bent vienas iš laukų (ar jų rinkinių) būtų indeksuotas. Be to, siejančiųjų laukų tipai bei formatai turi būti vienodi.

C. Formų, užklausų ir ataskaitų kūrimas

Formos. Pagrindinė formų paskirtis – suteikti DB vartotojui galimybes vaizdžiai ir patogiai peržiūrėti, modifikuoti bei įvesti duomenis. Formos naudoja duomenis, kurie saugomi lentelėse ar gaunami vykdant užklausas. Forma, naudojanti vienos konkrečios lentelės ar užklausos duomenis, vadinama paprasta. Jei viena forma įdedama į kitą ir turi duomenis, paimtus iš kelių susietų lentelių, ji vadinama sudėtine. Šiuo atveju sukuriamos pagrindinė (Main) ir jai pavaldi pagalbinė (Subform) formos. Kuriant formas verta naudoti formų vedlį (Form Wizard) Atsakant į jo pateiktus klausimus sukuriamas pradinis formos variantas (ruošinys) ir toliau, jei reikia, projektavimo (Design) režime jis koreguojamas ar papildomas. Projektavimo režime galima keisti esamų formos elementų išdėstymą, matmenis, formatus bei įvesti naujus elementus (įvairius užrašus, sąrašus, valdymo elementus ir kt.). Šiuo atveju patogu naudoti formos projektavimo įrankių „dėžutę“ (Toolbox), kuri atsiranda ekrane, įvykdžius veiksmų seką ViewToolbox. Formose, kaip ir lentelėse, galima atlikti navigaciją, duomenų rikiavimą, filtravimą ir paiešką.

Šiuo metu Jūs matote 31% šio straipsnio.
Matomi 2773 žodžiai iš 9084 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.