You are on page 1of 32

Relacioni model

dr Svetlana Anđelić
Šta ćete naučiti?

• Osnove koncepcije relacionog modela


• Struktura relacionog modela
• Definicija relacije i tabele
• Uslovi koje mora da zadovolji tabela da bi bila relacija
• Pojam ključa relacije
• Pojam šeme relacione baze podataka
Relacioni model i baze podataka
• 1970. originalno razvijen od strane COD-a (teorijska osnova)
• Programi znatno jednostavniji od navigacionih
• Pretraživanje podataka na osnovu vrednosti u polju
• Pregled rezultata upita se vrši pod kontrolom kursora
• Ograničen broj podržanih tipova podataka (boolean, string, number, date,
currency, ...).
Koncepcija relacionog modela

Pri razvoju RM podataka postavljena su tri cilja:


(1) Nezavisnost
(2) Strukturalna jednostavnost
(3) Formalna-matematička interpretacija tabela
Koncepcija relacionog modela

(1) Nezavisnost
• Uvođenje jasne granice između logičkih i fizičkih aspekata baze
podataka, kako u domenu projektovanja tako i u domenu korišćenja.
Koncepcija relacionog modela
(2) Strukturalna jednostavnost
• Struktura modela treba da bude veoma jednostavna, prihvatljiva
svakom korisniku, jer relaciona baza podataka predstavlja skup
jednostavnih (ravnih) tabela.
• Operacije koje iz skupa tabela generišu izlaz (takođe neku tabelu) su
jednostavne i lako prihvatljive.
• Jednostavna struktura i jednostavne operacije su osnova za definisanje
jednostavnog jezika za komunikaciju.
Koncepcija relacionog modela

(3) Formalna-matematička interpretacija tabela


• Određene vrste tabela se mogu tretirati kao matematičke relacije i
iskoristiti bogata teorijska osnova odgovarajućeg matematičkog aparata
za razvoj jezika baza podataka i metodologije projektovanja relacionih
baza podataka.
Relacioni model
• Osnovne karakteristike:
- Sve se predstavlja relacijama (tabelama)
- Zasniva se na strogoj matematičkoj teoriji
- Minimalna redudansa podataka
- Jednostavno ažuriranje podataka
- Izbegnute su anomalije ažuriranja
- Redosled kolona i redova ne utiče na informacioni sadržaj tabele
- Ne mogu da egzistiraju dva identična reda (zapisa) u jednoj tabeli
- Svaki red se može jednoznačno odrediti (postoji primarni ključ)
Model objekti veze

BrInd SifK
Student Knjiga
Ime Naziv

Grafički prikaz objekata i njihovih atributa

9
Relacioni model
Student Knjiga
BrInd Ime SifK Naziv
75/01 Marko 001 Računarstvo
22/02 Petar 002 Baze podataka
156/03 Milan 003 Osnove finansija
112/02 Dragan 004 Poslovna informatika
005 Marketing

Tabela, sa svojim atributima, je osnovni objekat relacione baze


podataka. BrInd i SifK imaju jedinstvene vrednosti i predstavljaju primarne ključeve u
relacijama Student i Knjiga respektivno. Ostali atributi se nazivaju neprimarni.
Struktura RM, šema relacije
• Naziv relacije (tabele) sa njenim, definisanim atributima naziva se i
šema relacije.
• Skup šema relacije čini šemu relacione baze podataka.
• Šema relacione baze podataka definiše pre svega strukturni aspekt
baze, dok je sama baza podataka predstavljena skupom tabela čije su
strukture opisane u šemi baze.
• Do šeme baze podataka se dolazi kroz postupak projektovanja. Jedan
pristup projektovanju relacione baze podataka, koji smo napred
spomenuli, zasniva se na kreiranju PMOV, a zatim i njegovom
prevođenju u relacioni model.
Struktura RM, šema relacije

• Relaciona baza podataka je kolekcija vremenski promenljivih relacija.


- Iskaz “vremenski promenljivih” koristi se da ukaže na činjenicu da se
vrednosti atributa u BP menjaju.
• Možemo razlikovati pojam šema relacione BP i samu relacinu BP.
- Šema relacione BP definiše strukturu baze, dok je sama BP
predstavljena skupom tabela čije su strukture opisane u šemi baze.
E-R model (MOV)

ER dijagram relacionog modela


Relacioni model

Student Knjiga
BrInd Ime SifK Naziv
75/01 Marko 001 Računovodstvo
22/02 Petar 002 Baze podataka
156/03 Milan 003 Osnove finansija
112/02 Dragan 004 Poslovna informatika
005 Marketing

Veze između objekata realnog sveta – formira se klasa veza


Relacioni model

Student Koristi Knjiga

BrInd Ime SifK Naziv


12.09.2005
75/04 Marko 25.03.2006 001 Računovodstvo
01.11.2005
22/06 Petar 002 Baze podataka
07.03.2007
156/04 Milan 003 Osnove finansija
14.10.2005
112/05 Dragan 004 Poslovna informatika
15.02.2007
005 Marketing

Sama veza može da ima svoje atribute


Relacioni model
• Suština relacionog modela je da se i klase objekata i klase veza
između objekata predstavljaju na jedinstven način, tj. preko
tabela.
• Nije od značaja gde i kako su smeštene tabele.
• RBP se sastoji iz više tabela. Tabele su povezane ključevima.
• Informacija iz RBP se dobija postavljanjem upita.
Relacioni model
Relacioni model

STUDENT (BrInd, Ime) KNJIGA (SifK, Naziv)

KORISTI(BrInd, SifK, datum)

Strani, spoljni ključ


Strani ključ relacije relacije Koristi koji
Koristi koji pokazuje pokazuje na primarni
na primarni ključ ključ relacije Knjiga
relacije Student
Integritet entiteta
• Primarni ključ ili bilo koji njegov deo ne mogu imati Null vrednost.
• Napomena: Svi primarni ključevi moraju biti različiti (jednoznačna
identifikacija entiteta). U jednoj relaciji ne mogu postojati dva
entiteta sa istim primarnim ključem. Student
BrInd Ime

75/04 Marko

Petar

156/04 Milan

Dragan
Referencijalni integritet

• Skup vrednosti stranog (spoljnjeg) ključa u relaciji R2 mora biti


podskup skupa vrednosti primarnog ključa u relaciji R1.

• Relacije R1 i R2 ne moraju biti različite (unutrašnje, unarne veze,


veze između pojedinačnih primeraka jedne relacije).
Referencijalni integritet
Student Smer
BrInd Ime Smer SifSmera Naziv

75/04 Marko 11 11 Informacione tehnologije

22/06 Petar 11 22 Elektronsko poslovanje

156/04 Milan 22 33 Informacioni sistemi

112/05 Dragan 44 44 Računarska multimedija


Relacioni model
• Svaka tabela mora da ima:
- Ime ili naziv tabele,
- Spisak atributa (svaki atribut ima svoje ime ili naziv) i
- Vrednosti atributa (podaci upisani u polja)

STUDENT
BrInd Ime Prezime Fakultet Smer Adresa
123/18 Marko Marković ITS IT Savski nasip 7
224/17 Jovan Jovanović ITS RM Savski nasip 7
279/18 Ivana Ivanović ITS EP Savski nasip 7
----- ----- ----- ----- ------ -----
Relacioni model
Atributi(column)
Polja (fields)
Naziv tabele

Atribut 1 Atribut 2 Atribut 3 Atribut 4 Atribut 5


Zapisi (records)
Podatak u
polju

..................... Slog ili zapis ili n-torka ......................


Karakteristike relacionih RBP
• Podaci su organizovani u redove i kolone, a skup takvih podataka je relacija
• Sve vrednosti su skalarne – u jednom polju se može naći samo jedna vrednost
• Ne mogu da postoje dupli zapisi
• Sve operacije se obavljaju nad relacijama a rezultat operacija je opet relacija
• Koncept RBP:
- Na slici su prikazane 3 tabele sa ukupno 12 atribuda (različitih kolona)
- Tab1 i Tab2 “dele” atribut 3
- Tab2 i Tab3 “dele” atribut 7
Tab1

Tab2

Tab3
Definicija tabele

• Tabela se definiše kao niz naziva kolona sa nula ili više redova
(vrsta, n-torki) kojima su zadate vrednosti kolona
• Naziv kolone je ime kojim se predstavljaju vrednosti unete u tu
kolonu.
• Naziv kolone je jedinstven za definisanu tabelu
• U raznim tabelama mogu postojati kolone sa istim imenom
Redovi, n-torke, torke
• Redovi tabele odgovaraju logičkim slogovima sekvencijalne datoteke i
imaju sledeće osobine:
- Svaki red ima jednu i samo jednu vrednost za svaku kolonu tabele
- Redovi tabele imaju isti skup kolona i pri tome neke vrednosti mogu biti
null, tj. ne moraju imati vrednosti za svaku kolonu
- U svim redovima vrednosti unutar jedne kolone su istog tipa
- Redovi su jedinstveni tj. ne smeju postojati identični redovi unutar
tabele.
Domen

• Skup dozvoljenih vrednosti koje može da poprimi jedan atribut


• Obeležavanje domena:
Dom(Fakultet) = {FON, ETF, MAT, ITS}
Dom(Ocena) = {6, 7, 8, 9, 10}
Primarni ključ
• Primarni ključ tabele je skup kolona čije vrednosti jedinstveno
određuju vrednosti svih ostalih kolona (jedinstvenost)
• Ne postoji nijedan pravi podskup ovog skupa koji ima prethodno
svojstvo (minimalnost)
Npr: STUDENT (BrInd, Ime, Prezime,...)

• Na njega se vrši referenciranje kod povezivanja dve tabele (relacije)


Spoljni (strani) ključ tabele
• Jedan od atributa, na osnovu koga se vrši referenciranje na drugu relaciju
• Ostvarivanje veza između relacija
• Strani ključ mora da odgovara po tipu primarnom ključu u drugoj relaciji
• Spoljni ključ je artibut koji je u jednoj tabeli primarni ključ u drugoj tabeli se
pojavljuje kao neprimarni atribut

SMER (IdSmer, Naziv)


STUDENT (BrInd, Ime, Prezime, IdSmer)

• Ograničenja vrednosti stranog ključa Strani ključ na relaciju


STUDENT
Uslovi da tabela bude relacija
• Svi atributi unutar jedne tabele (relacije) moraju imati različita
imena, dok je redosled njihovog navođenja proizvoljan.
• Sve vrednosti podataka jedne kolone (atributa) moraju biti istog tipa.
• Među podacima u tabeli neke relacione baze podataka ne smeju
postojati funkcionalne zavisnosti među atributima.
• Redosled n-torki u relaciji je nebitan, i samim tim može biti
proizvoljan.
• Unutar jedne relacije ne smeju postojati dve identične n-torke.
Hvala na pažnji

You might also like