1 / 55

DUOMENŲ BAZĖS

DUOMENŲ BAZĖS. Telekomunikacijų informacinės technologijos ( 1 dalis). Kas tai yra DUOMENŲ BAZĖ?. Duomenys – realų pasaulį atspindintys skaičiai, faktai, ... Duomenų bazė siaurąja prasme - tai darbui reikalingas duomenų rinkinys.

hetal
Télécharger la présentation

DUOMENŲ BAZĖS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DUOMENŲ BAZĖS Telekomunikacijų informacinės technologijos (1 dalis)

  2. Kas tai yra DUOMENŲ BAZĖ? Duomenys – realų pasaulį atspindintys skaičiai, faktai, ... Duomenų bazė siaurąja prasme - tai darbui reikalingas duomenų rinkinys. Tradicinėje duomenų bazių terminologijoje realaus pasaulio objektai, apie kuriuos informacija laikoma DB, vadinami esybėmis (entities), o juos apibūdinantys požymiai - atributais. Duomenų bazė plačiąja prasme - visuma realaus pasaulio objektų ir jų tarpusavio ryšių aprašų, kurie yra svarbūs konkrečiai taikymo sričiai.  S.Maciulevičius

  3. Kas tai yra DUOMENŲ BAZĖ? Duomenims, saugomiems DB, būdingos šios savybės: • integruotumas; • nepertekliškumas; • nepriklausomumas. Duomenų integruotumasreiškia, kad visi duomenys kaupiami ir saugomi kartu nustačius jų tarpusavio ryšius.  S.Maciulevičius

  4. Kas tai yra DUOMENŲ BAZĖ? Duomenų nepertekliškumas reiškia, jog duomenys saugomi vengiant jų dubliavimo. Kai yra pertekliškumas, t.y. kelios duomenų kopijos, joms veltui eikvojama atmintis, o modifikuojant duomenis tenka kelis kartus naudoti tas pačias atnaujinimo operacijas. Duomenų nepriklausomumas reiškia, kad duomenų apdorojimo programos nesikeičia modifikuojant duomenis.  S.Maciulevičius

  5. DB ir DBVS Jei kokia nors pagalbinė duomenų valdymo sistema leidžia dirbti su keliais susijusiais failais, užtikrindama informacijos suderinamumą, ją galima vadinti DBVS- duomenų bazių valdymo sistema. Čia vien bibliotekinių funkcijų nepakanka: tokia sistema privalo turėti savo papildomą vidinę informaciją (metaduomenis)ir netgi žinias, kurios nusako informacijos suderinamumą.  S.Maciulevičius

  6. Ką užtikrina DBVS? • Galimybę kurti naujas duomenų bazes ir apibrėžti jų schemą (duomenų loginę struktūrą) naudojant specialią kalbą. • Palaiko labai didelę duomenų apimtį (gigabaitus, dešimtis gigabaitų) ilgą laiko periodą, užtikrina jų apsaugą nuo atsitiktinio sugadinimo ar neautorizuotos kreipties, leidžia modifikuoti DB ir prieigą naudojant specialius kreipinius – užklausas. • Leidžia formuoti užklausas naudojant specialią kalbą. • Kontroliuoja vienalaikius kreipinius į DB, užtikrinant jų nepriklausomą vykdymą ir korektišką informacijos pateikimą.  S.Maciulevičius

  7. Informacijos “ištraukimas” Tarkime, norime sužinoti, kiek studentų mokosi toje grupėje, kurioje yra Jonas Petraitis. Kaip tokią informaciją rasti minėtuose failuose? Būtų gerai, kad DBVS leistų formuluotų užklausą kalba, artima natūraliai. SQL tai skamba taip: SELECT gr_vardas, gr_dydis FROM STUDENTAI, STUDGRUP WHERE stud_pav=“Jonas Petraitis” AND stud_gr=gr_vardas  S.Maciulevičius

  8. Informacijos “ištraukimas” Arba norime sužinoti, kurie studentai gauna padidintas stipendijas. Kaip tokią informaciją rasti minėtuose failuose? SQL tai galima formuluoti tokią užklausą: SELECT stud_pav FROM STUDENTAI WHERE stipend =“padid”  S.Maciulevičius

  9. DBVS atsiradimas Pirmosios komercinės DBVS pasirodė šeštojo dešimtmečio pabaigoje. Tai buvo: • aviabilietų rezervavimo sistemos: • bilietų broniravimas pagal pageidavimą, • informacija apie skrydžius, • informacija apie laisvas vietas, bilietų kainas; • bankininkystės sistemos: • informacija apie klientus, • informacija apie sąskaitas, paskolas, • Įmokos, grynųjų išdavimas ; • prekybos apskaitos sistemos: • informacija apie sąskaitas, • informacija apie darbuotojus, • ...  S.Maciulevičius

  10. DBVS vystymasis DBVS vystymesi galima išskirti tris etapus: 1. Pirmosios kartos DBVS pagrindas - duomenų hierarchinis ir tinklinis modeliai; tai buvo tie laikai, kai dominavo didieji kompiuteriai (mainframes).Išorinė sąsaja nebuvo standartizuota, programų pernešamumas - taip pat. 2. Antrosios kartos DBVS pagrindas - duomenų reliacinis modelis ir SQL; modelio lankstumas ir paprastumas patraukė daugumos DB projektuotojų dėmesį. šios DB populiarios ir dabar, tačiau daugelis jų išsivystė į trečiosios kartos DBVS.  S.Maciulevičius

  11. DBVS vystymasis 3. Trečiosios kartos DBVS - sudėtingos daugia-funkcijinės programinės sistemos, funkcionuo-jančios atviroje terpėje; joms būdingas objektiškai orientuotas programavimas, DB paskirstymas, lygiagretus užklausų apdorojimas, daugelio srautų architektūra.  S.Maciulevičius

  12. Hierarchinis duomenų modelis Hierarchiniam duomenų modeliui yra būdingas žemesnio lygmens objektų pavaldumas aukštesniojo lygmens objektams. Vienasįrašas yra pagrindinis, kiti - pavaldūs. Aukštesnio ir žemesnio lygmens objektus sieja ryšys “vienas su daugeliu”. Be įprastinių operatorių, tokiose DB naudojami ir perėjimo iš vieno hierarchijos lygio į kitą operatoriai  S.Maciulevičius

  13. DĖSTYTOJAS Tab.Nr. Pavardė Vardas MODULIS Mod.kodas Pavadinimas STUDENTAS Paž.Nr. Pavardė Vardas Įvertinimas Hierarchinis duomenų modelis Čia įrašas DĖSTYTOJAS yra šakninis, o įrašas MODULIS – pavaldus DĖSTYTOJAS atžvilgiu ir pagrindinis įrašui STUDENTAS  S.Maciulevičius

  14. Hierarchinio modelio privalumai • modelio įsisavinimo (supratimo) paprastumas – vartotojai dažniausiai gerai susipažinę su hierarchinėmis (medžio tipo) duomenų struktūromis • DB charakteristikų, įvertinančių laiko ir atminties sąnaudas, įvertinimo paprastumas dėl iš anksto apibrėžtų ryšių tarp duomenų.  S.Maciulevičius

  15. Hierarchinio modelio trūkumai • Priėjimas prie bet kokio pavaldaus įrašo galimas tik per pagrindinį įrašą, todėl gali išaugti kreipties į žemesniųjų lygių įrašus laikas • Negali būti tiesiogiai realizuojami abipusiai sudėtingi ryšiai (“daugelis su daugeliu”) • Sudėtingos duomenų įvedimo ir šalinimo operacijos, nes modelio objektai griežtai sutvarkyti.  S.Maciulevičius

  16. Tinklinis duomenų modelis Tinkliniuose duomenų modeliuose leidžiama didesnė ryšių tarp įrašų įvairovė. Įrašas gali būti susietas su kitu įrašu nepriklausomai nuo jo lygio. Tinklinių DB pagrindinis sandaros elementas yra rinkinys.Rinkinys sujungia kelių tipų įrašus ir skirtas pastoviems įrašų ryšiams vaizduoti. Tinklinis modelis aprašomas kaip apibrėžtų tipų rinkinių kompozicija.  S.Maciulevičius

  17. DĖSTYTOJAS Tab.Nr. Pavardė Vardas MODULIS R1 Mod.kodas Pavadinimas R2 STUDENTAS Paž.Nr. Pavardė Vardas Įvertinimas Tinklinis duomenų modelis Tą pačią studijų DB galima pavaizduoti taip:  S.Maciulevičius

  18. Tinklinio modelio privalumai ir trūkumai • Tinklinio modelio pagrindinis privalumas – dažnai egzistuojančių realiame pasaulyje ryšių “daugelis su daugeliu” realizacijos paprastumas. • Pagrindinis trūkumas – jo sudėtingumas: vartotojas turi gerai išmanyti loginę DB struktūrą, nes jam reikia atlikti navigaciją tarp įvairių rinkinių ir įrašų egzempliorių.  S.Maciulevičius

  19. Objektinis duomenų modelis • Objektinio modelio DB kuriamos naudojant objektines technologijas. • Šiuose modeliuose naudojami objektai, kuriems būdingi ne tik jų savybes aprašantys atributai, bet ir jiems taikomų veiksmų rinkiniai.  S.Maciulevičius

  20. Objektinis duomenų modelis Objektinio modelio sandaros elementai artimi objektinio programavimo sąvokoms: • objektai – visi duomenys vaizduojami objektais; • klasės – kiekvienas objektas priklauso konkrečiai klasei; • paveldimumas – objektai paveldi savo klasės ir visų aukštesnių klasių savybes; • atributai – tai klasės objektų charakteristikos; • pranešimai – objektai tarpusavyje bendrauja pranešimais;  S.Maciulevičius

  21. Objektinis duomenų modelis • metodai – gavęs pranešimą, objektas imasi atitinkamo metodo, t.y. vidinės programos, kuri realizuoja pranešimo apdorojimą (objekto veiksmų visuma aprašoma metodų aibe); • inkapsuliacija (įslaptinimas) – vidinė objekto sandara ir duomenys yra paslėpti; • informacija apie objekto būseną – ją galima gauti ir šią būseną keisti galima tik atitinkamais metodais; • objektų tapatumo požymiai – jie naudojami atskirti vieniems objektams nuo kitų bei sąryšiuose tarp objektų  S.Maciulevičius

  22. Reliacinis duomenų modelis 1970 m. buvo išleista E.Kodo (Codd E.F.) knyga“A relational model for large shared data banks”, smarkiai pakeitusi duomenų bazes. Kodas pasiūlė duomenis organizuoti lentelių pavidalu, nurodant jų sąryšius. Jau nagrinėjome tokį pavyzdį: stud_kodstud_pav stud_ vardstud_gr kurs stip … grupe gr_dydis specializ gr_kurs stip_sk...  S.Maciulevičius

  23. Reliacinis duomenų modelis Reliacinė duomenų bazė – tai tokia duomenų visuma kurioje informacija saugoma dvimatėse lentelėse. Kiekviena lentelė susideda iš eilučių (dar vadinamų įrašais arba kortežais (record)) ir stulpelių (dar vadinamų laukais arba atributais (field)). Naudosime įvairias šių terminų poras. Eilutėse yra duomenys apie pateiktus lentelėje faktus (dokumentus, žmones, vienu žodžiu, – vieno tipo objektus). Stulpelių ir eilučių susikirtimuose yra konkrečios saugomų lentelėje duomenų reikšmės (laukų reikšmės).  S.Maciulevičius

  24. Reliacinis duomenų modelis Čia naudojamas gana paprastos ir nesunkiai įsisavinamos duomenų tvarkymo operacijos. Modelio pavadinimas kilęs iš anglų kalbos žodžio “relation” – sąsaja. Tai reiškia, kad bet kurias duomenų rinkinių priklausomybes galima apibrėžti lentelėmis aprašomomis sąsajomis. Vartotojai reliacinę duomenų bazę gali įsivaizduoti kaip lentelių sistemą ir iš jose laikomų duomenų paprastomis operacijomis formuoti naujus darinius ir įvairias ataskaitas.  S.Maciulevičius

  25. Reliacinis duomenų modelis  S.Maciulevičius

  26. Reliacinių duomenų bazių lentelės Reliacinėse DB kiekviena lentelė pasižymi tokiomis savybėmis: • Visi įrašai yra vienodai organizuoti, turi tą pačią struktūrą. Visuose įrašuose yra tiek pat laukų, o laukai yra vienarūšiai, t. y. kiekvieno lauko reikšmės yra vieno tipo. Tačiau skirtinguose laukuose gali būti įvairių tipų duomenys; • Lentelėje negali būti tuščių įrašų, taip pat identiškų įrašų, t. y. įrašų su pilnai pasikartojančiais duomenimis, nors atskiri duomenų elementai gali būti tušti arba pasikartojantys; • Įrašų ir laukų išdėstymo tvarka lentelėje nėra svarbi. Atliekant duomenų apdorojimo operacijas lentelės eilutės ir stulpeliai gali būti peržiūrimi bei tvarkomi bet kuria tvarka, nepriklausomai nuo jų informacinio turinio.  S.Maciulevičius

  27. Reliacinis modelis Vystydamas reliacinį modelį, K.Deitas pasiūlė jį sudaryti iš 3 dalių: • duomenų laikymo struktūrų aprašo, • integralumo sąlygų aprašymo, • manipuliavimo priemonių aprašymo. Duomenų laikymo struktūrų aprašuose nurodoma, kaip sąsajomis aprašomi modeliuojamos dalykinės srities objektai, o integralumo sąlygomis nurodoma, kokius apribojimus šie aprašymai turi tenkinti. Manipuliavimo priemonių aprašyme pateikiamos modelio duomenų tvarkymo priemonės.  S.Maciulevičius

  28. Reliacinių duomenų bazių privalumai • Pakanka nedidelio skaičiaus abstrakcijų, kurios leistų palyginus paprastai modeliuoti didžiąją dalykinių sričių dalį ir, būdamos intuityviai paprastos, būtų tiksliai apibrėžtos. • Yra paprastas ir kartu galingas matematinis aparatas, besiremiantis aibių teorija ir matematine logika, užtikrinantis reliacinio požiūrio į DB organizaciją teorinius pagrindus. • Galimybė manipuliuotui duomenimis nenaudojant navigacinių principų ir nežinant duomenų fizinio išdėstymo išorinėje atmintyje ypatumų.  S.Maciulevičius

  29. Reliacinės duomenų bazės Nors teoriniai reliacinių DB pagrindai buvo padėti dar 1970 metais, buvo sukurti pirmieji jų prototipai, kurį laiką buvo manoma, kad tokias DB neįmanoma realizuoti efektyviai. Praėjus pusantro dešimtmečio, sukaupus DB realizacijos metodus ir algoritmus, reliacinės DB praktiškai išstūmė kitų tipų DBVS.  S.Maciulevičius

  30. Reliacinės DB: pagrindinės sąvokos Pagrindinės reliacinių DB sąvokosyra tokios: • duomenų tipai, • domenai, • kortežai, • atributai, • laukai, • įrašai, • pirminis raktas, • sąryšiai arba sąsajos. Grįžkime prie jau matytos lentelės: stud_kod stud_pav stud_vardstud_gr kurs stip  S.Maciulevičius

  31. Sveikieji skaičiai Simbolių eilutės Pinigai Studento kodas Pavardė Vardas Grupė Kursas Stipendija Reliacinės DB: pagrindinės sąvokos Duomenų tipai Domenai Pirminis raktas Atributai Santykis STUDENTAI Kortežai  S.Maciulevičius

  32. Reliacinės DB: duomenų tipai Reliacinių DB modelyje duomenų tipų sąvoka atitinka programavimo kalbose sutinkamą duomenų tipų sąvoką. Paprastai sutinkami duomenų tipai - simbolių eilutės, skaitinės reikšmės (sveikieji, dešimtainiai ir slankaus kablelio skaičiai), bitų eilutės, specialios skaitinės reikšmės (pinigai), specialios laiko reikšmės (data, laikas).  S.Maciulevičius

  33. Reliacinės DB: domenai Domenu laikomas duomenų tipas, kuriam priklauso to domeno elementai. Intuityviai tai reiškia, kad domenas – tai duotojo duomenų tipo reikšmių, kurias gali įgyti domeno elementai, aibė. Pavyzdžiui, domenas “studento kodas” mūsų atveju – tai šešiaženkliai skaičiai – studentų pažymėjimų numeriai.  S.Maciulevičius

  34. Reliacinės DB: domenai Domenas tenkina tokius reikalavimus: • turi unikalų vardą; • sudaromas elementaraus duomenų tipo bazėje; • gali būti apibrėžtos loginės sąlygos, kurias privalo tenkinti visos jo reikšmės; • turi tam tikra su modeliuojama dalykine sritimi susijusią prasmę.  S.Maciulevičius

  35. Reliacinės DB: DB schema, kortežai Domenų bazės schema laikoma aibė porų “atributo vardas” – “duomenų tipas” (domenas). Kortežu vadinama aibė porų “atributo vardas” – “reikšmė” . Atributu laikoma viena objekto savybė (pvz., studento pavardė) arba kelių savybių (pvz., studento vardas ir pavardė) aprašymo struktūra.  S.Maciulevičius

  36. Reliacinės DB: sąsajos Pagrindinė reliacinių modelių duomenų aprašymo priemonė yra sąsaja. Domenų D1, D2, ..., Dn bazėje sąsają apibrėžia antraštė ir duomenys. Antraštė – tai griežtai fiksuota atributų Ai (i=1,2,…,n) aibė, kurioje kiekvieno atributo reikšmes apibrėžia jo domenasDi: (< A1:D1>, <A2:D2>, <An:Dn>). Visi atributų aibės elementai privalo būti skirtingi.  S.Maciulevičius

  37. Reliacinės DB: sąsajos Kortežų aprašymo sintaksė yra tokia: (< A1:V1>, <A2:V2>, <An:Vn>). Čia Vi žymi atributo Ai reikšmę, priklausančią domenui Di.  S.Maciulevičius

  38. Reliacinės DB: sąsajos Sąsajos sudėtingumą apibūdina jos laipsnis ir galia. Sąsajos laipsniu vadinamas sąsajos antraštę sudarančių atributų skaičius. Sąsajos galia vadinamas sąsajos kortežų skaičius. Reliacinių modelių sąsajose unikalios gali būti ne tik kortežų, bet ir atskirų atributų arba jų grupių reikšmės.  S.Maciulevičius

  39. Reliacinės DB: raktai Tokie atributai arba jų grupės vadinami raktais. Raktus patogu naudoti kortežams atskirti (identifikuoti). Atributų poaibis K vadinamas sąsajos potencialiu raktu, kai jam būdingos tokios savybės: • sąsajoje nėra nei vienos kortežų poros su vienodomis poaibio K reikšmėmis (unikalumo reikalavimas), • poaibyje K negalima išskirti kito poaibio, kuris tenkintų unikalumo reikalavimą (nepertekliškumo reikalavimas). Kiekviena sąsaja visuomet turi bent vieną potencialų raktą. Iš vieno atributo sudarytas raktas vadinamas paprastu arba elementariu, jei raktą sudaro keli atributai – sudėtiniu.  S.Maciulevičius

  40. Reliaciniųmodelių ir lentelių atitikmenys  S.Maciulevičius

  41. Reliacinės algebros pagrindai Reliacinėje algebroje apibrėžti sąsajoms taikomi operatoriai, kurių rezultatai taip pat yra sąsajos. Jie skirstomi į dvi grupes, kurios skirtos tokiems tikslams: • aibėms taikomiems veiksmams aprašyti (sujungimui, sankirtai, skirtumui, Dekarto sandaugai), • specialiems sąsajų tvarkymo veiksmams aprašyti (atrinkimui, projekcijai, sujungimui, dalybai). Kai kurie operatoriai (pavyzdžiui, sujungimo) reikalauja argumentų sąsajų suderinamumo. Sąsajos suderinamos, kai būna vienodos jų antraštės.  S.Maciulevičius

  42. Reliacinės algebros pagrindai Tarkime, turime dvi tokias sąsajas: Sąsaja A: Sąsaja B:  S.Maciulevičius

  43. Reliacinės algebros pagrindai Tuomet sąsajų A ir B sujungimas (A UNION B) gaunamas paimant abiejų sąsajų kortežus: Sujungimo rezultate negali būti pasikartojančių kortežų, o sąsajos turi būti suderinamos (jų antraštės vienodos).  S.Maciulevičius

  44. Reliacinės algebros pagrindai Sąsajų A ir B sankirta (A INTERSECT B) gaunama paimant abiejų sąsajų bendrus kortežus:  S.Maciulevičius

  45. Reliacinės algebros pagrindai Sąsajų A ir B skirtumu (A MINUS B) vadinama su argumentais suderinama sąsaja, kurios duomenų dalyje yra tik tie sąsajos A kortežai, kurių nėra atėminyje B:  S.Maciulevičius

  46. Reliacinės algebros pagrindai Imkime dar vieną sąsaja C:  S.Maciulevičius

  47. Reliacinės algebros pagrindai Tuomet sąsajų A ir C Dekarto sandauga (A TIMES C) duoda naują sąsają, kurios antraštę sudaro sąsajų A ir C antraščių junginys, o kortežus sudaro A ir C kortežų kombinacijos:  S.Maciulevičius

  48. Kitos reliacinės algebros operacijos Apribojimo pagal duotąją sąlygą operacija duoda sąsają, į kurią įeina tik tie kortežai, kurie tenkina duotąją sąlygą. Vykdant projekcijos į duotąjį argumentų rinkinį operaciją gaunama sąsaja, kurios kortežus sudaro sąsajos-operando kortežų dalys, paimtos iš nurodytų stulpelių. Sujungiant dvi sąsajas pagal duotąją sąlygą gaunama sąsaja, kurios kortežai gaunami sukabinus abiejų sąsajų kortežus, kurie tenkina duotąją sąlygą.  S.Maciulevičius

  49. Duomenų bazės valdymo sistema Svarbiausios DBVS funkcijos yra šios: • DB struktūros projektavimas; • DB pildymas, kaupimas, redagavimas; • navigacija DB; • duomenų peržiūra, paieška, rikiavimas ir kitas tvarkymas; • taikomųjų vartotojo programų kūrimas; • ataskaitų kūrimas.  S.Maciulevičius

  50. Pagrindinės DBVS funkcijos 1. Betarpiškas išorinėje atmintyje saugomos informacijos valdymas: • būtinos struktūros pačių DB duomenų saugojimui; • specialios priemonės darbui pagreitinti (indeksavimas); • turimų failų sistemų galimybių panaudojimas; • išorinės atminties valdymas įrenginių lygiu. 2. Pagrindinės informacijos buferių valdymas: • DB duomenų buferizavimo pagrindinėje atmintyje svarba; • visos DB buferizavimas.  S.Maciulevičius

More Related