25
PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije - 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

Uvod v podatkovne baze Osnove

  • Upload
    zareh

  • View
    59

  • 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

Page 1: Uvod  v  podatkovne baze Osnove

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

Page 2: Uvod  v  podatkovne baze Osnove

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.

Page 3: Uvod  v  podatkovne baze Osnove

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,...

Page 4: Uvod  v  podatkovne baze Osnove

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]).

Page 5: Uvod  v  podatkovne baze Osnove

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]).

Page 6: Uvod  v  podatkovne baze Osnove

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.

Page 7: Uvod  v  podatkovne baze Osnove

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.

Page 8: Uvod  v  podatkovne baze Osnove

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.

Page 9: Uvod  v  podatkovne baze Osnove

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.

Page 10: Uvod  v  podatkovne baze Osnove

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.

Page 11: Uvod  v  podatkovne baze Osnove

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

Page 12: Uvod  v  podatkovne baze Osnove

PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije

- 12 -

Zgodovina shranjevanja podatkov

Zanimive raziskave povezane z zbiranjem

podatkov:– Human Genome Project

Page 13: Uvod  v  podatkovne baze Osnove

PODATKOVNE BAZE Modul: Uvod v PB ©Laboratorij za podatkovne tehnologije

- 13 -

Zgodovina shranjevanja podatkov

Zanimive raziskave povezane z zbiranjem

podatkov:– Projekt GEOSS

Page 14: Uvod  v  podatkovne baze Osnove

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

Page 15: Uvod  v  podatkovne baze Osnove

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.

Page 16: Uvod  v  podatkovne baze Osnove

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.

Page 17: Uvod  v  podatkovne baze Osnove

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.

Page 18: Uvod  v  podatkovne baze Osnove

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

Page 19: Uvod  v  podatkovne baze Osnove

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.

Page 20: Uvod  v  podatkovne baze Osnove

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

Page 21: Uvod  v  podatkovne baze Osnove

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

Page 22: Uvod  v  podatkovne baze Osnove

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...).

Page 23: Uvod  v  podatkovne baze Osnove

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

Page 24: Uvod  v  podatkovne baze Osnove

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.

Page 25: Uvod  v  podatkovne baze Osnove

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.