Está en la página 1de 16

SEMINARSKI RAD

Relaciona algebra

Studet profes orcniasdncas

Sadržaj:
1. Relaciona algebra

2. Operacije relaciona algebre

3. Elementarne operacije relacione algebre

4. Izvedene operacije relacione algebre

5. Primjer

1. Relaciona algebra

Relacona algebra pripada kategoriji formalnih upitnih jezika.


- Upitni jezik je jezik kojim korisnici zahtijevaju (dobijaju) informacije iz BP.
Čini je skup operatora za rad sa relacijama, a rezultati operacija su takođe relacije.
Relaciona algebra je osnov za upitne jezike koje koriste ljudi (komercijalni jezici).
- svaki od algebarskih izraza je jedan upit (pretraživanje)
2. Operacije relacione algebre

 Čini je skup od osam (8) operacija koje se nazivaju osnovnim (5 elementarnih i 3


izvedene).
- Elementarne operacije su: restrikcija (selekcija), projekcija, unija, razlika, Dekartov
proizvod (Cartesian product).
- Izvedene operacije: presjek, spajanje, dijeljenje

 Klasifikacija prema broju operanada:


- Unarne (jedan operand)
- Binarne (dva operanda)

 Podjela E.F. Codda:


- Tradicionalna (pogodne za ažuriranje)
- Posebna (pogodne za izvještavanje)

Simbol Naziv Složenost Broj operanada

 restrikcija, selekcija elementarna unarna

π projekcija elementarna unarna

U  unija elementarna binarna

- razlika elementarna binarna

x Dekartov proizvod elementarna binarna

∩ presjek izvedena binarna

>< spajanje izvedena binarna

/ dijeljenje izvedena binarna

3. Elementarne operacije relacione algebre

1. Restrikcija (selekcija)

2. Projekcija

3. Unija

4. Razlika
5. Dekartov proizvod (Cartesian product)

3.1. Restrikcija (selekcija) ()


Definicija: Iz polazne relacije po zadatom kriterijumu izdvaja se podskup n-
torki.
- n-torke koje zadovoljavaju određeni uslov
Kriterijum je neki logički izraz koji je izračunljiv nad svakom n-torkom.
Dobijena relacija ima istu strukturu kao i polazna.

 Notacija p(r)
- p-uslov za selekciju (predikat selekcije)
 Definicija: p(r)={t I t  r ∧P(t)}
 Primjer: R1: =SELECTp (R2)
 P se sastoji od članova koji su povezani sa:
∧(and), ∨(or), ¬(not)
 Svaki član je sljedećoj formi
 <atribut> op <atribut> ili konstanta
gdje je op jedan od: =, ≠, >, ≥, <, ≤

Primjeri

Student (BrInd, Ime, Prezime, Grad, Ulica, Telefon)

Primjer 1.
BrInd='125/2017'(student)

Primjer2.
Prezime='Marković'^¬ (Grad='Beograd') (student)

Primjer 3.

Relacija r
A B C D
a a 1 7
a b 5 7
b b 12 3
b b 23 10
Selekcija A=B^ D> 5(r)
A B C D
a a 1 7
b b 23 10

Zaključak za restrikciju:

 Struktura relacije se ne mijenja, šema rezultata odgovara šemi


polazne relacije
 Za broj n-torki u relaciji važi: N(t) ≤ N(r)
 Restrikcija, selekcija → selekcija n-torki

3.2. Projekcija (π)


Definicija: Iz polaze relacije po zadatom skupu atributa formira se nova
relacija kao skup n-torki nad tim atributima.
Zadati skup atributa mora biti podskup skupa atributa polazne relacije.
Vrijednosti atributa u n-torkama nastale relacije odgovaraju onima u polaznoj
relaciji.
R1: =PROJL (R2)
- L je lista atributa iz polazne relacije

Primjer 1.
polazna relacija je
Student(BrInd, Ime, Prezime, Grad, Ulica, Telefon)
Potrebno je generisati spisak studenata sa brojem indeksa, imenom i
prezimenom
πBrInd, Ime, Prezime(student)→ t (BrInd, Ime, Prezime)
primjenom operacije Projekcije moguće je da više n-torki polazne relacije daje
iste vrijednosti
- Pošto rezultat operacije mora biti relacija, uzimaju se samo unikatne n-
torke u rezultatu, tj. vrste koje se ponavljaju uklanjaju se iz rezultata zato
što su relacije skupovi
Primjer 2.
iz relacije
ocjene (BrInd, SifPredmeta, Ocjena)
želimoda dobijemo pregled svih brojeva indeksa
πBrInd(ocjene)→ t(BrInd)

Primjer 3.
polazna relacija je
student(BrInd, Ime, Prezime, Grad, Ulica, Telefon)
Treba generisati spisak studenata sa brojem indeksa, imenom i prezimenom
πBrInd, Ime, Prezime(student)→ t(BrInd, Ime, Prezime)

Primjenom opercije Projekcije moguće je da više n-torki polazne relacije daje


iste vrijednosti.
- pošto rezultat operacije mora biti relacija, uzimaju se samo unikatne n-
torke u rezultatu,tj. vrste koje se ponavljaju uklanjaju se iz rezultata zato
što su relacije skupovi

Primjer 4.
iz relacije
ocjene (BrInd, SifPredmeta, Ocjena)
želimo da dobijemo pregled svih brojeva indeksa
πBrInd(ocjene)→ t(BrInd)

Primjer 5.
Uklanjanje redova koji se ponavljaju

Relacija r
A B C
a 10 1
a 20 1
b 30 1
b 40 2
Projekcija πA,C(r)
A C
a 1
a 1
b 1
b 2

A C
a 1
b 1
b 2

Primjer 6.
Jedna od namjene operacija projekcije je promjena redoslijeda atributa
student(BrInd, Ime, Prezime, Grad, Ulica, Telefon)

πPrezime, Ime, BrInd(student)→ t (Prezime, Ime, BrInd)

Primjer 7.
Operacije relacione algebre se mogu kombinovati
Ispit(BrInd, SifPredmeta, IdProf, Sala, Vrijeme)

Složena operacija
π BrInd(SifPredmeta=' BP'(Ispit))→ bp_ispit (BrInd)

kao rezultat dobijaju se svi brojevi indeksa studenata koji polažu predmet 'BP'.

Zaključak za projekciju:
 Šema relacije se mijenja i određuje je zadati skup atributa
 Za broj n-torki u relaciji važi: N(t) ≤ N(r)
 Projekcija → selekcija po atributima
Projekcija (broj n-torki)

Primjer 1.

student(BrInd, Ime, Prezime, Grad, Ulica, Telefon)


projekcija po: BrInd, zadržava se broj n-torki
projekcija po: Ime, Prezime, smanjuje se broj n-torki (ukoliko se ime i prezime
pojavljuje više puta u rezultatu, ostaje samo jedno pojavljivanje).

3.3. Unija (U)


Definicija: Iz dvije polazne relacije formira novu koja sadrži msve n-torke iz
obje relacije.
Ova operacija nije moguća između bilo koje dvije relacije, tj. Mora biti
zadovoljeno:
- Šeme relacija moraju imati isti broj atributa
- Atributi šema relacija odgovaraju po značenju i tipu (ne mora po nazivu).
Navedeni uslovi nazivaju se unijska kompatibilnost.

Primjer 1.

Informatika Elektrotehnika
SifP Naziv ECTS Naziv ID Bodovi

SPIR 01 Informatika 8 Elektrotehnika SPER01 8


SPIR 04 Engleski jezik 1 6 Matematika SPER03 8
Relacije Informatika i Elektrotehnika su
unijski kompatibilne:

- Relacije su istog stepena


- Dom (SifP) = Dom (ID)
- Dom (ECTS) = Dom (Bodovi)
- Dom (Informatika.naziv) = Dom (Elektrotehnika.naziv)

Primjer 2.
Predmet Softver
ID Naziv ID Naziv
SPIR 01 Informatika IB301 Java
SPER Elektrotehnika Š56 C++
01

Relacije Predmet i Softver nisu unijski kompatibilne:

- Relacije su istog stepena


- Dom (Predmet.ID) ≠ Dom (Softver.ID)
- Dom (Predmet.naziv) ≠ Dom (Softver.Naziv)

Svaka n-torka koja je prisutna u obje relacije, pojavljuje se samo jednom u


rezultantnoj

Primjer 3.

Posmatraju se relacije Student i Profesor


Ako su potrebni podaci o svim osobama u evidenciji na fakultetu, to se postiže
primjenom operacije unije.
Student U Profesor → osoba (SIF, IME)

Prije unije neophnodno je relacije Student i Profesor dovesti na unijsku


kompatibilnost.

Zaključak za uniju:

 Šeme relacija se prethodno moraju uskladiti


max(N(r), N(s))≤N(t)≤N(r)+N(s)
3.4. Razlika (-)
Definicija: Operacija razlike iz dvije polazne relacije formira novu koja sadrži
sve n-torke prve relacije koje se ne nalaze u drugoj.
Ova operacija je moguća samo između unijski kompatibilnih relacija.

Relacija: Položio baze


BrInd Ime
2010100 Petar Petrović
2010200 Marko Marković

Položio mreže
BrInd Ime
2011300 Janko Janković
2010100 Petar Petrović

Razlika
PoložioSamoBaze = PoložioBaze - PoložioMreže
(studenti koji su položili samo baze, a nisu položili mreže)

PoložioSamoBaze
BrInd Ime
2010200 Marko Marković

Primjer1.
Posmatraju se relacije drži i pozajmnica
Želimo da utvrdimo koji članovi čitaju koje knjige prvi put
Prije operacije unije prvo se moraju uskladiti šeme relacija
πSIFC, SIFK(drži) → t1(SIFC, SIFK)
πSIFC, SIFK(pozajmnica) → t2(SIFC, SIFK)
Zatim se primijeni operacija razlike:
t1-t2→cita_prvi_put(SIFC, SIFK)

Zaključak za razliku:

 Šeme relacija se prethodno moraju uskladiti


 Broj n-torki u rezultatu 0≤N(t)≤N(r)

A
k x y
1 A 2
2 B 4
3 C 6

B
k x y
1 A 2
4 D 8
5 E 10
A-B
k x y
2 B 4
3 C 6

B-A
k x y
4 D 8
5 E 10
BrInd Ime
2011300 Janko Janković
2010100 Petar Petrović

Presjek

Položio oba predmeta=PoložioBaze ∩ PoložioMreže


(studenti koji su položili i baze i mreže)

Položio oba predmeta


BrInd Ime
2010100 Petar Petrović

Primjer 1.
Posmatraju se relacije drži i pozamnica. Želimo da vidimo koji članovi
ponovočitaju koju knjigu.

πSIFC, SIFK(drži) → t1(SIFC, SIFK)


πSIFC, SIFK(pozajmnica) → t2(SIFC, SIFK)
zatim se primijeni operacija presjeka
t1 ∩ t2 → čita_opet (SIFC, SIFK)
Zaključak za operaciju presjek:

 Šeme relacija se prethodno moraju uskladiti


 Broj n-torki u rezultatu 0≤ N(t) ≤ (N(r), N(s))

4.2. Spajanje ( ><)


Definicija: Operacija spajanja iz dvije polazne relacije formira novu relaciju
sa n-torkama dobijenim u dva koraka:
- Svaka n-torka iz prve relacije redom se spaja sa svim n-torkama iz druge
relacije
- Iz tako dobijenih n-torki izdvajaju se one koje zadovoljavaju zadati uslov
P
 – spajanje: uslov je operator poređenja (=,≤, <, >, ≥, ≠)
Ekvi-spajanje: uslov je poređene na jednakost (=)
Prirodno spajanje: popravljeni ekvi spajanje

 – spajanje
- Prethodna definicija dozvoljava proizvoljni uslov P, pod uslovom da je
izračunljiv za svaku n-torku nakon Dekartovog proizvoda
- Neka su r i s relacije nad šemom R(X) i S(Y). Neka su Xi I Yk atributi za
koje važi da je Xi  X i Yi  Y
Pod spajanjem r >Xi  Yi < s podrazumijeva se spajanje kod koga operator
 označava bilo koji operator poređenja (=,≤, <, >, ≥, ≠).

Ekvi-spajanje
- Prethodno  spajanje ograničava formu uslova spajanja, međutim i dalje
dobijeni rezultat nema praktičnu primjenu
- Specijalni slučaj gdje  predstavlja jednakost (=) čest je slučaj u praksi
- Npr. za Dekartov proizvod nad relacijama naslov i oblast, ekvi spajanjem
pod uslovom jednakosti atributa SIFO, dobili bi izdvojene n-torke (koje
imaju smisla)

También podría gustarte