Upload
zareh
View
65
Download
2
Embed Size (px)
DESCRIPTION
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: - PowerPoint PPT Presentation
Citation preview
PODATKOVNE BAZEModul: Uvod v PB©Laboratorij za podatkovne tehnologije
- 1 -
Uvod v podatkovne bazeOsnove
Splošno o podatkovnih bazah Zgodovina shranjevanja podatkov Datotečni sistem in SUPB Opisovanje in shranjevanje podatkov v PB Poizvedovanje v PB Obvladovanje transakcij
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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, Versant Object Database,...
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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]).
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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 SABRE za
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]).
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 7 -
Zgodovina shranjevanja podatkov
80’ leta: Relacijski model si še utrdi položaj kot
SUPB.– Razvije se SQL poizvedovalni jezik (IMB-ov projekt System
R)
– SQL postane 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 12 -
Zgodovina shranjevanja podatkov
Zanimive raziskave povezane z zbiranjem
podatkov:– Human Genome Project
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 13 -
Zgodovina shranjevanja podatkov
Zanimive raziskave povezane z zbiranjem
podatkov:– Projekt GEOSS
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 18 -
Tri-nivojska predstavitev podatkov...
Podatki so v PB opisani na treh ravneh:– Zunanja shema– Konceptualna ali logična shema– Fizična shema
Zunanja shema 1
Zunanja shema 2
Zunanja shema 3
Konceptualnashema
Fizičnashema
DISK
Metapodatki
Fizičnipodatki
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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.
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 20 -
Primer poizvedbe v SQL jeziku
Zanima nas, kateri delavci imajo višjo plačo od 3.500 EUR.
SELECT Priimek, Ime, PlačaFROM DelavecWHERE Plača >3500
DELAVECŠifraIme PriimekPlača…
USE DelavecGO TO 1DO WHIEL NOT EOF IF Plača > 3500 THEN Print (Priimek, Ime, Plača)END WHILE
Deklarativno
Proceduralno
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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č.
BEGIN TRANSACTION
END TRANSACTION
Primer: prenos €100 iz enega na drugi TRR
Dvig €100 iz TRR1 TRR1 = TRR1 – 100 Polog €100 na TRR2 TRR2 = TRR2 + 100
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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...).
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 23 -
Zakaj sočasnost?
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t12
t13
t14
t15
t11
T1 T2
CPU
CPU
CPU
I/O
I/O
I/O
I/O
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
I/O
I/O
CPU
T1 T2
CPU
CPU
CPU
I/O CPU
I/O CPU
I/O CPU
I/O CPU
CPU
CPU
CPU
CPU
I/O
I/O
CPU
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 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 (dirty read): 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.
OSNOVE PB Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije
- 25 -
Primer težav pri zagotavljanju sočasnosti Izgubljene spremembe
T1 dvig $10 iz TRR, na katerem je začetno stanje $100.
T2 depozit $100 na isti TRR.
Po zaporedju T1, T2 končno stanje enako $190.