48
Uvod u relacione baze podataka Nenad Miti´ c Matematiˇ cki fakultet [email protected]

Uvod u relacione baze podataka - poincare.matf.bg.ac.rspoincare.matf.bg.ac.rs/~nenad/rbp/3.Uvod_u_relacione_baze.pdf · Uvod u relacione baze podataka Neformalni pogled na relacioni

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Uvod u relacione bazepodataka

Nenad MiticMatematicki fakultet

[email protected]

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.2

Neformalni pogled na relacioni model

• Teorijska osnova relacioni model podataka.[Codd 1970g.]

• Intuitivno, relacioni model

• predstavlja jedan nacin gledanja napodatke

• sadrži pravila za predstavljanje podataka(preko tabela) i pravila za rad sa timpodacima (izdvajanje, spajanje, ....)

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.3

Aspekti relacionog modela

• Aspekt strukture: svi podaci u bazi se korisnikuprikazuju iskljucivo u obliku tabela

• Aspekt integriteta: tabele zadovoljavajuizvesna ogranicenja (primarni i spoljašnjikljucevi, ...)

• Aspekt obrade: operatori koji su naraspolaganju korisnicima za obradu tabela sutakvi da izvode tabele iz tabela.

1 relacioni racun2 relaciona algebra

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.4

Primer relacione baze

Baza studenata, predmeta i ispita - sadržajtabele dosijea

Indeks Ime Prezime Datum_upisa Datum_rodenja Mesto_rodenja20140021 Milos Peric 06.07.2014 20.01.1995 Beograd20140022 Marijana Savkovic 05.07.2014 11.03.1995 Kraljevo20130023 Sanja Terzic 04.07.2013 09.11.1994 Beograd20130024 Nikola Vukovic 04.07.2013 17.09.199420140025 Marijana Savkovic 06.07.2014 04.02.1995 Kraljevo20140026 Zorica Miladinovic 06.07.2014 08.10.1995 Vranje20130027 Milena Stankovic

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.5

Primer relacione baze

Baza studenata, predmeta i ispita - sadržaj(dela) tabele ispita

Indeks Id_predmeta Godina_roka Oznaka_roka Ocena Datum_ispita Bodovi20140021 1001 2015 jan 9 20.01.2015 8120140022 1001 2015 jan 8 20.01.2015 7520130023 1001 2015 jan 8 20.01.2015 7620130024 1001 2015 jan 10 20.01.2015 10020140025 1001 2015 jan 6 20.01.2015 5520140026 1001 2015 jan 5 20.01.2015 2520130027 1001 2015 jan 8 20.01.2015 7620140021 2001 2015 jan 10 25.01.2015 9820140022 2001 2015 jan 9 25.01.2015 8620140025 2001 2015 jan 5 25.01.2015 020140021 3001 2015 jan 7 27.01.2015 6720130023 3001 2015 jan 5 27.01.2015 3020140026 1001 2015 feb 7 10.02.2015 6820140025 2001 2015 feb 6 10.02.2015 5520140026 2001 2015 feb 7 10.02.2015 6520140021 1021 2015 apr 7 03.04.2015 6320130023 1021 2015 apr 10 03.04.2015 9520140022 1021 2015 apr 5 03.04.201520130024 1021 2015 apr 620140026 1021 2015 jan 7

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.6

Primer relacionih operatora - restrikcija

Restrikcija (selekcija) izdvaja pojedinacne redoveiz tabele DOSIJE WHEREDatum_rodenja>’28.02.1995’

Indeks Ime Prezime Datum_rodenja Mesto_rodenja Datum_upisa20140022 Marijana Savkovic 11.03.1995 Kraljevo 05.07.201420140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.7

Primer relacionih operatora - projekcija

Projekcija izdvaja pojedinacne slogove iz tabeleDOSIJE over Indeks, Ime, Prezime

Indeks Ime Prezime20140021 Milos Peric20140022 Marijana Savkovic20130023 Sanja Terzic20130024 Nikola Vukovic20140025 Marijana Savkovic20140026 Zorica Miladinovic20130027 Milena Stankovic

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.8

Primer relacionih operatora - spajanje

Spajanje kombinuje dve tabele na osnovu zajednickih vrednosti u zajednickoj

koloni (u primeru je prikazano prirodno spajanje, deo rezultujuce tabele)

DOSIJE AND ISPIT OVER Indeks

Inde

ks

Ime

Pre

zim

e

Dat

um_r

oden

ja

Mes

to_r

oden

ja

Dat

um_u

pisa

Id_p

redm

eta

God

ina_

roka

Ozn

aka_

roka

Oce

na

Dat

um_i

spita

Bod

ovi

20140021 Milos Peric 20.01.1995 Beograd 06.07.2014 1001 2015 jan 9 20.01.2015 8120140022 Marijana Savkovic 11.03.1995 Kraljevo 05.07.2014 1001 2015 jan 8 20.01.2015 7520130023 Sanja Terzic 09.11.1994 Beograd 04.07.2013 1001 2015 jan 8 20.01.2015 7620130024 Nikola Vukovic 17.09.1994 04.07.2013 1001 2015 jan 10 20.01.2015 10020140025 Marijana Savkovic 04.02.1995 Kraljevo 06.07.2014 1001 2015 jan 6 20.01.2015 5520140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014 1001 2015 jan 5 20.01.2015 2520130027 Milena Stankovic 1001 2015 jan 8 20.01.2015 7620140021 Milos Peric 20.01.1995 Beograd 06.07.2014 2001 2015 jan 10 25.01.2015 9820140022 Marijana Savkovic 11.03.1995 Kraljevo 05.07.2014 2001 2015 jan 9 25.01.2015 8620130023 Sanja Terzic 09.11.1994 Beograd 04.07.2013 2001 2015 jan 8 25.01.2015 7220130024 Nikola Vukovic 17.09.1994 04.07.2013 2001 2015 jan 7 25.01.2015 6320140025 Marijana Savkovic 04.02.1995 Kraljevo 06.07.2014 2001 2015 jan 5 25.01.2015 020140021 Milos Peric 20.01.1995 Beograd 06.07.2014 3001 2015 jan 7 27.01.2015 6720130023 Sanja Terzic 09.11.1994 Beograd 04.07.2013 3001 2015 jan 5 27.01.2015 3020130024 Nikola Vukovic 17.09.1994 04.07.2013 3001 2015 jan 6 28.01.2015 5920140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014 3001 2015 jan 6 28.01.2015 5220140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014 1001 2015 feb 7 10.02.2015 6820140025 Marijana Savkovic 04.02.1995 Kraljevo 06.07.2014 2001 2015 feb 6 10.02.2015 5520140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014 2001 2015 feb 7 10.02.2015 6520140021 Milos Peric 20.01.1995 Beograd 06.07.2014 1021 2015 apr 7 03.04.2015 6320130023 Sanja Terzic 09.11.1994 Beograd 04.07.2013 1021 2015 apr 10 03.04.2015 9520140022 Marijana Savkovic 11.03.1995 Kraljevo 05.07.2014 1021 2015 apr 5 03.04.201520130024 Nikola Vukovic 17.09.1994 04.07.2013 1021 2015 apr 620140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014 1021 2015 jan 720140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014 1021 2015 feb 7

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.9

Primer relacionih operatora - spajanje

Kod spajanja se u rezultujucoj tabeli• zajednicke vrednosti javljaju samo

jednom u redu• javljaju sve kombinacije uparenih

vrednosti (npr. 20140021 vrednost zaIndeks)

• ne javljaju se redovi sa vrednostimakoje se ne nalaze u obe tabele kojeucestvuju u spajanju

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.10

Karakteristike relacione baze

• Relacioni sistemi zahtevaju samo dase baza prikaže korisniku u oblikutabele (nacin smeštanja i cuvanja namedijumima nije specificiran)

• Informacioni princip: Celokupaninformacioni kontekst baze se prikazujena tacno jedan nacin kao eksplicitnevrednosti u pozicijama vrsta i kolonatabele

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.11

Karakteristike relacione baze - nastavak

Posledica Informacionog principa: nemapokazivaca koji medjusobno povezujutabele• pokazivaci mogu da postoje na

fizickom nivou• razlika u odnosu na nerelacione

modele gde su pokazivaci deostruktura koje se prikazuju korisnicima ikoje korisnik koristi u obradi

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.12

Efekat relacionih operatora

• Rezultat primene svakog od operatoraje tabela - osobina zatvorenjarelacionih sistema

• Rezultat primene operatora je istog tipakao i njegov argument =⇒ mogu da sepišu ugneždeni relacioni izrazi

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.13

Efekat relacionih operatora

• Sve operacije ce primenjuju na ceoskup istovremeno a ne samo napojedinacni red

• Rezultat operacije nije nikadapojedinacni red vec je uvek kompletnatabela koja sadrži skup redova

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.14

Formalni pogled na relacioni model

Relacioni model se sastoji od:• Otvorenog skupa skalarnih tipova (koji ukljucuje i tip

logickih vrednosti boolean)

• Generatora relacionih tipova i njihove odgovarajuceinterpretacije

• Mogucnosti definisanja relacionih promenljivih zagenerisane relacione tipove

• Operacije relacione dodele kojom se dodeljujurelacione vrednosti definisanim relacionim promenljivim

• Otvorenog skupa opštih relacionih operatora("relaciona algebra") za izvodjenje relacionih vrednosti izdrugih relacionih vrednosti

1 −→Relaciona algebra i relacioni racun2 −→Dodatni operatori relacione algebre

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.15

Terminologija

Codd je pri formulisanju principa relacionih bazauveo novu terminologiju koja se razlikovala odneodredjene terminologije tog vremena

Termin ZnacenjeRelacija matematicki termin za tabeluTorka red u tabeliAtribut kolona u tabeliKardinalnost broj torkiStepen broj atributaPrimarni kljuc atribut ili kombinacija atributa koja jedin-

stveno identifikuje tabeluDomen skup važecih vrednosti (tipova)

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.16

Terminologija

Indeks Ime Prezime Datum_rodenja Mesto_rodenja Datum_upisa20140021 Milos Peric 20.01.1995 Beograd 06.07.201420140022 Marijana Savkovic 11.03.1995 Kraljevo 05.07.201420130023 Sanja Terzic 09.11.1994 Beograd 04.07.201320130024 Nikola Vukovic 17.09.1994 04.07.201320140025 Marijana Savkovic 04.02.1995 Kraljevo 06.07.201420140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.201420130027 Milena Stankovic

Relacija je kompletna tabela (ime relacije DOSIJE)Torka je svaki red u tabeliAtributi tabele su Indeks,Ime,Prezime,Datum_rodenja,Mesto_rodenja,Datum_upisa

Kardinalnost tabele je 7 (tabela poseduje 7 torki)Stepen tabele je 6 (tabela ima 6 atributa)Primarni kljuc tabele je IndeksDomeni u tabeli su skup mogucih brojeva indeksa (INDEKS),

skup mogucih imena (IME), ...

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.17

Relacije i relacione promenljive

1 U definiciji baze studenata, predmeta iispita, DOSIJE i ISPIT su relacionepromenljive, odnosno promenljive cijesu vrednosti relacione vrednosti

2 Npr. neka DOSIJE ima tekucu vrednostiz koje treba da se izbriše red zastudenta sa brojem indeksa 20100027:

DELETE DOSIJE WHERE Indeks =Indeks(20100027);

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.18

Relacije i relacione promenljive

Stara vrednost relacione promenljive DOSIJE jezamenjena novom relacionom vrednošcu

Indeks Ime Prezime Datum_rodenja Mesto_rodenja Datum_upisa20140021 Milos Peric 20.01.1995 Beograd 06.07.201420140022 Marijana Savkovic 11.03.1995 Kraljevo 05.07.201420130023 Sanja Terzic 09.11.1994 Beograd 04.07.201320130024 Nikola Vukovic 17.09.1994 04.07.201320140025 Marijana Savkovic 04.02.1995 Kraljevo 06.07.201420140026 Zorica Miladinovic 08.10.1995 Vranje 06.07.2014

Operator brisanja je skracenica za relacioni operatordodeleDOSIJE := DOSIJE WHERE NOT (Indeks = Indeks(20130027));

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.19

Relacije i relacione promenljive

1 Terminologija• relvar = relaciona promenljiva• relacija = specificna relaciona vrednost

2 Skup otvorenih ... tipova znaci dakorisnik može da definiše svojesopstvene tipove

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.20

Optimizacija

1 Relacioni jezici su neproceduralni2 Za relacioni sistem cesto se kaze da

vrši automatsku ’navigaciju’ (nadsacuvanim podacima)

3 U nerelacionim sistemima korisnik jeodgovoran za ’navigaciju’

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.21

Automatska u odnosu na rucnu navigaciju

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.22

Optimizacija (nastavak)

Npr. za upit

(DOSIJE WHERE Indeks = Indeks(20100027) {Ime}

Rezultat se dobija

1 restrikcijom tekuce vrednost relvar-a DOSIJEna redove sa u kojima je broj indeksa jednak20100027

2 projekcijom dobijenih vrednosti na kolonu Ime

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.23

Optimizacija (nastavak)

Postoje bar dva nacina pristupa obrade ovog upita:

1 vršenjem fizickog skeniranja (sacuvanevrednosti) relvar-a DOSIJE dok se ne nadetraženi podatak

2 ako postoji indeks nad (sacuvanom verzijom)kolone Indeks (a obicno postoji jer je Indeksprimarni kljuc) tada se on koristi za direktanpristup traženim podacima

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.24

Optimizacija (nastavak)

Odluka kako vršiti automatsku navigaciju spada udomen komponente SUBP nazvane optimizator. Uopštem slucaju optimizator odredjuje strategiju naosnovu razmatranja:

• koji relvari-i su referencirani u zahtevu i kolikosu oni veliki

• koji indeksi postoje

• kako su podaci fizicki smešteni na disku

• ....

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.25

Katalog

• Katalog (’recnik’) se i sam sastoji od relvar-a=⇒ katalogu se pristupa na isti nacin kao idrugim relacionim promenljivim

• Informacije o samom katalogu se nalaze urelvar-ima iz kataloga

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.26

Osnovni relvar-i i pogledi

• Originalni relvar-i = osnovni relvar-i

• Njihove vrednosti = osnovne relacije

• Izvedene relacije = relacije koje nisu osnovneali mogu da se dobiju iz osnovnih putemrelacionih izraza

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.27

Osnovni relvar-i i pogledi (nastavak)

• Osnovni relvar-i moraju da imaju ime

• Relacione baze imaju mehanizam zaformiranje osnovnih relvar-a

• U SQL-u su osnovni relvar-i tabele. Njihovoformiranje se vrši naredbom

CREATE TABLE <ime_osnovnog_relvara> ...

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.28

Osnovni relvar-i i pogledi (nastavak)

• Relacioni sistemi podržavaju i imenovanerelvar-e koji su izvedene relacije - poglede

• Vrednost pogleda je (trenutni) rezultatizvršavanja odredjenog relacionog izraza kojise navodi pri formiranju pogleda

CREATE VIEW Studenti_iz_Kraljeva AS(DOSIJE WHERE Mesto_rodjenja=’Kraljevo’) {Indeks, Ime, Prezime}

Studenti_iz_KraljevaIndeks Ime Prezime20140022 Marijana Savkovic20140025 Marijana Savkovic

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.29

Osnovni relvar-i i pogledi (nastavak)

Nad pogledima mogu da se vrše operacije kao nadosnovnim tabelama(Studenti_iz_Kraljeva WHERE Indeks > 20140023){Ime, Prezime}

Ime Prezime

Marijana Savkovic

Pri izvršavanju sistem modifikuje upit u((DOSIJE WHERE Mesto_rodjenja=’Kraljevo’) {Indeks, Ime, Prezime})WHERE Indeks > 20100023){Ime, Prezime}

Odnosno uprošcava u (DOSIJE WHERE Mesto_rodjenja=’Kraljevo’

AND Indeks > 20100023){Ime, Prezime}

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.30

Osnovni relvar-i i pogledi (nastavak)

• Osnovni relvar-i predstavljaju podatke koji sufizicki smešteni u bazi podataka (’zaistapostoje’)

• Pogledi predstavljaju razlicit nacin gledanja na’realne podatke’ (ne postoje, virtualni relvar-i)

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.31

Transakcije

Transakcija je ’logicka jedinica posla’ kojaobicno ukljucuje više operacija nad bazom

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.32

Svojstva transakcije

1. Atomicnost: garantuje se da ce se izvršiti ilisve što se nalazi u transakciji ili ništa od toga

2. Trajnost: garantuje se da ce po uspešnomizvršavanju (COMMIT-a) sve promene ostatitrajno zapamcene u bazi, bez obzira na kasnijeeventualne padove sistema

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.33

Svojstva transakcije (nastavak)

3. Izolovanost: transakcije su medjusobnoizolovane u smislu da su efekti izvršavanjajedne transakcije nevidljivi za drugu transakcijusve do (uspešnog) izvršavanja COMMITnaredbe

4. Izvršavanje isprepletanog (u smislu pocetka ikraja) skupa transakcija ce obicno bitiserijalizovano u smislu da se dobija istirezultat kao da se te iste transakcije izvršavajujedna po jedna u unapred neodredjenomredosledu izvršavanja

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.34

Domeni

Domen = tip podataka• ugradjen (sistemski predefinisan)

• INTEGER• CHAR• ...

• korisnicki definisan• INDEKS• IME• GOD_RODJENJA• .....

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.35

Domeni (nastavak)

• Provera tipova. Stroga tipiziranost• Dosije.Indeks + Ispit.ocena −→ pogrešno!• Ispit.Godina_roka * Ispit.Ocena −→

ispravno!

• Definisanje novog tipaTYPE <ime tipa> <moguce reprezentacije>

• TYPE INDEKS REPREZENT(INTEGER);

• TYPE IME REPREZENT (CHAR);

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.36

Domeni - SQL podrška

• Naredbe

• CREATE DOMAIN• ALTER DOMAIN• DROP DOMAIN (RESTRICT, CASCADE)

• U DB2 ove naredbe ne postoje. Postoje

1 CREATE TYPE2 ALTER TYPE3 DROP TYPE

• Istovremeno se definišu i odgovarajucefunkcije i operatori poredjenja

• Nema stroge tipiziranosti ali postoji osnovnioblik provere tipova

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.37

Domeni - SQL podrška (nastavak)

SQL podržava osam relacionih domena

1 Brojevi (numbers)

2 Niske karaktera (character strings)

3 Niske bitova (bit strings)

4 Datumi (dates)

5 Vremena (times)

6 Kombinacija datuma i vremena (timestamps)

7 Intervali godina/mesec (year/month intervals)

8 Intervali dan/vreme (day/time intervals)

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.38

Relacije

Neka je dat skup od n tipova ili domena Ti(i=1,2,...,n), pri cemu ne moraju svi tipovi da budumedjusobno razliciti. R je relacija nad tim tipovimaako se sastoji od dva dela, zaglavlja i tela gde važi:

1 Zaglavlje je skup od n atributa oblika Ai : Tigde su Ai (koji svi moraju da budu razliciti)imena atributa relacije R, a Ti odgovarajucaimena tipova (i=1,2,...,n)

2 Telo je skup od m torki t gde je t skupkomponenti oblika Ai : vi u kojima je vi vrednosttipa Ti

m se naziva kardinalnost, a n stepen (arnost)relacije R

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.39

Osobine relacije

• Nema ponovljenih (duplih) torki

• Torke su neuredjene, od vrha ka dnu

• Atributi su neuredjeni, sa leva u desno

• Svaka torka sadrži tacno jednu vrednost zasvaki atribut. Za relaciju koja zadovoljava ovuosobinu se kaže da je normalizovana,odnosno da je u prvoj normalnoj formi.

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.40

Relacija = tabela?

Nisu jednake, jer

• Tabela moze da sadrži duplirane redove dokrelacija ne može da sadrži duplirane torke

• Redovi u tabeli su uredjeni u redosledu od vrhaka dnu, dok za relaciju to ne važi

• Kolone u tabeli su uredjene u redosledu sa levau desno, dok za relaciju to ne važi

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.41

Relacije i prazan skup

• Relacija koja ima prazan skup torki• neprazno zaglavlje• telo je prazno

• Relacija koja ima praznu torku• prazno zaglavlje• telo sa jednom torkom bez komponenti

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.42

Tipovi relacije

Definicija tipa relacije ima sledeci oblikRELATION {<lista atributa razdvojenih zarezima>}

atribut je uredjen par oblika<ime atributa> <ime tipa>

Primer:RELATION {Indeks INDEKS, Ime IME, Prezime PREZIME,

God_rodjenja GOD_RODJENJA, Mesto_rodjenja

MESTO_RODJENJA}

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.43

Atributi i tipovi podataka

• Svaki atribut ima neki tip• Svaki tip može da bude ugradjen ili

korisnicki definisan• Svaki tip može da bude atomski

(skalarni) ili ucauren (nije skalaran)• Atributi relacije mogu da budu

proizvoljnog tipa

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.44

Zašto nedostajuce vrednosti

U svakodnevnoj praksi se cesto javljaproblem nedostatka podataka:

• ’...datum rodjenja nepoznat...’

• ’...iz izborne jedinice XX nedostaju podaci...’

• ...

Potreba da se

• indikator o nedostatku vrednosti cuva u bazi

• na odgovarajuci nacin vrši obrada takvihpodataka

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.45

Zašto nedostajuce vrednosti (nastavak)

• Najcešci pristup prihvacen i u praksi jekorišcenje ’nedostajuce vrednosti’(NULL) odnosno trovalentne (3VL)logike

• Codd jer predlozio korišcenje4-valentne logike jer postoje dve vrstenedostajucih vrednosti:• vrednost je nepoznata• vrednost nije primenljiva, vrednost ne

postoji, ...

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.46

3VL logika

Tri vrednosti• Tacno• Netacno• Nepoznato (kod DATE-a UNK od

unknown)

Operatori: I, ILI, NE, MOŽDA (AND, OR,NOT, MAYBE)

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.47

3VL logika (nastavak)

AND t u f OR t u f NOTt t u f t t t t t fu u u f u t u u u uf f f f f t u f f t

Uvod u relacionebaze podatakaNeformalni pogled narelacioni model

Aspekti relacionog modela

Primer relacione baze

Primeri relacionihoperatora

Karakteristike relacionebaze

Efekat relacionih operatora

Formalni pogled narelacioni model

Terminologija

Relacije i relacionepromenljive

Optimizacija

Katalog

Osnovni relvar-i i pogledi

Transakcije

Domeni i relacijeDomeni

Relacije

Osobine relacije

Nedostajucevrednosti3VL logika

4.48

Operator MOŽDA

MAYBEt fu tf f

Operator je potreban npr.zbog ovakvih upita:Prikazati sve zaposlenekoji su možda bili, ali zakoje nije sasvimpouzdano da su bili,programeri rodjeni pre25. januara 1991. godinesa platom manjom od50.000 na dan30.09.2011.