DUOMENŲ BAZĖS II dalies klausimai 9 Trijų lygių DB architektūra. 1. Kas yra loginė ir fizinė duomenų bazės struktūra? Loginė ir fizinė duomenų bazės struktūra trijų lygių duomenų bazės architektūra - duomenų bazės struktūra, kurią sudaro 3 lygiai: koncepcinis, išorinis ir vidinis. 2. Ką reiškia išorinis lygmuo? Kas jame atliekama? Išorinis lygis - struktūrinis duomenų bazės lygis kuriame prasideda duomenų bazės planavimas. Jame atliekama informacijos rinkimas apie dalykinę sritį ir analizė ir informacijos rinkimas apie probleminę sritį ir analizė. 3. Kokių klausimų analizė atliekama išoriniame lygmenyje (šeši) ? 1. Įvairių organizacijos skyrių informaciniai poreikiai. 2. Skirtingų lygių vadovybės informaciniai poreikiai. 3. Organizacijos filialų informaciniai poreikiai. 4. Informacinis modelis, atitinkantis šiems reikalavimams. 5. Numatomas duomenų srautas skirtinguose regionuose nagrinėjamu periodu. 6. Išankstinė analizė lėšų, skirtų modelio galimybėms padidinti. 4. Kas yra sinergetinis efektas? Sinergetinis efektas - kai kaupiamų kartu duomenų vertė yra didesnė, negu atskiruose failuose kaupiamų duomenų verčių suma. 5. Kas yra dalykinė ir probleminė sritis? Apibūdinti. Dalykinė sritis – tai visuma realaus pasaulio objektų, kurie nagrinėjami šios informacinės sistemos modelio ribose. Dalykinė sritis – visi padaliniai, jų ryšiai bei savybės. Informacijos apie dalykinę sritį rinkimu vadinamas žinių, duomenų, nuomonių ir požiūrių apie dalykinės srities struktūrą, joje vykstančius įvykius ir procesus, tų procesų vykdymo tikslus bei būdus ir tuos procesus vykdančių agentų išsilavinimą, klasifikaciją bei tradicijas rinkimas. Projekto dalyviai bendrauja su organizacijos padalinių darbuotojais, kurie apibrėžia visus pagrindinius procesus, veiklos sritis ir objektus, naudojamus informacijai apdoroti. Pagrindinis dalykinės srities analizės tikslas – suvokti tą sritį ir sukaupti žinias, reikalingas duomenų bazėms sukurti, o ne parengti vienus ar kirus dokumentus. Dokumentai yra tik pagalbinė priemonė. Probleminė sritis – tai sprendžiamos organizacijos problemų visuma. Priklausomai nuo organizacijos problemų yra parenkama tam tikra dalykinė sritis, jos objektai. Šiame etape dalyviai neturi stengtis detalizuoti informacinį modelį. Išsamus modelis bus sudaromas projektuojant DB. Tačiau projekto dalyviai turi nustatyti stabilius organizacijos informacinės struktūros elementus, kurie išliks po kokių nors organizacinių pasikeitimų. 6. Kokie veiksniai nulemia išorinio lygmens sėkmę (penki)? 1. Užsakovo kompetencija ir turima kompiuterizacijos patirtis; 2. Užsakovo suinteresuotumas darbų sėkme; 3. Analitikų profesinė patirtis ir jų turimos dalykinės srities žinios; 4. Analizėje dalyvaujančių asmenų geba diskutuoti, suvokti kitų asmenų požiūrius ir juos aprobuoti; 5. Geras analizės planas ir jo aprūpinimas resursais. 7. Ką reiškia koncepcinis lygmuo? Kas jame atliekama? Koncepcinis lygis - struktūrinis duomenų bazės lygis, kuriame aprašoma loginė duomenų bazės schema. Atliekant duomenų bazės koncepcinį projektavimą, siekiama sudaryti projektuojamosios duomenų bazės koncepcinę schemą. Šiame etape išskiriama dar viena grupė bendradarbių- tai duomenų bazės administracija. 8. Kas yra duomenų bazių administracija? Kokias funkcijas atlieka? Duomenų bazės administracija- darbuotojai, atsakingi už duomenų kontrolę ir apsaugą. Ji koordinuoja koncepcinio projektavimo eigą, apmokina vartotojus, realizuoja duomenų apsaugą ir palaiko jų vientisumą bei sistemos prieinamą veikimą. Mažoje organizacijoje šiais klausimais užsiima vienas žmogus, tačiau dažnai šias funkcijas atlieka grupė darbuotojų. 9. Pateikite apibendrintą dalykinės srities koncepcinį modelį? Kokia modelio paskirtis? Dalykinės srities koncepcinis modelis = klasių hierarchijos +ryšiai +esybių ir ryšių gyvavimo ciklai + kritiniai ryšiai +veiklos diagramos +scenarijai +procesai +srautai. Šio modelio paskirtis – įsivaizduoti realaus pasaulio problemą objektais, kurie abstraguojami iš dalykinės srities. 10. Ką reiškia vidinis lygmuo ? Kas jame atliekama? Vidinis lygis - struktūrinis duomenų bazės lygis, kuriame atliekama fizinė duomenų bazės realizacija. Šiame lygyje techniniai DBA darbuotojai atlieka fizinį DB projektavimą, todėl jie turi tiksliai žinoti, kaip DBVS apdoroja kreipimusis į duomenis, kokie kreipimųsi metodai bus efektyviausi, nusprendžia kokius metodus taikyti, norint saugiai įvesti, ištrinti, atnaujinti duomenis. Jų tikslas taip pat yra bendrų išlaidų techniniai ir programiniai įrangai bei personalo apmokėjimui optimizavimas. 11. Apibūdinkite duomenų bazės administracijos vaidmenį vidiniame lygmenyje. DB administracija užima pagrindinį vaidmenį nustatant ir įdiegiant organizacijos duomenų standartus. Kadangi DB projektuojama centralizuotai, DBA gali nustatyti duomenų vardų ir formatų standartus, duomenų išvedimo į monitorių, ataskaitų standartus. 12. Kaip jūs suprantate standartizavimą? Kas yra metaduomenys? Standartizavimas – tai būdas, palengvinantis dokumentacijos tvarkimą ir personalo apmokymą bei užtikrina didesnę integraciją. Metaduomenys- duomenys, aprašantys pačią DB. 13. Ko reikalaujama iš duomenų bazės administracijos naudojant trijų lygių architektūrą? Šių triejų lygių realizacija reikalauja iš duomenų bazės “mokėti pertvarkyti” iš vieno lygio į kitą. Tam, kad pateikti duomenis koncepciniame ar išoriniame lygiuose sistema turi mokėti pertvarkyti fizinius adresus ir nuorodas į atitinkamus loginius vardus ir ryšius. Toks pertvarkymas gali vykti ir priešinga kryptimi. 10 DB rikiavimas ir indeksiniai failai. 14. Ką reiškia duomenų bazės rikiavimas? Tiksliai apibūdinti. Duomenų bazės rikiavimas – tai tam tikras DB įrašų sutvarkymas, kai reikia išdėstyti įrašus kurio nors lauko reikšmių didėjimo tvarka. DB įrašus rikiuoti galima be jokių papildomų failų, panaudojant tik DB lentelių failus. Tačiau šiuo atveju turi būti sukuriama nauja DB kopija. O tai paprastai yra neefektyvu - sunaudojama daug atminties ir sugaištama nemažai laiko. 15. Kokia indeksų ir indeksinių failų paskirtis? Motyvuokite, kodėl verta naudoti indeksus? Indeksinių failų pagalba žymiai efektyviau galima surikiuoti DB. Svarbiausias indeksinio failo naudojimo privalumas tas, kad užtikrinama labai efektyvi duomenų paieška, atranka ir atskiroje lentelėje, ir visoje DB.Indeksuotas laukas yra tas DB laukas, pagal kurio reikšmes rikiuojami bazės įrašai ir kuriam sudaroma įrašų indeksų seka. Jeigu DB turi bent vieną indeksuotą lauką, tai sakoma, kad ji yra indeksuota. Naudojant indeksinį failą, į DB įrašus kreipiamąsi ne tiesiogiai, bet per indeksus, saugomus aktyvioje indeksinio failo indeksų sekoje. Rikiuojant pagal indeksuotą lauką, nereikia atlikinėti daug laiko reikalaujančių DB įrašų kopijavimo, perstatymo operacijų. Pakanka pertvarkyti tik indeksų seką. Indeksų seka sudaroma vieną kartą, o pertvarkoma tik tada, kai koks nors įrašas įterpiamas, modifikuojamas arba pašalinamas. 16. Kas yra indeksų seka? Kur ji saugoma? Apibūdinti? Indeksų seka - tai nuorodų į DB įrašus, surikiuotus pagal kurio nors lauko reikšmes, rinkinys, kuris įtraukiamas į indeksinį failą. Jas galima saugoti indeksiniame faile. Kiekviena indeksų seka turi pavadinimą. Jis gali sutapti su lauko vardu. Jeigu indeksų faile yra daugiau negu viena indeksų seka, tai DB rikiuojama pagal aktyvią tuo momentu seką. Tuo pačiu metu gali būti aktyvi ne daugiau kaip viena indeksų seka. 11 Paieškos priemonės. 17. Kas yra paieška duomenų bazių sampratoje ir kokia jos paskirtis? Tiksliai apibūdinti. Paieška yra manipuliavimo duomenimis operacija ar operacijų seka, kurios paskirtis - surasti konkrečius duomenis iš vienos ar kelių DB lentelių. Paieška yra viena svarbiausių manipuliavimo duomenimis operacijų. Daugelio kitų operacijų (įrašų modifikavimo, įterpimo, pašalinimo) neįmanoma atlikti be šios operacijos. Vartotojui labai aktualu atlikti paiešką greitai, patogiai, lanksčiai. Paieškos greitis, galima sakyti, nulemia viso darbo su DB efektyvumą. 18. Kokiais būdais organizuojama paieška (du)? Apibūdinti. Paiešką DB galima organizuoti: a) naudojantis grafiniais, vizualiai orientuotais instrumentais, b) rašant instrukcijas specialia kalba. Pirmajam būdui priskiriami specialūs grafiniai dizaineriai, meistrai ir meniu sistemos. Šiomis priemonėmis vartotojas gali surasti, atrinkti bet kokius jam reikalingus duomenis iš vienos ar kelių lentelių, taip pat vaizduoti juos norimu formatu. Vartotojui nereikia rašyti sudėtingų komandų, sistema pati „sufleruoja” galimus pasirinkimo variantus, tereikia tik iš jų išsirinkti tinkamą. Antrasis būdas daugiausia naudojamas sudarant taikomąsias programas. Paieškos instrukcijos rašomos konkrečia manipuliavimo duomenimis kalba arba specialia užklausų kalba, iš kurių, kaip minėta, populiariausia yra SQL. 19. Kokias žinote paieškos rūšis (dvi)? Apibūdinti. Atsižvelgiant į paieškos vykdymo principą, skiriama paieška pagal įrašą ir paieška pagal indeksą. Pirmuoju atveju tikrinami pačios DB bazės įrašai. Jie nagrinėjami pradedant pirmuoju, nuosekliai, t. y. ta tvarka, pagal kurią jie buvo išdėstyti užpildant DB. Antruoju atveju nagrinėjami ne patys įrašai, o nuorodos į tuos įrašus - įrašų indeksai, kurie įtraukiami į indeksinį failą. Antruoju atveju paieška atliekama žymiai greičiau nei pirmuoju, ypač tada, kai pasitelkiami specialūs pagreitintos paieškos algoritmai, pvz., dvejetainio dalijimo algoritmas. 20. Kokios galimos paieškos formos? Pateikte bent tris. Galimos įvairios paieškos formos. Tai - atskirų įrašų (laukų) paieška, įrašų grupių atranka, atranka su rikiavimu ir pan. 21. Kokiais būdais galima pateikti paieškos rezultatus? Pateikite bent tris. Paieškos (užklausos) rezultatai gali būti įvairiai pateikiami. Juos galima išvesti į ekraną (laikinąjį peržiūros langą), naują sukuriamą lentelę, ataskaitą. Paieškos rezultatus galima išvesti ir į vadinamąją virtualiąją lentelę. 22. Kas yra filtras ir duomenų filtravimas? Ką tai reiškia? Filtras – tai būdas DB operuoti, kai reikia dirbti tik su jos dalimi. Filtras leidžia dalį įrašų „paslėpti”. Filtravimas – tai pati operacija ar procesas kai reikia operuoti tam tikrą DB dalį. Filtravimo operacijos atliekamos su aktyviais įrašais, t. y. su įrašais, kurie nėra „paslėpti”. 23. Kokiu būdu realizuojamas ir aprašomas filtras? Filtras yra susietas su DB, galima sakyti, yra savotiška DB savybė. Filtras veikia kiekvieną kartą, kai tik kreipiamasi apdoroti DB. Tai nepriklauso nuo apdorojimo būdo, t. y. nuo to, ar DB apdorojama interaktyviu būdu, ar programiškai. Filtras aprašomas, naudojant loginę išraišką (sąlygą). DB įrašai, kuriems ta sąlyga tenkinama, „praeina pro filtrą” ir dalyvauja apdorojime, likusieji įrašai tampa „nematomais”. 24. Kas yra kontroleriai, trigeriai ir saugomosios procedūros? Apibūdinti. Šiuolaikinėse DBVS yra ir kitos, dar lankstesnės priemonės - tai kontroleriai, trigeriai, saugomosios procedūros. Kontroleris yra tokia lentelės savybė, kuri leidžia automatiškai atlikti iš anksto nurodytus veiksmus įvedant ar taisant atskirus duomenų elementus. Trigeris įgalina įjungti atitinkamas veiksmų sekas įvedant, modifikuojant ar pašalinant atskirus DB įrašus. Saugomoje kartu su DB procedūroje talpinamas instrukcijų rinkinys (programos fragmentas), kuris gali būti iškviestas iš kontrolerio, trigerio ar vartotojo programos. 12 Ataskaitų kūrimas. 25. Kas yra ataskaita ir kokia jos paskirtis? Tiksliai apibūdinti. Ataskaita yra tam tikro formato dokumentas, kuriame atvaizduotas visos DB ar jos atskirų dalių turinys. Pagrindinė ataskaitos paskirtis - pateikti duomenis (rezultatus) patogioje vartotojui formoje, t.y. taip, kad juos būtų galima lengvai analizuoti, apibendrinti ir padaryti teisingas išvadas. Į ataskaitą įmanoma įtraukti duomenis iš kelių tarpusavyje susietų lentelių, taip pat ir iš virtualiųjų lentelių. Duomenis leidžiama įvairiai rūšiuoti, grupuoti, atlikti su jais įvairius skaičiavimus. Paruošta ataskaita gali būti peržiūrima kompiuterio ekrane, išsaugoma išorinėje atmintyje kaip atskiras failas, spausdinama popieriuje, po to įvairiais būdais dauginama. 26. Kokias būdais galima kurti ataskaitą (du)? Apibūdinti. Ataskaitą galima sukurti dviem būdais: 1. Naudojantis standartinėmis formomis; 2. Pačiam vartotojui pasirenkant ataskaitos formą. Pirmasis būdas gerokai apriboja vartotojo pasirinkimą, kadangi ataskaita kuriama pagal sistemos siūlomą formatą. Žymiai daugiau galimybių atsiranda formuojant ataskaitą antruoju būdu. Čia vartotojas gali laisvai pasirinkti jam priimtiniausią ataskaitos formatą. Be to, į pagalbą ateina tam tikslui skirti specialūs instrumentai - ataskaitų dizaineriai. Modernios DBVS taip pat leidžia duomenis pateikti įvairiausių formatų diagramų pavidalu. 27. Kokia yra ataskaitos struktūra? Apibūdinti. Kiekviena ataskaita turi tam tikrą struktūrą, į kurią privalu atsižvelgti. Ataskaitoje išskiriamos tokios trys zonos: antraštės zona, pagrindinė zona, pabaigos zona. Antraštės zonoje rašoma informacija, kuri turi būti viso dokumento pradžioje. Jei dokumentą sudaro keli puslapiai, tai nurodoma ir informacija, kuri turi būti kiekvieno puslapio pradžioje. Pagrindinė zona apima eilutes, kurios dažniausiai vaizduoja vieną duomenų bazės įrašą. Ataskaitos pabaigos zona analogiška antraštės zonai, tik jos turinys vaizduojamas dokumento (ar puslapio) pabaigoje. Ataskaitos pavyzdys pateiktas 1 pav. 1 pav. Ataskaitos pavyzdys 13 SQL kalba. 28. Kas yra SQL? kokia jos paskirtis ir galimybės? Apibūdinti. SQL – tai instrumentas, skirtas duomenų, esančių kompiuterinėje duomenų bazėje nuskaitymui ir apdorojimui. SQL (Structured Query Language) – struktūrizuota užklausų kalba. SQL kalboje numatytos šios pagrindinės manipuliavimo duomenimis instrukcijos (komandos): DB kūrimas, paieška DB, duomenų modifikavimas, įrašo įterpimas į DB, įrašo pašalinimas. SQL dirba tik su vieno tipo duomenų bazėmis, t.y. reliacinėmis DB. Galimybės: Duomenų organizavimas. SQL suteikia vartotojui galimybę keisti duomenų pateikimo struktūrą, taip pat nustatyti santykius tarp DB elementų. Duomenų nuskaitymas. SQL suteikia vartotojui galimybę gauti duomenis esančius DB ir jais naudotis. Duomenų apdorojimas. SQL pagalba galima keisti DB turinį, t.y. įvesti naujus duomenis, trinti nebereikalingus, atnaujinti senus. Priėjimo prie duomenų valdymas. SQL pagalba galima apsaugoti duomenis nuo nesankcionuoto vartojimo, apriboti vienų ar kitų vartotojų galimybes dirbant su DB. Kolektyvinis darbas su DB. SQL suteikia galimybę keliems vartotojams vienu metu naudotis ta pačia DB netrukdant vienas kitam. DB apsauga. SQL padeda užtikrinti DB vientisumą apsaugodama ją nuo sugriovimo dėl įvairių nesuderintų pakeitimų DB ar tiesiog atsakius DBVS. Pagrindiniai SQL privalumai: Nepriklausoma nuo konkrečių DBVS; Standartizuota; Perkėlimo iš Nepriklausoma nuo konkrečių DBVS; Standartizuota Perkėlimo vienų kompiuterinių sistemų į kitas galimybė; Pripažinta IBM (DBVS DB2) ir Microsoft (ODBC protokolas); Reliacinis pagrindas; Aukšto lygio struktūra; Duomenų pateikimo įvairovė; Galimybė dinamiškai keisti ir plėsti DB struktūrą tuo pat metu naudojantis jos turiniu; Galimybė atlikti specialias interaktyvias užklausas; Programinio priėjimo prie duomenų bazių užtikrinimas; Pilnavertė kalba darbui su DB; Palaiko kliento/serverio architektūrą. 29. Apibūdinkite komandą CREATE. Pateikti pavyzdį. CREATE TABLE – sukuria DB naują lentelę CREATE TABLE lentelė {lntelės – elementų - sąrašas} Nauja DB lentelė sukuriama naudojant „CREATE” instrukciją. Šios instrukcijos supaprastintas formatas yra toks: CREATE TABLE duomenų_bazės_lentelės_vardas (lauko_vardas_1 tipas [ (plotis [, tikslumas ]) ] [, lauko_vardas_2 ... ] ); čia: CREATE - instrukcijos pavadinimas, TABLE - bazinis žodis, nurodantis, jog kuriama nauja lentelė (konkretus lentelės vardas rašomas po šio žodžio). Instrukcijoje nurodoma, kokie būtent laukai sudarys kuriamą lentelę. Kiekvieną lauką apibūdina to lauko tipas, lauko plotis ir, jeigu reikia, tikslumas (skaitmenų kiekis po kablelio). Lauko charakteristikos rašomos lenktiniuose skliausteliuose. Simboliai „[” ir „]” nurodo, kad tarp jų esanti instrukcijos dalis nėra būtina, jos galima nerašyti. CREATE TABLE a (u_numeris N(3), p_kodas C(7), pr_kodas C(5), data D); pagal ją bus sukurta nauja, tuščia A lentelė, kurią sudarys 4 laukai: skaitmeninis laukas U_NUMERIS (lauko plotis - ne daugiau kaip 3 skaitmenys), simbolių laukas P_KODAS (lauko plotis - ne daugiau kaip 7 simboliai), simbolių laukas PR_KODAS (lauko plotis - 5 simboliai), datos tipo laukas DATA. 30. Apibūdinkite komandą SELECT. Pateikti pavyzdį. SELECT – nuskaito duomenis iš DB. SELECT [ALL | DISTINCT] {Atrenkamų objektų sąrašas | * } INTO Bazinių – kintamųjų - sąrašas FROM Nuorodų – į – lenteles – sąrašas [WHERE Paieškos – sąlyga] SQL kalboje duomenų paieškos ir atrankos instrukcijos supaprastintas formatas yra toks: SELECT laukų vardų sąrašas | * FROM duomenų_bazės_lentelės_vardas [WHERE paieškos sąlyga]; čia: SELECT - instrukcijos pavadinimas, FROM - bazinis žodis, po kurio nurodoma, kurioje lentelėje daryti paiešką, WHERE - bazinis žodis, apibrėžiantis paieškos sąlygą, t. y. kriterijų, kurį turi tenkinti ieškomi duomenys. Simbolis „|” reiškia, kad instrukcijoje galima nurodyti tik vieną iš alternatyvų, t . y. arba laukų vardų sąrašą, arba simbolį „* ”. „* ” nurodo, jog reikia pateikti visų duotos lentelės laukų reikšmes. Taigi parašius instrukciją „SELECT”, iš lentelės bus atrinktos nurodytų laukų reikšmės, kurios tenkina pateiktą paieškos sąlygą. Instrukcijos pavyzdys: SELECT * FROM b WHERE p_kodas=„1-12693”; 31. Apibūdinkite komandą UPDATE. Pateikti pavyzdį. UPDATE – atnaujina pasenusius DB duomenis. UPDATE Lentelė SET Išraiškų – nuorodų – sąrašas [WHERE Paieškos sąlyga] DB lentelės laukų reikšmės modifikuojamos naudojant „UPDATE” instrukciją. Instrukcijos formatas: UPDATE duomenų_bazės_lentelės_vardas SET lauko_vardas_1=išraiška_1 [, lauko_vardas_2=išraiška_2 ... ] [WHERE paieškos sąlyga]; čia: UPDATE - instrukcijos pavadinimas, SET - bazinis žodis, po kurio nurodoma, kokių laukų reikšmės ir kaip keičiamos (galima pakeisti konstanta ar išraiškos rezultatu). 32. Apibūdinkite komandą INSERT INTO. Pateikti pavyzdį. INSERT – įterpia duomenis į DB. INSERT INTO lentelės pavadinimas [stulpelių – sąrašas] VALUES {(įterpiamų – elementų – sąrašas) | užklausos specifikacija} UPDATE c SET kaina=kaina* 4.00;. Naujas įrašas įterpiamas į DB lentelę, naudojant „INSERT” instrukciją. Jos formatas toks: INSERT INTO duomenų_bazės_lentelės_vardas [(laukų vardų sąrašas)] VALUES (laukų reikšmių sąrašas); čia: INSERT - instrukcijos pavadinimas, INTO - bazinis žodis, po kurio nurodoma, kurioje lentelėje įterpti naują įrašą, VALUES - bazinis žodis, po kurio surašomos laukų reikšmės, išdėstytos reikiama tvarka. Naujasis įrašas įterpiamas lentelės pabaigoje (po paskutiniojo lentelės įrašo). Instrukcijos pavyzdys: INSERT INTO a (u_numeris, p_kodas, pr_kodas, data) VALUES (6, „3-12908”, „A7340”, {98 01 30});. 33. Apibūdinkite komandą ALTER TABLE. Pateikti pavyzdį. ALTER TABLE* – pakeičia egzistuojančios lentelės struktūrą. 34. Apibūdinkite komandą DELETE. Pateikti pavyzdį. DELETE – trina duomenis iš DB. DELETE FROM lentelė [WHERE Paieškos – sąlyga] Įrašo ar jų grupės pašalinimo iš lentelės instrukcija užrašoma taip: DELETE FROM duomenų_bazės_lentelės_vardas [WHERE paieškos sąlyga]; čia: DELETE - instrukcijos pavadinimas, FROM - bazinis žodis, nurodantis, kurioje lentelėje pašalinti įrašą(us) WHERE - bazinis žodis, apibrėžiantis sąlygą, kurią turi tenkinti pašalinami įrašai. 14 DBVS ryšys su kitomis programomis. 35. Kokia yra DBVS ryšio su kitomis programomis svarba? Pakomentuokite. DBVS neizoliuotos nei viena nuo kitos, nei nuo kitų taikomųjų programų. Yra įvairių priemonių, leidžiančių atskiroms DBVS bendrauti tarpusavyje bei palaikyti ryšį su kitomis programomis, sistemomis. 36. Ką reiškia dinaminis duomenų apsikeitimas. Apibūdinkite. Dinaminis duomenų apsikeitimas (angliškai DDE - Dynamic Data Exchange) įgalina perduoti duomenis iš vienos programos į kitą. Programa, kuri inicijuoja ryšį ir kreipiasi į kitą programą, vadinama klientu, o programa, kuri atsako klientui ir jį aptarnauja, vadinama serveriu. DBVS gali atlikti ir kliento, ir serverio vaidmenį. Atlikdama kliento vaidmenį, DBVS gali kreiptis į kitą programą, pasiųsti vienus duomenis į tą programą bei gauti iš jos kitus duomenis. Atlikdama serverio vaidmenį, DBVS suteikia galimybę kitoms programoms kreiptis į DB, jos lenteles ar atskirus duomenų elementus. Šiuo atveju kita programa gali duomenis siųsti sau arba juos pakeisti. Kad klientas ir serveris galėtų apsikeisti duomenimis, jie abu turi būti aktyvūs, t. y. atitinkamos programos paleistos vykdyti. 37. Ką reiškia susiejimo ir įdiegimo mechanizmas. Apibūdinkite. Susiejimo ir įdiegimo mechanizmas (angliškai OLE - Object Linking and Embedding) leidžia DB lentelėse saugoti įvairiausius objektus - tekstus, grafinius vaizdus, video-vaizdus ir pan. Tokie objektai saugomi atitinkamo tipo laukuose. Objektas gali būti sukurtas ne DBVS, o kurios nors kitos taikomosios programos - serverio. Galimi du variantai: a) DB saugoma tik nuoroda į objektą, sukurtą programos-serverio, b) DB talpinamas pats objektas. Procesas, kurio metu į DB įtraukiama nuoroda į objektą, vadinamas susiejimu, o procesas, kurio metu į DB įtraukiamas pats objektas, vadinamas objekto įdiegimu. Įterpiant į DB susiejamą įdiegiamą objektą ar jį koreguojant, automatiškai iškviečiama ta programa (serveris), kurios pagalba šis objektas buvo sukurtas. Taigi DB galima saugoti įvairialypius duomenis, paruoštus skirtingomis taikomosiomis programomis, pvz., teksto procesoriais, grafiniais redaktoriais ir kt. 15 DB taikymas 38. Išvardinti pagrindines organizacijas arba įstaigas, kurioms DB itin reikalingos. Bankai; bibliotekos; prekybinės firmos; darbo biržos; muitinės ir kt. 39. Veiklos sritys, kuriose itin reikalinga DB. Gamybos valdymas ir planavimas; prekyba; buhalterija; materialinių vertybių apskaita; personalo apskaita ir kt. 40. Pateikti apibendrintą firmos veiklos schemą. Pakomentuokite. 1 pav. Firmos veiklos schema Panagrinėkime, pavyzdžiui, DB naudojimą kurios nors firmos veikloje, susijusioje su prekyba. Tarkime, kad firma parduoda tam tikro asortimento prekes pagal užsakymus. Tokioje firmoje yra skyrius, kurio specialistai sudaro siūlomų parduoti prekių katalogą. Katalogas išplatinamas potencialiems pirkėjams. Su klientais, nusprendusiais įsigyti prekę, bendrauja užsakymų tarnyba. Firmos vidaus tarnyba koordinuoja atskirų vykdytojų darbą. Pardavimo procesas vyksta pagal tokią schemą. Pirkėjas iš firmos siūlomų prekių katalogo užsisako norimą prekę. Firmos atstovas (pardavėjas) išrašo pirkėjui sąskaitą ir tuo pat metu išsiunčia užsakymą nurodytos prekės tiekėjui (gamintojui), su kuriuo firma yra sudariusi atitinkamą sutartį. Pirkėjui apmokėjus sąskaitą, firma įsipareigoja per nustatytą terminą pristatyti prekę klientui. Pardavimo procese dalyvauja šie informaciniai objektai: klientai, prekės, pardavėjai, užsakymai, sąskaitos 16 DBVS palyginimas 41. Į kokias grupes skirstomos DBVS. Pateikti pavyzdžių kiekvienai grupei. Pagal savo apimtį DBVS galima suskirstyti į dideles (labai sudėtingas) sistemas, vidutines (mažiau sudėtingas) sistemas ir mažas sistemas. Didelės DBVS yra šios: Oracle, Sybase, Informix, DB2, SQL Server, IMS, Ingres. Vidutinių sistemų yra daugiau. Pagrindinės yra šios: Foxpro, Access, Paradox, Clipper, Clarion, dBase ir kt. Dar daugiau yra mažų DBVS - jų šiuo metu suskaičiuojama daugiau kaip 50. Didelės apimties, kompleksinės DBVS paprastai reikalingos stambioms organizacijoms, kompanijoms, bankams. Vidutinės sistemos tinka smulkesnėse įmonėse, įstaigose, firmose. Jos gali būti naudojamos ir atskiruose stambių organizacijų padaliniuose, filialuose. Beje, Lietuvoje populiariausia DBVS yra Foxpro (1998 m. žiniomis). 42. Kokie atskirų grupių reikalavimai kompiuteriams ir operacinėms sistemoms? Daugumos šiuolaikinių DBVS funkcionavimo bazė yra personaliniai kompiuteriai. Visos didelės sistemos, be to, dar gali funkcionuoti ir minikompiuteriuose bei super-kompiuteriuose. Paprastai visi DB valdymo paketai yra orientuojami į darbą Windows tipo operacinėse sistemose, būtent, Windows NT, Windows 95 ir pan. Dideli paketai gali veikti ir operacinėse sistemose, skirtose superkompiuteriams, pvz., Unix, VAX VMS, OS/2. 43. Kokios yra kokybinės DBVS charakteristikos? Išvardinti (keturios). Kokybinės DBVS charakteristikos - tai apimtis (sudėtingumo laipsnis), taikymo sritis, funkcionavimo bazė, darbo patogumas. 44. Kokios yra kiekybinės DBVS charakteristikos? Išvardinti (septynios). Pagrindinės kiekybinės DBVS charakteristikos yra šios: maksimalus leistinas lentelių kiekis DB; maksimalus lentelės dydis; maksimalus įrašų kiekis lentelėje; maksimalus simbolių kiekis įraše (lentelės plotis); maksimalus laukų kiekis lentelėje; maksimalus lauko plotis; maksimalus lauko vardo ilgis ir kt. 45. Palyginkite bent tris DBVS tarpusavyje, pagal kokybines ir kiekybines charakteristikas. DBVS Lentelių kiekis Lentelės dydis Lentelės plotis Laukų kiekis Lauko plotis Oracle --- --- priklauso nuo laukų pločių 254 2 GB Sybase 2·109 priklauso nuo OA dydžio priklauso nuo OA dydžio 250 1962 baitai Informix 477·106 64 TB 32767 baitai 2767 32767 baitai DB2 priklauso nuo OA dydžio 64 GB priklauso nuo OA dydžio 255 4005 baitai SQL Server 2·109 2 TB 2048 baitai 250 255 baitai FoxPro --- 2 GB 65500 baitų 255 254 baitai Access --- 1 GB --- 255 255 baitai 46.Kaip DBVS skirstomos pagal naudojimo patogumą Kalbant apie darbo patogumą pažymėtina, jog vienose sistemose siekiama suteikti kuo lankstesnes, vaizdesnes grafinės sąsajos galimybes, o kitose sistemose pagrindinis dėmesys skiriamas tam, kad būtų kuo daugiau manipuliavimo duomenimis priemonių. Pirmosios sistemos daugiau orientuojamos į vadinamuosius galutinius vartotojus (ne į programuotojus). Antrosios sistemos orientuojamos į kvalifikuotus vartotojus (programuotojus). Trijų lygių duomenų bazės architektūra Įvadas Paskutiniais dešimtmečiais griozdiškus failų apdorojimo metodus pakeitė įvairūs duomenų bazių apdorojimo metodai. Svarbus etapas buvo reliacinių duomenų bazių sukūrimas. Viena iš pagrindinių reliacinės revoliucijos idejų yra atskirimas loginės struktūros, duomenų (kaip juos supranta vartotojas) manipuliavimo būdų ir fizinio realizavimo. Ši ideja iš pradžių iššaukė daug diskusijų, tačiau dabar ji yra visur priimta. Šių lygių atskirimas yra bet kurios ANSI/SRARC modelį atitinkančios duomenų bazės struktūros esmė. Skirtumas tarp loginio ir fizinio duomenų bazės lygių buvo oficialiai pripažintas 1978 metais. Tuomet ANSI/SRARC komitetas pasiūlė apibendrintą duomenų bazių sistemų struktūrą, kuri buvo pavadinta triejų lygių duomenų bazės architektūra: trys abstrakcijos lygiai, kuriuose galima nagrinėti duomenų bazę: koncepcinis, išorinis ir vidinis. Trijų lygių duomenų bazės architektūra. Duomenų bazės struktūra, kurią sudaro 3 lygiai: koncepcinis, išorinis ir vidinis. Panagrinėkime šiuos lygius duomenų bazės projektavimo kontekste, t. y. panagrinėkime, kaip apibrėžiamos vartotojų dalykinės sritys (išorinis lygis), kaip jos integruojamos į vieningą koncepcinę duomenų bazės schemą ir kaip ši schema realizuojama šiuolaikinėse komercinėse DBVS (DBVS - duomenų bazės valdymo sistema). Šios sistemos yra pusiaukelyje tarp grynai fizinio ir grynai loginio lygių. Taip pat panagrinėkime vidinį (fizinį) duomenų bazės lygį. Duomenų bazės projektavimas susideda iš tokių pagrindinių žingsnių: Pirmieji du žingsniai ( Informacijos rinkimas apie dalykinę sritį ir analizė ir Informacijos rinkimas apie probleminę sritį ir analizė )atliekami išoriniame lygyje, dabar jį aptarsime detaliau. Išorinis lygis Išoriniame lygyje prasideda duomenų bazės planavimas. Jis inicijuojamas aukščiausio lygio vadovybe. Vadovai paskyria plano parengimo dalyvius. Pagal vadovybės nuosprendį jie gauna visas reikalingas sėkmingam plano realizavimui lėšas. Pvz., organizacija sudarė strateginį verslo planą artimiesiems penkeriems metams. Plano įgyvendinimas priklauso nuo t.t. informacijos savalaikio išgavimo, o informacija gali būti gauta, jei bus kaupiami reikalingi duomenys. Tai ir priverčia kurti naujas ar tobulinti senas duomenų bazes. Pagrindinis duomenų bazės skirtumas nuo failų sistemos yra bendras duomenų naudojimas- tai reiškia, kad skirtingų skyrių darbuotojai naudojasi bendrais duomenimis, kiekvienas skyrius gali iki t.t. ribos kreiptis į kitų skyrių duomenis. Toks bendras naudojimasis iššaukia sinergetinį efektą- t.y. kaupiamų kartu duomenų vertė yra didesnė, negu atskiruose failuose kaupiamų duomenų verčių suma. Duomenų bazės planavimas- tai visų pirma Informacijos rinkimas apie dalykinę sritį ir analizė Visų pirma reiktų išsiaiškinti, kas yra dalykinė sritis. Dalykinė sritis – tai visuma realaus pasaulio objektų, kurie nagrinėjami šios informacinės sistemos modelio ribose. Dalykinė sritis – visi padaliniai, jų ryšiai bei savybės. Informacijos apie dalykinę sritį rinkimu vadinamas žinių, duomenų, nuomonių ir požiūrių apie dalykinės srities struktūrą, joje vykstančius įvykius ir procesus, tų procesų vykdymo tikslus bei būdus ir tuos procesus vykdančių agentų išsilavinimą, klasifikaciją bei tradicijas rinkimas. Projekto dalyviai bendrauja su organizacijos padalinių darbuotojais (būsimasiais galutiniais vartotojais), kurie apibrėžia visus pagrindinius procesus, veiklos sritis ir objektus, naudojamus informacijai apdoroti. Pagrindiniai informacijos iš galutinių vartotojų rinkimo metodai: interviu, anketavimas, rašytinių šaltinių analizė, naudojamų duomenų analizė ir stebėjimas. Interviu – tai pokalbis su užsakovu, būsimuoju kuriamos duomenų bazės naudotoju, dalykinės srities ekspertu ar kitu asmeniu. Kalbantis pateikiami iš anksto parengti kalusimai, fiksuojami gauti atsakymai. Be to siekiama išsiaiškinti, kaip apklausiamasis žiūri į vieną ar kitą savo veiklos aspektą ir pan. Vienas iš pagrindinių intervių tikslų yra surinkti reikalingą medžiagą, kuri vėliau bus panaudota projektuojant atitinkamą duomenų bazę. Pirmiausia renkama informacija apie sprendžiamus uždavinius, vidinius procesus ir juos vykdančių agentų (agentai – tai pareigybiniai asmenys, organizacijos, jų padaliniai, įrengimai, technologiniai mazgai ar kiti objektai, atliekantys atitinkamo proceso vykdymą, kontrolę ar aprobavimą) atliekamas operacijas. Po to pereinama prie problemų ir poreikių identifikavimo. Identifikavus problemas ir poreikius, renkamos nuomonės apie galimus problemų sprendimo būdus. Kadangi kai kurie faktai gali būti klaidingi, jie patikrinami ir patikslinami. Kalbant apie anketavimą – tai raštiška dalykinės strities specialistų ir ekspertų apklausa pagal iš anksto parenktą anketą. Šis informacijos rinkimo metodas geras tuo, kad tokiu būdu apkausiamųjų yra daug ir daugiau sužinoma, kokia turėtų būti kuriamoji duomenų bazė. Pagrindinis dalykinės srities analizės tikslas – suvokti tą sritį ir sukaupti žinias, reikalingas duomenų bazėms sukurti, o ne parengti vienus ar kirus dokumentus. Dokumentai yra tik pagalbinė priemonė. Sukurti duomenų bazės be analizės neįmanoma. Be to informacijos rinkimo sėkmę lemia šie veiksniai: užsakovo kompetencija ir turima kompiuterizacijos patirtis; užsakovo suinteresuotumas darbų sėkme; analitikų profesinė patirtis ir jų turimos dalykinės srities žinios; analizėje dalyvaujančių asmenų geba diskutuoti, suvokti kitų asmenų požiūrius ir juos aprobuoti; geras analizės planas ir jo aprūpinimas resursais. Analizės metu surinkti faktai ir nuomonės retai kada būna tarpusavyje suderinti. Kartais tuo pačiu klausimu skirtingų asmenų nuomonės gali būti prieštaringi. Todėl yra integruojami visi skirtingi ir prieštaringi požiūriai ir gaunami objektyvūs vertinimai. Visa surinkta informacija apie dalykinę sritį suklasifikuojama, apibendrinama. Tokiu būdu yra išsprendžiami konfliktai ir randamas kompromisas tarp prieštaringų nuomonių, požiūrių bei vertinimų. Informacijos rinkimas apie probleminę sritį ir analizė. Probleminė sritis – tai sprendžiamos organizacijos problemų visuma. Priklausomai nuo organizacijos problemų yra parenkama tam tikra dalykinė sritis, jos objektai. DB projekto paruošimas neturi užsitęsti ilgiau, negu šešiems mėnesiams. Per šį laikotarpį vadovybei turi būti pateikta ataskaita, kur išdėstyta šių klausimų analizė: Įvairių organizacijos skyrių informaciniai poreikiai Skirtingų lygių vadovybės informaciniai poreikiai Organizacijos filialų informaciniai poreikiai Informacinis modelis, atitinkantis šiems reikalavimams Numatomas duomenų srautas skirtinguose regionuose nagrinėjamu periodu Išankstinė analizė lėšų, skirtų modelio galimybėms padidinti Šiame etape dalyviai neturi stengtis detalizuoti informacinį modelį. Išsamus modelis bus sudaromas projektuojant DB. Tačiau projekto dalyviai turi nustatyti stabilius organizacijos informacinės struktūros elementus, kurie išliks po kokių nors organizacinių pasikeitimų. Po tokio informacijos rinkimo apie dalykinę sritį ir analizės pereinama prie koncepcinio DB projektavimo. Tai jau yra kitas, koncepcinis lygis. Koncepcinis lygis Kaip savarankiška duomenų bazių projektavimo stadija, koncepcinis projektavimas pradėtas skirti tik paskutiniaisiais metais. Atliekant duomenų bazės koncepcinį projektavimą, siekiama sudaryti projektuojamosios duomenų bazės koncepcinę schemą. Šiame etape išskiriama dar viena grupė bendradarbių- tai duomenų bazės administracija. Kadangi DB yra labai didelės vertės korporatyvinis resursas, ji reikalauja kontrolės ir apsaugos. Už jas atsakinga DB administracija. Ji koordinuoja koncepcinio projektavimo eigą, apmokina vartotojus, realizuoja duomenų apsaugą ir palaiko jų vientisumą bei sistemos prieinamą veikimą. Duomenų bazės administracija- darbuotojai, atsakingi už duomenų kontrolę ir apsaugą Mažoje organizacijoje šiais klausimais užsiima vienas žmogus, tačiau dažnai šias funkcijas atlieka grupė darbuotojų. Koncepcinį modelį sudaro DB administracijos personalas, turintis projektavimo patirtį. Koncepciniame modelyje aprašomi dalykinės srities esybės, jų ryšiai, dalykinėje srityje vykstantys įvykiai ir tų įvykių inicijuojami procesai. Koncepcinis lygis. Struktūrinis duomenų bazės lygis, kuriame aprašoma loginė duomenų bazės schema. Trumpai dalykinės srities modelį galima apibrėžti šitaip: Dalykinės srities koncepcinis modelis = klasių hierarchijos + ryšiai + esybių ir ryšių gyvavimo ciklai + kritiniai ryšiai + veiklos diagramos + scenarijai + procesai + srautai. Koncepcinio modelio paskirtis – įsivaizduoti realaus pasaulio problemą objektais, kurie abstraguojami iš dalykinės srities. Pagrindiniai koncepcinio modelio elementai yra objektai ir ryšiai tarp jų. Paprastai koncepciniame modelyje objektai yra aprašomi daiktavardžiais, o ryšiai tarp jų – veiksmažodžiais. Objektai ir ryšiai gana efektyviai padeda aprašyti mus dominančias problemas. Turbūt verta paminėti, kad egzistuoja programinė įranga, padedanti sudaryti koncepcinį modelį pagal t.t. notaciją. Tai pavyzdžiui paketas Platinum ERWin: Koncepcinio projektavimo procese gali iškilti konfliktai tarp vartotojų grupių: pvz., skirtingos vartotojų grupės gali skirtingai naudoti ta patį apibrėžimą arba nenorėti leisti kitiems naudotis savo duomenimis. Todėl turi būti įvesta kontrolė: kokios grupės turi priėmimą prie kokių duomenų. DB administracija turi mokėti spręsti panašius konfliktus. Vidinis lygis Šiame lygyje techniniai DBA darbuotojai atlieka fizinį DB projektavimą, todėl jie turi tiksliai žinoti, kaip DBVS apdoroja kreipimusis į duomenis, kokie kreipimųsi metodai bus efektyviausi, nusprendžia kokius metodus taikyti, norint saugiai įvesti, ištrinti, atnaujinti duomenis. Jų tikslas taip pat yra bendrų išlaidų techniniai ir programiniai įrangai bei personalo apmokėjimui optimizavimas. Jie minimizuoja sistemos reagavimo laiką, atsižvelgiant į techninės ir programinės įrangos išlaidų apribojimus. Jie nagrinėja duomenų bazę diskasukių, fizinių adresų, indeksų, nuorodų požiūriu. Po sėkmingo realizavimo būtina palaikyti jos loginę ir fizinę struktūras. Vartotojų keliamų reikalavimų pasikeitimai ar naujos techninės ar programinės įrangos galimybės priverčia keisti loginę ir fizinę DB struktūrą. DB administracija užima pagrindinį vaidmenį nustatant ir įdiegiant organizacijos duomenų standartus. Kadangi DB projektuojama centralizuotai, DBA gali nustatyti duomenų vardų ir formatų standartus, duomenų išvedimo į monitorių, ataskaitų standartus. Standartizavimas palengvina dokumentacijos tvarkimą ir personalo apmokymą bei užtikrina didesnę integraciją. Duomenys apibrėžiami duomenų žodyne. DBA kontroliuoja žodyno turinį ir kaupia jame leistinus duomenų elementų, failų, ataskaitų formų formatus. Tai yra metaduomenys- duomenys, aprašantys pačią DB. Vidinis lygis. Struktūrinis duomenų bazės lygis, kuriame atliekama fizinė duomenų bazės realizacija. Šių triejų lygių realizacija reikalauja iš duomenų bazės “mokėti pertvarkyti” iš vieno lygio į kitą. Tam, kad pateikti duomenis koncepciniame ar išoriniame lygiuose sistema turi mokėti pertvarkyti fizinius adresus ir nuorodas į atitinkamus loginius vardus ir ryšius. Toks pertvarkymas gali vykti ir priešinga kryptimi. Tokių pertvarkymų kaina- žymūs sisteminiai sutrukdymai. Tačiau ir nauda didelė - šie lygiai yra nepriklausomi vienas nuo kito. 8.7. Duomenų bazės rikiavimas ir indeksiniai failai Labai dažnai DB įrašus reikia tam tikru būdu sutvarkyti, pvz., išdėstyti įrašus kurio nors lauko reikšmių didėjimo tvarka. Toks išdėstymas vadinamas rikiavimu (rūšiavimu). DB įrašus rikiuoti galima be jokių papildomų failų, panaudojant tik DB lentelių failus. Tačiau šiuo atveju turi būti sukuriama nauja DB kopija. O tai paprastai yra neefektyvu - sunaudojama daug atminties ir sugaištama nemažai laiko. Žymiai efektyvesnis rikiavimas, sukuriant papildomus specialius failus, vadinamus indeksiniais failais. Toks rikiavimas dar vadinamas rikiavimu pagal indeksuotą lauką. Indeksuotas laukas yra tas DB laukas, pagal kurio reikšmes (duomenų elementus) rikiuojami bazės įrašai ir kuriam sudaroma įrašų indeksų seka. Jeigu DB turi bent vieną indeksuotą lauką, tai sakoma, kad ji yra indeksuota. Indeksų seka - tai nuorodų į DB įrašus, surikiuotus pagal kurio nors lauko reikšmes, rinkinys, kuris įtraukiamas į indeksinį failą. Įrašai gali būti rikiuojami tų reikšmių didėjimo arba mažėjimo (abėcėlės ar atvirkščia) tvarka. Rikiuoti galima ir pagal reikšmės dalį (pvz., pagal pavardės pirmąją raidę) ar išraiškos rezultatą. Įrašus rikiuoti galima taip pat pagal kelių laukų reikšmes, t. y. pagal tų laukų išraiškos rezultatą. Vienai DB, netgi atskirai lentelei, galime sudaryti daug indeksų sekų ir visas jas saugoti indeksiniame faile. Kiekviena indeksų seka turi pavadinimą. Jis gali sutapti su lauko vardu. Jeigu indeksų faile yra daugiau negu viena indeksų seka, tai DB rikiuojama pagal aktyvią tuo momentu seką. Tuo pačiu metu gali būti aktyvi ne daugiau kaip viena indeksų seka (atskiru atveju visos sekos gali būti neaktyvios, tuomet DB nerikiuojama). Naudojant indeksinį failą, į DB įrašus kreipiamąsi ne tiesiogiai, bet per indeksus, saugomus aktyvioje indeksinio failo indeksų sekoje. Indeksinio failo naudojimas 8.2 skyriaus 1 pav. pateiktai lentelei iliustruojamas 1 pav. Čia lentelės įrašai rikiuojami lauko „PIRKĖJO KODAS” reikšmių didėjimo tvarka (kai kodai vienodi, atsižvelgiama į jų įvedimo tvarką). Rikiuojant pagal indeksuotą lauką, nereikia atlikinėti daug laiko reikalaujančių DB įrašų kopijavimo, perstatymo operacijų. Pakanka pertvarkyti tik indeksų seką. Indeksų seka sudaroma vieną kartą, o pertvarkoma tik tada, kai koks nors įrašas įterpiamas, modifikuojamas arba pašalinamas. Svarbiausias indeksinio failo naudojimo privalumas tas, kad užtikrinama labai efektyvi duomenų paieška, atranka ir atskiroje lentelėje, ir visoje DB. 1 pav. Indeksinio failo naudojimas 8.8. Paieškos priemonės Paieška yra manipuliavimo duomenimis operacija ar operacijų seka, kurios paskirtis - surasti konkrečius duomenis iš vienos ar kelių DB lentelių. Paieška yra viena svarbiausių manipuliavimo duomenimis operacijų. Daugelio kitų operacijų (įrašų modifikavimo, įterpimo, pašalinimo) neįmanoma atlikti be šios operacijos. Vartotojui labai aktualu atlikti paiešką greitai, patogiai, lanksčiai. Paieškos greitis, galima sakyti, nulemia viso darbo su DB efektyvumą. Paiešką DB galima organizuoti: a) naudojantis grafiniais, vizualiai orientuotais instrumentais, b) rašant instrukcijas specialia kalba. Šiuolaikinės DBVS turi labai tobulas grafines paieškos priemones. Kaip jau minėta, joms priskiriami specialūs grafiniai dizaineriai, meistrai ir meniu sistemos. Šiomis priemonėmis vartotojas gali surasti, atrinkti bet kokius jam reikalingus duomenis iš vienos ar kelių lentelių, taip pat vaizduoti juos norimu formatu. Vartotojui nereikia rašyti sudėtingų komandų, sistema pati „sufleruoja” galimus pasirinkimo variantus, tereikia tik iš jų išsirinkti tinkamą. Antrasis būdas daugiausia naudojamas sudarant taikomąsias programas. Paieškos instrukcijos rašomos konkrečia manipuliavimo duomenimis kalba arba specialia užklausų kalba, iš kurių, kaip minėta, populiariausia yra SQL. Atsižvelgiant į paieškos vykdymo principą, skiriama paieška pagal įrašą ir paieška pagal indeksą. Pirmuoju atveju tikrinami pačios DB bazės įrašai. Jie nagrinėjami pradedant pirmuoju, nuosekliai, t. y. ta tvarka, pagal kurią jie buvo išdėstyti užpildant DB. Antruoju atveju nagrinėjami ne patys įrašai, o nuorodos į tuos įrašus - įrašų indeksai, kurie įtraukiami į indeksinį failą. Pavyzdžiui, lokalizuojant pirmąjį surikiuotos lentelės įrašą, pakanka kreiptis į pradinį indeksą indeksiniame faile (žr. 1 pav.). Antruoju atveju paieška atliekama žymiai greičiau nei pirmuoju, ypač tada, kai pasitelkiami specialūs pagreitintos paieškos algoritmai, pvz., dvejetainio dalijimo algoritmas. Galimos įvairios paieškos formos. Tai - atskirų įrašų (laukų) paieška, įrašų grupių atranka, atranka su rikiavimu ir pan. Nurodymai konkrečių duomenų paieškai paprastai išreiškiami tam tikrais klausimais - užklausomis. Vienas lanksčiausių užklausos pavidalų yra vadinamoji užklausa pagal pavyzdį. Užklausa pagal pavyzdį - tai apibrėžto formato klausimas su vienu ar keliais ieškomų duomenų elementų pavyzdžiais, pagal kuriuos atrenkami įrašai. Klausimas užrašomas kaip loginė išraiška (sąlyga). Sakysim, 8.2 skyriuje 1 pav. pateiktai lentelei galėtų būti suformuota tokia užklausos išraiška: PIRKĖJO KODAS=«3-87022» («3-87022» šioje užklausoje yra duomenų elemento pavyzdys). Užklausos rezultatus matome 1 pav. 1 pav. Užklausos rezultatų pavyzdys Paieškos (užklausos) rezultatai gali būti įvairiai pateikiami. Juos galima išvesti į ekraną (laikinąjį peržiūros langą), naują sukuriamą lentelę, ataskaitą. Paieškos rezultatus galima išvesti ir į vadinamąją virtualiąją lentelę. Virtualioji lentelė skiriasi nuo įprastos DB lentelės tuo, kad ji nėra fiziškai, realiai saugoma išorinėje atmintyje. Tai laikinai pagrindinėje atmintyje saugoma lentelė. Virtualioji lentelė yra išvestinė lentelė, t. y. generuojama iš vienos ar kelių realių, fizinių lentelių laukų kaip atsakymas į pateiktą užklausą. Virtualios lentelės laukų reikšmės gaunamos tiesiog perkeliant jas iš vienos ar kelių fizinių lentelių, tačiau atliekant įvairias operacijas su fizinių lentelių laukų reikšmėmis galima gauti ir išvestines reikšmes. Laukai, sudaryti iš tokių išvestinių reikšmių, vadinami skaičiuojamais (apskaičiuojamais) laukais. Atskirai reikėtų paminėti vadinamąsias kryžmines užklausas. Paprasčiausiu atveju sudarant kryžminę užklausą operuojama su viena lentele - užklausos išeities lentele. Iš pradžių pasirenkamas bazinis laukas, t. y. laukas, kuris bus lauku ir užklausos rezultatų lentelėje. Antrame žingsnyje nurodomas išeities lentelės laukas, pagal kurio reikšmes generuojami rezultatų lentelės skaičiuojami laukai. Trečiame žingsnyje apibrėžiama rezultatų lentelės laukų reikšmių apskaičiavimo taisyklė. Pabrėžtina, kad formuoti kryžmines užklausas tikslinga tik tokioms lentelėms, kuriose yra laukai su ribota diskrečių reikšmių aibe. Filtrai Dažnai tenka operuoti ne su visa DB, o tik su jos dalimi. Tokiais atvejais naudojami filtrai. Filtras leidžia dalį įrašų „paslėpti”. Tokių įrašų negalima peržiūrėti, atlikti su jais kitų operacijų. Operacijos atliekamos su aktyviais įrašais, t. y. su įrašais, kurie nėra „paslėpti”. Atrinkti atskirus įrašus įmanoma ir naudojant duomenų manipuliavimo kalbos instrukcijas. Tačiau instrukcija yra susieta su DB apdorojančia programa, bet ne su pačia DB. Filtras gi yra susietas su DB, galima sakyti, yra savotiška DB savybė. Filtras veikia kiekvieną kartą, kai tik kreipiamasi apdoroti DB. Tai nepriklauso nuo apdorojimo būdo, t. y. nuo to, ar DB apdorojama interaktyviu būdu, ar programiškai. Filtras aprašomas, naudojant loginę išraišką (sąlygą). DB įrašai, kuriems ta sąlyga tenkinama, „praeina pro filtrą” ir dalyvauja apdorojime, likusieji įrašai tampa „nematomais”. Konkretaus filtro pavyzdys galėtų būti filtras UŽSAKYTAS KIEKIS
Šį darbą sudaro 9131 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!