Top Banner
Relacijski model podataka Relacijska algebra Relacijski model podataka i osnove relacijske algebre 4. tjedan T. Cari´ c, T. Erdeli´ c Zavod za inteligentne transportne sustave Fakultet prometnih znanosti Sveuˇ ciliˇ ste u Zagrebu Baze podataka T. Cari´ c, T. Erdeli´ c ITS::Baze podataka (4. tjedan)1/48
49

Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Sep 26, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

Relacijski model podataka i osnoverelacijske algebre

4. tjedan

T. Caric, T. Erdelic

Zavod za inteligentne transportne sustaveFakultet prometnih znanosti

Sveuciliste u Zagrebu

Baze podataka

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)1/48

Page 2: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Pregled 1. poglavlja

Relacijski model podatakaPovijestCoddova pravilaRelacijski model podataka

Relacijska algebra

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)2/48

Page 3: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Gdje smo sada?

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)3/48

Page 4: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Povijest

I Podlogu postavio Edgar Frank Codd70-tih godina proslog stoljeca

I Pociva na matematickoj teoriji relacijskealgebre i racuna

I Pocetne implementacije su bile spore, alisu porastom racunalne snage postaleprevladavajuci model

I U relacijskom modelu je brzina zrtvovanazbog fleksibilnosti

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)4/48

Page 5: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Povijest

I 1970. E. F. CoddI A Relational Model of Data for Large Shared Data Banks,I Communications of the ACM, Vol. 13, No. 6, lipanj 1970

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)5/48

Page 6: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Coddova pravila

I Nulto praviloI DBMS koji se smatra relacijskim mora upravljati bazom

podataka iskljucivo na relacijski nacin

I 1. pravilo - Predstavljanje informacijaI Sve informacije iskljucivo se predstavljene vrijednostima u

tablici tj. relacijama

I 2. pravilo - Pravilo pristupaI Svakoj zapisanoj vrijednosti moze se logicki pristupiti preko

imena ili kombinacije imena tablica, primarnog kljuca i atributa

I 3. pravilo - Tretiranje NULL vrijednostiI NULL vrijednost moze zamjeniti bilo koji tip vrijednosti i

predstavlja nepostojecu informaciju

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)6/48

Page 7: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Coddova pravila

I 4. pravilo - Relacijski pristup online katalogu bazeI Na lokalnom nivo baza podataka opisana je na isti nacin kao i

podaci, tako da se moze koristiti isti relacijski jezik za pristupkatalozima baze

I 5. pravilo - Pravilo sveobuhvatnog jezikaI Mora postojati jezik za komunikaciju sa bazom podataka koji

podrzava definiranje podataka i pogleda, manipulacijupodacima, administraciju, upravljanje transakcijama...

I 6. pravilo - Pravilo pogledaI Svi pogledi koji se po relacijskoj teoriji mogu azurirati, moraju

se moci azurirati i implementirati u model

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)7/48

Page 8: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Coddova pravila

I 7. pravilo - Visok nivo unosa, azuriranja i brisanjaI Svojstva manipulacije podacima kod dohvacanja moraju biti

moguca i pri unosu, azuriranju i brisanju podataka

I 8. pravilo - Nezavisnost fizickih podatakaI Sve aktivnosti koje poduzimaju korisnici i aplikacije prema bazi

podataka ne smiju biti ovisne o fizickom nacinu spremanjapodataka

I 9. pravilo - Nezavisnost logickih podatakaI Odnosi medu tablicama se mogu mijenjati tako de sa ne utjece

na funkcije aplikacije koje se spajaju na te tablice

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)8/48

Page 9: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Coddova pravila

I 10. pravilo - Nezavisnost integriteta podatakaI Sam DBMS mora se brinuti o integritetu podataka, a ne

aplikacije izvana

I 11. pravilo - Distribuirana nezavisnostI Aplikacija mora nastaviti operativno raditi kada se uvede

distribuirana verzija DBMS-a ili kada se distribuirana verzijacentralizira

I 12. pravilo - Pravilo o nenarusavanju integritetaI Integritet podataka ne smije biti narusen drugim putevima u

bazu podataka koja zaobilaze pravila integriteta i ogranicenja

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)9/48

Page 10: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Relacijski model podataka - objekti

I Elementi skupa objekata u relacijskom modelu podataka surelacije (ili tablice)

I Svaka relacija sadrzi listu atributa (ili stupaca)I Svaki atribut ima svoju domenu (ili tip)

I Odreduje kojeg je podatkovnog tipa vrijednost atributaI Koji raspon vrijednosti moze poprimiti

I Svaka relacija sastoji se od skupa n-torka (ili redaka)I Svaka n-torka ima vrijednosti svih atributa relacijeI N-torke sa istim vrijednostima nisu dopustene

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)10/48

Page 11: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Primjer jedne relacije

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)11/48

Page 12: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Nazivi - formalni i neformalni

Neformalni naziv Formalni naziv

Tablica Relacija

Stupac Atribut

Sve moguce vrijednosti stupca Domena

Redak N-torka

Definicija tablice Relacijska shema

Popunjenost tablice Stanje relacije

Rezultat upita Izvedeni racun

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)12/48

Page 13: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Relacijska shema

I R(a1, a2, ..., an) je relacijska shema relacije (tablice)I R predstavlja naziv relacijeI a1, a2, ..., an predstavljaju atribute relacije

I Relacijska shema - specificira kako ce podaci biti strukturiranilogicki (definicija tablice)

I Rijetko se mijenja

I Instanca sheme (podaci)- predstavlja stanje relacije(popunjenost tablice)

I Cesto se mijenja stanje relacije

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)13/48

Page 14: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Relacijska shema - primjer

I Sto je na slici iznad relacijska shema, a sto instanca sheme?

I Relacijska shema obuhvaca naziv relacije (Student) i skupatributa (JMBAG, Ime, Prezime, DatumRodjenja)

I Instanca sheme je { <0135187314, Mario, Maric,27.11.1990>, <0135188315, Jura, Juric, 17.10.1991>, ... }

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)14/48

Page 15: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Relacijska shema - primjer

I Sto je na slici iznad relacijska shema, a sto instanca sheme?I Relacijska shema obuhvaca naziv relacije (Student) i skup

atributa (JMBAG, Ime, Prezime, DatumRodjenja)I Instanca sheme je { <0135187314, Mario, Maric,

27.11.1990>, <0135188315, Jura, Juric, 17.10.1991>, ... }

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)14/48

Page 16: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Relacijska shema

I Postoje cetiri osnovna svojstva relacijske shemeI Tablica ne sadrzi dva jednaka atributaI Redosljed stupaca u tablici nije bitanI Tablica ne sadrzava dva potpuno jednaka redkaI Redosljed redaka u tablici nije bitan

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)15/48

Page 17: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Elementarni podatak

I Elementarni podatak (atomic data value) je najmanji elementrelacijskog modela

I U tablici je predstavaljen jednom celijomI Ne moze se rastaviti na manje dijelove bez gubljenja

semantickih svojstavaI Primjer naziva marke automobila MERCEDES – ima znacenjeI Elementi naziva marke automobila M,E,R,C,E,D,E,S – gube

znacenje

I Elementarni podatak se naziva i vrijednost atributa

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)16/48

Page 18: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Domena

I Domena je skup svih vrijednosti koje atribut moze poprimiti

I Svaki atribut ima samo jednu domenu

I Vise atributa u istoj tablici moze imati istu domenuI Primjer atributa i domene

I Za atribut MjestoOdrzavanjaPredavanja domena je skup svihdvorana

I Za atribut BojaAutomobila domena je skup svih bojaI Za atribut Ocjena domena su cijeli brojevi od 1 do 5

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)17/48

Page 19: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Domena

I Karakteristike domeneI Moze postojati vise atributa sa istom domenom u istoj tablici

I MjestoRodjenja i MjestoBoravkaI BojaKose, BojaAuta i BojaKuce

I Sadrzaj domene se ne mijenja s vremenomI Aktivna domena je podskup domene i sastoji se od svih

vrijednosti atributa koje su trenutno zapisane u tabliciI Sadrzaj aktivne domene se mijenja sa vremenom

I Ako imamo aute sa bojama crna, plava i zuta te tri boje sutrenutno aktivna domena

I Ako nabavimo jos jedan auto koji je zelene boje mijenja seaktivna domena tj. zelena postaje njen dio

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)18/48

Page 20: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

NULL vrijednost

I Informacije koje nedostaju u relaciji iz bilo kojeg razlogaprikazuju se kao poseban oblik podatka NULL vrijednost

I 3. Coddovo pravilo - tretiranje NULL vrijednostiI NULL vrijednost moze zamjeniti bilo koji tip vrijednosti i

predstavlja nepostojecu informacijuI Omogucuje baratanje s vrijednostima koje ne postoje

upotrebom relacijske algebreI Neovisna je o tipu podatka i razlicita je od svih ostalih

vrijednosti

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)19/48

Page 21: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

NULL vrijednost - primjer

I Sa NULL vrijednosti se prikazuju podaci koji nedostaju tj.nisu poznati u tome trenutku

I NULL vrijednost je razlicita od primjericeI 0 - u brojcanim tipovima podatakaI ” ” - praznine u znakovnim tipovima

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)20/48

Page 22: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Primarni kljuc

Primarni kljuc

Primarni kljuc je atribut ili skup atributa koji na jedinstven nacinidentificira/ju svaku n-torku u relaciji (redak u tablici)

I 2. Coddovo pravilo - pravilo pristupaI Svakoj zapisanoj vrijednosti moze se logicki pristupiti preko

naziva ili kombinacije naziva relacija, primarnog kljuca iatributa

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)21/48

Page 23: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Primarni kljuc - osnovni uvjeti

I Primarni kljuc mora zadovoljavati tri osnovna uvjeta

1. Jedinstvenost - u tablici ne mogu postojati dva retka s istomvrijednoscu primarnog kljuca

2. Minimalnost - ako je primarni kljuc slozen tj. sastoji se od viseatributa, tada se niti jedna njegova komponenta ne mozeukloniti, a da se ne narusi pravilo jedinstvenosti

3. Pravilo integriteta primarnog kljucaI Niti jedna komponenta primarnog kljuca ne smije imati NULL

vrijednost ( kardinalitet(1,1))I Pravilo integriteta posljedica je pravila minimalnosti - ako bi

neki atribut koji je dio primarnog kljuca mogao poprimitiNULL vrijednost to znaci da se n-torke relacije moguidentificirati bez njega

I Iz toga proizlazi da takav atribut uopce ne treba biti dioprimarnog kljuca tj. narusilo bi se pravilo minimalnosti

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)22/48

Page 24: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Primarni kljuc - primjer

I Uz pomoc prirodne relacijske operacije selekcije moguce jedohvatiti svaku pojedinu n-torku prema atributu JMBAG kojije primarni kljuc relacije Student

I Primarni kljuc se moze sastojati od od vise atributa

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)23/48

Page 25: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Strani kljuc

Strani kljuc

Strani kljuc predstavlja primarni kljuc jedne tablice, koji se kaoveza prema svojoj originalnoj tablici javlja u drugoj tablici

I Veze izmedu tablica u relacijskom modelu se ostvarujupomocu njega

I Veze se ostvaruju stvarnim zapisom i o njima se brine samkorisnik

I Strani kljuc uvijek referencira neki primarni kljuc

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)24/48

Page 26: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

PovijestCoddova pravilaRelacijski model podataka

Strani kljuc - primjer

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)25/48

Page 27: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Pregled 2. poglavlja

Relacijski model podataka

Relacijska algebraUvodOperacije relacijske algebreLogicke operacije

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)26/48

Page 28: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Uvod

I Relacijska algebra podrazumijeva definiranje operacija nadtablicama (relacijama)

I Na osnovu nje je nastao jezik za upite u relacijskim bazamapodataka

I Karakteristika relacijske algebre je njezina proceduralnost -navodi se redoslijed operacija koje se provode nad relacijama

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)27/48

Page 29: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Operacije relacijske algebre

I Operacije relacijske algebre suI Unija (T := R ∪ S)I Presjek (T := R ∩ S)I Razlika (T := R − S)I Kartezijev produkt (T := R x S)I Projekcija (T := R[a])I Selekcija (T := R where a = x)I Dijeljenje (T := R ÷ S)I Spajanje

I Inner join (T := R BCS)I Left outer join (T := R BCLOS)I Right outer join (T := R BCROS)I Full outer join (T := R BCFOS)

I Preimenovanje (ρ)I Agregacija i grupiranje

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)28/48

Page 30: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Unija

I Unija skupova R i S je skup T koji je skup svih elemenata kojisu clanovi ili skupa A ili skupa B

T := R ∪ S

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)29/48

Page 31: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Presjek

I Presjek skupova R i S je skup T koji je skup svih elemenatakoji su clanovi i skupa A i skupa B

T := R ∩ S

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)30/48

Page 32: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Razlika

I Razlika skupova R i S je skup T koji se sastoji od svihelemenata koji pripadaju skupu R a ne pripadaju skupu S

T := R − S

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)31/48

Page 33: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Produkt

I Produkt skupova R i S je skup T koji se sastoji od svihkombinacija uredenih parova skupova R i S

I Jos se naziva i Kartezijev produkt

T := R x S

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)32/48

Page 34: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Pravila

I Za operacije unije, presjeka i produkta vrijede pravilaasocijativnosti i komutativnosti

I (R ∪ S) ∪ T = R ∪ (S ∪ T ) = R ∪ S ∪ TI (R ∩ S) ∩ T = R ∩ (S ∩ T ) = R ∩ S ∩ TI (R x S) x T = R x (S x T ) = R x S x T

I Meduovisnost operacijaI R ∩ S = R − (R − S) = S − (S − R)I R − S = R − (R ∩ S)

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)33/48

Page 35: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Projekcija

I Operacijom projekcije (T := R[a]) tablice nad atributimaizdvajaju se atributi tablice na kojima se vrsi projekcija

I Projekcija tablice R nad atributima A jest tablica T sazaglavljem head(T ) = {A} koja sadrzava sve redove koji susadrzani u tablici R

I Kao rezultat operacije projekcije dobije se nova tablica kojapredstavlja vertikalni podskup zadane tablice

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)34/48

Page 36: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Selekcija

I Selekcija (T := R where a = x) nad tablicom R izdvaja skupredova koji zadovoljavaju postavljeni uvjet

I Rezultat operacije selekcije sadrzi sve atribute kao i izvornatablica, ali samo one redove koji zadovoljavaju trazeni uvjet

I Dobivena tablica predstavlja horizontalni podskup izvornetablice

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)35/48

Page 37: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Dijeljenje

I Ako je R relacija stupnja n, a S relacija stupnja m i neka susvi atributi od S pojavljuju i u R

I Rezultat djeljenja (R ÷ S) je skup svih (n −m)-torki < x >takvih da se n-torke < x , y > pojavljuje u R za sve m-torke< y > u S

I Sa x i y su oznacene grupe od jednog ili vise vrijednostiatributa, dok stupanj relacije govori koliko pojedina relacijasadrzi atributa

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)36/48

Page 38: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Unutrasnje spajanje

I Operacijom untrasnjeg spajanja (T := R BCS) povezuju setablice na nacin da se spajaju redovi tablica po istimvrijednostima zajednickog atributa

I Spajaju se redovi koji u stupcima istog naziva u obje tabliceimaju istu vrijednost

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)37/48

Page 39: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Lijevo vanjsko spajanje

I Operacijom lijevog vanjskog spajanja (T := R BCLOS)prosiruje se unutarnje spajanje

I Na unutrasnje spajanje dodaju se oni elementi tablice s lijevestrane koji ne sudjeluju u vezi

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)38/48

Page 40: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Desno vanjsko spajanje

I Operacijom desnog vanjskog spajanja (T := R BCROS)prosiruje se unutarnje spajanje

I Na unutrasnje spajanje dodaju se oni elementi tablice s desnestrane koji ne sudjeluju u vezi

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)39/48

Page 41: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Potpuno vanjsko spajanje

I Operacijom potpunog vanjskog spajanja (T := R BCFOS)dobije se unija lijevog i desnog vanjkog spajanja relacija

I Vrijedi da je

T := R BCFOS = R BCLOS ∪ R BCROS

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)40/48

Page 42: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Preimenovanje

I Ako je zadana relacija R(A1,A2, ...,An) moguce jeI Preimenovanje relacije: operacijom preimenoanja ρs(R)

dobiva se relacija S koja ima jednaku relacijsku shemu isadrzaj kao i relacija R

I Preimenovanje relacije i atributa: operacijom preimenoanjaρs(B1,B2,...,Bn)(R) dobiva se relacija S cija relacijska shemaumjesto atributa (A1,A2, ...,An) sadrzi atribute(B1,B2, ...,Bn), a sadrzaj relacije S jednak je sadrzaju relacijeR

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)41/48

Page 43: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Prioriteti operatora

I Prioritet operatora je sljedeci

1. Projekcija2. Selekcija3. Spajanje, Djeljenje4. Razlika5. Unija, Presjek

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)42/48

Page 44: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Logicke operacije

I Logicke operacije cesto se primjenjuju u relacijskoj algebri kodoperacije selekcije tj. kod postavljanja slozenijih upita zaizdvajanje redaka iz tablice

I Logicki operatori su AND, OR i NOT

I Operatori AND i OR su binarni dok je operator NOT unaran

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)43/48

Page 45: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Logicke operacije - unutrasnja veza (1/4)

I Unutrasnju vezu moze se izraziti kombinacijom produkta,selekcije i projekcije...

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)44/48

Page 46: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Logicke operacije - unutrasnja veza (2/4)

I 1. KORAK: Operacija Kartezijevog produkta C := R X S

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)45/48

Page 47: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Logicke operacije - unutrasnja veza (3/4)

I 2. KORAK: Izdvajanje redaka gdje atributi istog naziva u objetablice imaju istu vrijednost

I D := C where R.B = S .BI D := (R X S) where R.B = S .B

I Rezultantna tablica ima jedan atribut vise u odnosu na rezultatoperacije unutrasnje veze

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)46/48

Page 48: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Logicke operacije - unutrasnja veza (4/4)

I 3. KORAK: projekcija: T := D[A,R.B,C ,D]

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)47/48

Page 49: Relacijski model podataka i osnove relacijske algebre - 4 ... podataka/Predavanja/04 - BP - 04.tjedan.pdf · Relacijski model podataka Relacijska algebra Relacijski model podataka

Relacijski model podatakaRelacijska algebra

UvodOperacije relacijske algebreLogicke operacije

Pitanja

T. Caric, T. Erdelic ITS::Baze podataka (4. tjedan)48/48