1 / 25

Uvod v podatkovne baze Osnove

Uvod v podatkovne baze Osnove. Splošno o podatkovnih bazah Zgodovina shranjevanja podatkov Datotečni sistem in SUPB Opisovanje in shranjevanje podatkov v PB Poizvedovanje v PB Obvladovanje transakcij. Splošno o podatkovnih bazah (PB). Stanje danes:

zareh
Download Presentation

Uvod v podatkovne baze Osnove

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. Uvod v podatkovne baze Osnove • Splošno o podatkovnih bazah • Zgodovina shranjevanja podatkov • Datotečni sistem in SUPB • Opisovanje in shranjevanje podatkov v PB • Poizvedovanje v PB • Obvladovanje transakcij - 1 -

  2. Splošno o podatkovnih bazah (PB) • Stanje danes: • Organizacije odvisne od zmožnosti pridobivanja natančnih in pravočasnih podatkov... • Podatki predstavljajo konkurenčno prednost. • Brez zmožnosti za upravljanje z velikimi količinami podatkov in zmožnosti za hitro iskanje ustreznih podatkov postanejo podatki breme za organizacijo. • Paradoks: zaradi preveč informacij potrebujemo še več informacij • Potrebujemo ustrezne mehanizme za upravljanje s podatki in učinkovito iskanje po njih podatkovne baze. - 2 -

  3. Sistemi za upravljanje s PB • Sistem za upravljanje s podatkovno bazo – SUPB je programska oprema za obvladovanje velikih količin podatkov. • Alternativa – shranjevanje v aplikaciji lastni obliki; problemi: neprenosljivost idr. • Obstaja veliko vrst SUPB • Relacijski, objektni, XML,… • Primeri SUPB: Oracle, Sybase, DB2, MS SQL, Ingres, Postgres, MySQL, ObjectStore, Jasmine, Objectivity/DB, VersantObjectDatabase,... - 3 -

  4. Zgodovina shranjevanja podatkov • Zgodnja 60’: Charles Bachman iz General Electric-a razvije prvi splošno-namenski SUPB (Integrated Data Store). • Predstavlja osnovo za mrežni podatkovni model, ki je predlagan za standard na konferenci za jezike podatkovnih sistemov (CODASYL). • Za mrežni podatkovni model Bachman prejme Turingovo nagrado (ACM Turing Award- na področju računalniških znanosti ekvivalent Nobelove nagrade) • Ima velik vpliv na razvoj SUPB-jev v 60’ letih. (glej [4,159]). - 4 -

  5. Zgodovina shranjevanja podatkov • Pozna 60’: IBM razvije Information Management System(IMS), ki se ponekod uporablja še danes. • Predstavlja osnovo za hierarhični podatkovni model. • American Airlines in IBM razvijeta sistem SABREza rezervacije letalskih kart – sistem omogoča več uporabnikom dostop do skupnih podatkov preko mreže. • Zanimivost: isti SABRE se še danes uporablja za spletna potovalna agencija Travelocity. (glej [4,181]). - 5 -

  6. Zgodovina shranjevanja podatkov • 70’ leta: Edgar Codd predlaga relacijski podatkovni mode (IBM). • Razvije se mnogo relacijskih SUPB. • Podatkovne baze postanejo akademsko področje. Razvije se izjemno močna teoretična podlaga. • Codd dobi Turingovo nagrado za svoje delo. • Relacijske Podatkovne baze postanejo standard za upravljanje s podatki v organizacijskih sistemih. - 6 -

  7. Zgodovina shranjevanja podatkov • 80’ leta: Relacijski model si še utrdi položaj kot SUPB. • Razvije se SQL poizvedovalni jezik (IMB-ov projektSystem R) • SQLpostane standardni jezik za izvajanje poizvedb v relacijski PB. • SQL je bil standardiziran v poznih 80’ – SQL-92. • Standard prevzamejo American National Standard Institute (ANSI) in International Standards Organization (ISO). • Skrb za sočasen dostop do podatkov prevzame SUPB. Programerji programirajo, kot bi do podatkov dostopali samo oni. James Grey dobi za dosežke na tem področju Turingovo nagrado. - 7 -

  8. Zgodovina shranjevanja podatkov • Pozna 80’ in 90’: veliko napredka na področju PB. • Veliko raziskav se opravi na področju poizvedovalnih jezikov in bogatejših (razširjenih) podatkovnih modelov. • Velik poudarek na kompleksnih analizah podatkov iz vseh področij organizacijskih sistemov. • Veliko proizvajalcev SUPB-jev (IBM – DB2, Oracle 8, Informix UDS) razširi svoje sisteme s podporo novim podatkovnim tipom: slike, tekst in s podporo kompleksnejšim poizvedbam. - 8 -

  9. Zgodovina shranjevanja podatkov • Pozna 80’ in 90’: nadaljevanje • Pojavijo se podatkovna skladišča, ki združujejo podatke iz več PB in omogočajo izvajanje specializiranih analiz (iskanje zakonitosti v podatkih). • Pojavijo se ERP (enterprise resource planning) in MRP (management resource planning) paketi • Podpirajo skupne funkcije v poslovnih sistemih (npr. skladiščno poslovanje, planiranje človeških virov, finančne analize,...). • Predstavljajo obsežno aplikacijsko plast nad skupno PB. • Primeri: Baan, Oracle, PeopleSoft, SAP in Siebel. - 9 -

  10. Zgodovina shranjevanja podatkov • Naslednja stopnja: vstop SUPB v svet Interneta • Prva generacija spletnih mest shranjuje podatke v datotekah OS. Uporaba PB za shranjevanje podatkov, ki so dostopni preko Interneta, postaja vsakdanja. • Poizvedbe se generira preko spletnih form, odgovore pa se nazaj posreduje v obliki jezika HTML, za lažji prikaz v spletnem brskalniku. • Vsi proizvajalci dodajajo svojim SUPB-jem možnosti za čim lažjo uporabo v spletu. - 10 -

  11. Zgodovina shranjevanja podatkov • Najnovejša področja: • Multimedijske PB, • PB za interaktivni video, • Digitalne knjižnice, • Odločitveni sistemi, vrtanje po podatkih, odkrivanje zakonitosti • NoSQL - 11 -

  12. Zgodovina shranjevanja podatkov • Zanimive raziskave povezane z zbiranjem podatkov: • Human Genome Project - 12 -

  13. Zgodovina shranjevanja podatkov • Zanimive raziskave povezane z zbiranjem podatkov: • Projekt GEOSS - 13 -

  14. Velikost spleta • Število spletnih strani neskončno • 1998: Google indeksira 26 milijonov(26.000.000) URL-jev • 2008: Google indeksira tisoč milijard(1.000.000.000.000) URL-jev - 14 -

  15. Datotečni sistemi in SUPB… • Zaradi neučinkovitosti shranjevanja podatkov neposredno v datoteke, se pojavijo Sistemi za upravljanje s podatkovnimi bazami – SUPB. • Definicija: SUPB je skupek programske opreme, ki omogoča kreiranje, vzdrževanje in nadzor nad dostopom do podatkov v PB. - 15 -

  16. Datotečni sistemi in SUPB… • Uporaba SUPB prinaša naslednje prednosti: • Podatkovna neodvisnost: Programi so neodvisni od predstavitve podatkov in načina shranjevanja podatkov. SUPB zagotavlja abstrakcijo podatkov in ločuje programe od podrobnosti predstavitve podatkov. • Učinkovit dostop do podatkov: SUPB zagotavlja tehnike za učinkovito hranjenje in dostop do podatkov. • Varnost in integriteta podatkov: Če se do podatkov dostopa preko SUPB, se lahko uporabi omejitve, ki zagotavljajo skladnost podatkov. - 16 -

  17. Datotečni sistemi in SUPB… • Prednosti uporabe SUPB (nadaljevanje): • Administracija podatkov: Če so podatki shranjeni centralno, je upravljanje s podatki lažje. • Sočasen dostop do podatkov in obnavljanje PB: SUPB razporeja sočasne dostope tako, da izgleda, kot da do podatkov dostopa en uporabnik. • Skrajša čas razvoja programov: SUPB podpira številne mehanizme za dostop do podatkov. - 17 -

  18. Zunanja shema 1 Zunanja shema 2 Zunanja shema 3 Konceptualna shema Metapodatki Fizična shema DISK Fizični podatki Tri-nivojska predstavitev podatkov... • Podatki so v PB opisani na treh ravneh: • Zunanja shema • Konceptualna ali logična shema • Fizična shema - 18 -

  19. Poizvedovanje v PB... • Enostavnost pridobivanja informacij iz PB je ključna prednost SUPB za uporabnike. • Relacijske PB omogočajo uporabnikom postavljati enostavna vprašanja (poizvedbe), s katerimi pridobivajo podatke/informacije. • Poizvedbe se podaja v jeziku, ki je prirejen za opisovanje poizvedb – poizvedovalni jezik. • Relacijski model podpira zelo močne poizvedovalne jezike • Ena pomembnih nalog SUPB je optimizacija poizvedb, tako da se te čim hitreje izvedejo. - 19 -

  20. Primer poizvedbe v SQL jeziku • Zanima nas, kateri delavci imajo višjo plačo od 3.500 EUR. USE Delavec GO TO 1 DO WHIEL NOT EOF IF Plača > 3500 THENPrint (Priimek, Ime, Plača) END WHILE DELAVEC Šifra Ime Priimek Plača … Proceduralno SELECT Priimek, Ime, Plača FROM Delavec WHERE Plača >3500 Deklarativno - 20 -

  21. Upravljanje s transakcijami • Transakcija predstavlja skupek ažuriranj, ki jih izvede transakcijski program. • Z vidika SUPB predstavlja transakcija osnovno enoto spremembe  transakcija se mora izvesti cela ali nič. Primer: prenos €100 iz enega na drugi TRR Dvig €100 iz TRR1 TRR1 = TRR1 – 100 Polog €100 na TRR2 TRR2 = TRR2 + 100 BEGIN TRANSACTION END TRANSACTION - 21 -

  22. Upravljanje s transakcijami • Dve pomembni nalogi SUPB pri izvajanju transakcij: • Zagotavljanje sočasnosti pri izvajanju transakcij in • Obnavljanje PB po transakcijskih in sistemskih nesrečah (razveljavljanje, ponavljanje transakcij...). - 22 -

  23. T1 T2 t1 t2 t3 t4 I/O CPU t5 I/O CPU t6 I/O CPU t7 I/O CPU t8 t9 t10 t11 t12 t13 t14 t15 Zakaj sočasnost? CPU T1 T2 CPU CPU CPU CPU CPU CPU CPU CPU I/O CPU I/O CPU I/O CPU CPU I/O I/O CPU CPU I/O CPU CPU CPU CPU I/O I/O CPU - 23 -

  24. Upravljanje s transakcijami - problemi • V centraliziranem SUPB zaradi sočasnosti dostopa različni problemi: • Izgubljene spremembe: uspešno izveden UPDATE se razveljavi zaradi istočasno izvajane operacije s strani drugega uporabnika. • Uporaba nepotrjenih podatkov (dirtyread): transakciji je dovoljen vpogled v podatke druge transakcije, še preden je ta potrjena. • Neskladnost analize: transakcija prebere več vrednosti iz podatkovne baze. Nekatere izmed njih se v času izvajanja prve transakcije zaradi drugih transakcij spremenijo. - 24 -

  25. Primer težav pri zagotavljanju sočasnosti • Izgubljene spremembe • T1dvig $10 iz TRR, na katerem je začetno stanje $100. • T2depozit $100 na isti TRR. • Po zaporedju T1, T2 končno stanje enako $190. - 25 -

More Related