Top Banner
1
47

03 Baze podataka - Relacioni model.ppt · 2011. 12. 20. · Šema relacije R je konačan skup atributa {A i} i konačan skup {O} ograničenja nad vrednostima tih atributa. Ograničenja:

Jan 29, 2021

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
  • 1

  • Osnovne karakteristike:› Sve se predstavlja relacijama (tabelama)› Sve se predstavlja relacijama (tabelama)› Zasniva se na strogoj matematičkoj teoriji› Minimalna redudansa podataka

    J d t ž i j d t k› 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

    (rekorda) u jednoj tabeli(rekorda) u jednoj tabeli› Svaki red se može jednoznačno odrediti (postoji

    primarni ključ)

    2

  • BrInd Ime

    Student

    SifK Naziv

    Knjiga

    75/01 Marko

    22/02 Petar

    001 Računovodstvo

    002 Baze podataka

    156/03 Milan

    112/02 Dragan

    003 Osnove finansija

    004 Poslovna informatika

    005 Marketing

    Tabela, sa svojim atributima, je osnovni objekat relacione baze podataka

    3

  • Suština relacionog modela je da se i klase objekata i klase veza između objekata 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

    f ij i ij j j Informacija iz RBP se dobija postavljanjem upita

    4

  • Svaka tabela mora da ima:› Ime ili naziv tabele,› Spisak atributa iSp› Vrednosti atributa (podaci upisani u polja)

    STUDENTBrInd Ime Prezime Fakultet Smer Adresa

    123/03 Marko Marković FPI PP Požeška 2

    224/02 Jovan Jovanović FPI GD Danijelova 22

    III-5/04

    Ivana Ivanović FPI GD Kumodraška 145

    5

    ----- ----- ----- ----- ------ -----

  • kolone

    Naziv tabele

    o o e

    Atribut 1 Atribut 2 Atribut 3 Atribut 4 Atribut 5

    Podatak u polju

    slogovi

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

    6

  • Relacioni model podataka predstavljateorijsku osnovu za baze podataka teorijsku osnovu za baze podataka relacionog tipa

    Razmatraju se sledeće komponente Razmatraju se sledeće komponente relacionog modela podataka:› Strukturna komponenta – predstava podataka

    I t it t k t štit d t k› Integritetna komponenta – zaštita podataka› Manipulativna komponenta – manipulisanje

    podacimapodacima

    7

  • Imenovana vrsta svojstva (osobina entiteta) Prost atribut (simple) - ne može se rastavljati na ( p ) j

    delove bez gubitka svakog značenja – atomska vrednost.

    Složen atribut (composite) se sastoji od više prostih atributa. Može se rastaviti na jednostavnijejednostavnije.

    Adresa

    GradPoštanskiBrojUlica

    8

    broj

  • Pri projektovanju IS, treba pažljivo birati atribute, u skladu sa potrebama

    Primer:STUDENT (BrInd, Ime, Prezime, DatRodjenja,

    Ad T l f )Adresa, Telefon,...) DatumRodjenja – sa namerom posedovanja

    podatka o starosti svakog studenta dobar izbor podatka o starosti svakog studenta – dobar izbor atributa (informacija se može izračunati)

    GodineStarosti loš izbor atributa zahtevalo bi GodineStarosti – loš izbor atributa – zahtevalo bi se svakodnevno ažuriranje BP

    9

  • Skup svih mogućih vrednosti nekog atributa Ainaziva se domenom tog atributa i označava se sa Di ili Dom(Ai)sa Di ili Dom(Ai)

    Domen - tip podataka u programiranju Jedan domen za više atributa. Obrnuto ne. Primeri:

    › Atribut: Visina (cm)D1: skup celih pozitivnih brojevaD1: skup celih pozitivnih brojeva

    › Atribut: NazivKnjigeD2: skup svih različitih naslova knjiga

    › Atribut: Boja› Atribut: BojaD3: {“žut”,”crven”,”zelen”,”plav”}

    10

  • Šema relacije R je konačan skup atributa {Ai} i konačan skup {O} ograničenja nad vrednostima tih atributa.

    Ograničenja: atributi ne mogu uzimati bilo koje d tivrednosti

    Podrazumeva se da kada su zadati atributi, zadati su i njihovi domenizadati su i njihovi domeni

    Bitne osobine šeme relacije:› Nazivi atributa moraju biti različiti unikatnost › Nazivi atributa moraju biti različiti - unikatnost › Redosled atributa nije bitan › Šema relacije mora da sadrži bar jedan atribut› Šema relacije mora da sadrži bar jedan atribut

    11

  • Šema relacije se zapisuje:R(D,K)

    R - ime relacije D - skup obelezja

    D={A1 A2 A3 }{ 1, 2, 3,...}Ai - atribut

    K - skup ograničenja relacije

    Šemom relacije se predstavljaju svojstva klase objekata ili veza nekog sistema Š l ij ž d či i k d fi i ij Šema relacije može da se tumači i kao definicija strukture neke datoteke.

    12

  • Primer: Šema relacije koja predstavlja jednu klasu (klasa studenata):(klasa studenata):STUDENT ({BrInd,Ime,Prezime,BrPolIspita}, {β1,β2})› β1 - Svaki student ima br indeksa i ne postoje 2 studenta sa

    istim brojem indeksa› β2 - Broj položenih ispita je između 1 i 30

    13

  • Relaciji u praksi odgovara jedna datoteka Svakoj n-torki odgovara jedan slog te datoteke

    Sl i d t t i i i d đ Slogovi u datoteci su zapisani u određenom redosledu, najčešće po redosledu unošenja

    Primer: STUDENT (BrInd,Ime)( , )

    student ( BrInd Ime )123/02 J Jankovic

    šema relacije123/02 J.Jankovic11/03 P.Petrovic151/02 J.Jovanovic

    irelacija

    III-15/04 M.Markovic

    14

  • l l b lTerminologija - RBP Terminologija - tabele

    Relaciona BP Skup tabela

    Relacija Pojedinačna tabela

    Atribut Naziv kolone u tabeliAtribut Naziv kolone u tabeli

    Instanca (n-torka) Red podataka u tabeli

    Kardinalnost relacije Broj redova u tabeli

    Stepen relacije Broj kolona u tabeli

    Domen Skup dozvoljenih vrednosti za podatke u kolonama

    15

  • Vrednost NULL univerzalnog tipa primenjiva Vrednost NULL – univerzalnog tipa, primenjiva za atribute bilo kakvih domena

    U praksi postoje situacije kada u relacije U praksi postoje situacije kada u relacije unosimo n-torke za koje su vrednosti nekih atributa nepoznate u tom trenutku. Postoje dva sličaja:sličaja:1. Vrednost postoji, ali nije poznata u trenutku unosa n-

    torke. Npr. kod upisa studenata unosimo sve podatke i e podataka o telefon koji se može i podatke izuzev podataka o telefonu, koji se može i naknadno uneti.STUDENT (BrInd,Ime,Prezime,Telefon)

    P l di t t j d ti k Posledica trenutnog nepoznavanja vrednosti nekog atributa, i naknadno se može uneti

    16

  • 2. Ta vrednost je nedefinisana, nema smisla. Npr Ako je zadata šema relacije:Npr. Ako je zadata šema relacije:STUDENT (BrInd,Ime,Prezime,Telefon,Smer) Ne može se uneti smer za studente 1. i 2. godine, jer se naknadno opredeljuju za nega. Navedeni problem je posledica odabrane

    t kt š l ijstrukture šeme relacije

    17

  • Pri projektovanju IS pažljivo birati šeme relacija – da bi se izbegao unos prevelikog broja vrednosti NULL (racionalnost)

    Primer: Šema relacije Službenik i uvođenje atributa Primer: Šema relacije Službenik i uvođenje atributa medaljaSlužbenik (JMBG,Ime,...,Medalja,...)

    Za većinu službenika na tom mestu bi ostalo prazno mesto sa vrednošću NULL

    • Rešenje problema: kreiranje nove šeme relacije Odlikovanja (JMBG,Medalja)

    • Nova relacija bi bila potpuno popunjena, a preko atributa JMBG bila bi “povezana” sa šemom relacije Službenik

    18

  • Ključ K relacije je podskup skupa obeležja (atributa) te relacije koji ima sledeća svojstva:(atributa) te relacije koji ima sledeća svojstva:1. Vrednosti atributa iz K jednoznačno određuju

    pojavu šeme relacije(ne mogu postojati dve n-torke p j j ( g p jdate relacije sa istim vrednostima atributa iz K) -jedinstvenost ključa

    2 Ak i b i i K bil k ji t ib t t d š 2. Ako izbacimo iz K bilo koji atribut, tada se narušava svojstvo 1 - minimalnost ključa

    19

  • Relacija može da ima više “kandidata” za ključ Zovemo ih ekvivalentni ključevi i uvek se jedan Zovemo ih ekvivalentni ključevi i uvek se jedan

    od njih bira za primarni ključ Primer: Primer:

    › Student({BrInd,Ime,Prez,BrPIsp,JMBG}, {BrInd,JMBG})

    ekvivalentni ključevi

    primarni ključ

    20

  • Student(BrInd,Ime) Drzi(SifK,BrInd,Datum) Knjiga(SifK,SifN) Autor(SifA,Ime) Naslov(SifN, Naziv)

    J t (SifA SifN K ji) Je_autor(SifA,SifN,Koji)

    21

  • Za strani ključ neophodne su dve relacije Povezivanje dve tabele Primer:

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

    DRŽI (BrInd, SifK, Datum)

    Strani ključ relacijeStrani ključ relacije Drži koji pokazuje na primarni ključ

    Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Knjiga

    22

    relacije Studentj j g

  • Student (BrInd,Ime) Knjiga(SifK,SifN) Naslov(SifN,Naziv,SifO)( , , ) Oblast(SifO,Naziv) Autor(SifA,Ime) Pozajmica(SifP,BrInd,Dana)j ( , , ) Rezervacija(SifN,BrInd,Datum) Drzi(SifK,BrInd,Datum) Je autor(SifA,SifN,Koji) Je_autor(SifA,SifN,Koji)

    Jedna šema relacije može da sadrži više stranih ključeva Strani ključ može biti u sastavu primarnog ključa Strani ključ može biti u sastavu primarnog ključa Strani ključ može istovremeno biti i primarni ključ u celini

    23

  • Primer 1: Radnik(SifR,Ime,Adresa,SifNad) Pretpostavka: svaki radnik ima samo jednog

    nadređenog Sve se dešava unutar jedne šeme relacije koja Sve se dešava unutar jedne šeme relacije koja

    sadrži oba učesnika u vezi “strani ključ – primarni ključ”

    Primer 2:Osoba(JMBG Ime Adresa )Osoba(JMBG, Ime, Adresa,...)Brak(JMBG1, JMBG2, Datum_venčanja)

    24

  • Osnovni pojmovi relacionog modela podataka: Osnovni pojmovi relacionog modela podataka: atribut, domen, šema relacije i relacija.

    Šema relacione BP – prvi izvedeni pojam Šema relacione BP prvi izvedeni pojam relacionog modela podataka.

    Šema relacione BP je konačan skup šema relacija j p j{Ri} i konačan skup U ograničenja koja važe između njih.

    Skup ograničenja U uključuje samo ograničenja koja važe između pojedinih šema relacija. Ograničenja O su uključena kroz relacije Ograničenja Oi su uključena kroz relacije (ograničenja nad atributima)

    25

  • Šema relacije predstavlja definiciju relacije Po Šema relacije predstavlja definiciju relacije. Po analogiji, šema relacione BP predstavlja definiciju relacione BP.j

    Primer: sistem Biblioteka ima sledeću strukturnu komponentu šeme relacione BP (svakoj klasi odgovara jedna šema relacije):

    VObjekti:Student(BrInd,Ime)Student(BrInd,Ime)Knjiga(SifK)Knjiga(SifK)

    Veze:Drzi(SifK,BrInd,Datum)Drzi(SifK,BrInd,Datum)Sadrzi(SifK SifN)Sadrzi(SifK SifN)Knjiga(SifK)Knjiga(SifK)

    Naslov(SifN,Naziv)Naslov(SifN,Naziv)Autor(SifA,Ime)Autor(SifA,Ime)

    Sadrzi(SifK,SifN)Sadrzi(SifK,SifN)Je_autor(SifA,SifN,Koji)Je_autor(SifA,SifN,Koji)

    26

    ( , )( , )

  • Relaciona BP je drugi izvedeni pojam u okviru relacionog modela podataka.g p

    Definicija: Relaciona baza podataka BP je konačan skup relacija {ri} nad šemom

    l i BP {R }relacione BP {Ri} Nad šemom relacione baze podataka

    Biblioteka imamo sledeću relacionu bazu Biblioteka imamo sledeću relacionu bazu podataka biblioteka (svojim sadržajem predstavlja stanje sistema biblioteka u jednom predstavlja stanje sistema biblioteka u jednom trenutku)

    27

  • Autor(SifA, Ime )Student (BrInd, Ime )

    75/00 M M k ić

    Autor(SifA, Ime )AP0 A.PopovicIT0 I T d i75/00 M.Marković

    122/03 D.IvanovićIT0 I.TodorovicAP1 A.Petrovic

    5/01 P.Jovanović175/01 R Savić

    JN0 J.NikolicDM0 D.Markovic175/01 R.Savić DM0 D.MarkovicZP0 Z.Petrovic

    28

  • Knjiga (SifK)001

    Naslov (SifN, Naziv )RBP0 Relacione baze podataka001

    002003

    RBP0 Relacione baze podatakaFT00 Finansijska tržištaPI00 Poslovna informatika003

    004

    PI00 Poslovna informatikaOS00 Osnove finansija

    005006007008

    29

    009

  • D ži (SifK B I d D t )Sadrži (SifK, SifN )

    Drži (SifK, BrInd, Datum )001 JJ0 10.11.03002 PP0 01 06 04

    001 RBP0002 RBP0002 PP0 01.06.04

    004 JJ0 15.03.05 003 FT00004 PI00Je autor (SifA, SifN, Koji )005 PI00006 PI00

    _ ( , , j )AP0 RBP0 1JN0 RBP0 2 006 00

    007 OS0008 OS0

    DM0 FT00 1ZP0 PI00 1DM0 PI00 2 008 OS0

    009 OS0DM0 PI00 2AP1 OS00 1IT0 OS00 2

    30

    ZP0 OS00 3

  • Relaciona BP je konačan skup relacija› Svaka relacija ima svoju šemu› Svaka relacija ima svoju šemu› Svaka relacija ima svoje instance (n-torke) tj.

    telotelo Nazivi relacija moraju biti različiti U jednoj relaciji imena atributa moraju biti U jednoj relaciji imena atributa moraju biti

    različita

    31

  • Služi za predstavljanje ograničenja koja važe nad podacima, odnosno nad vrednostima nad podacima, odnosno nad vrednostima pojedinih atributa

    Definiše ograničenja u pogledu postojanja, Definiše ograničenja u pogledu postojanja, vrednosti i međuzavisnosti koje podaci u bazi moraju da zadovolje (skup svih ograničenja j j ( p g jkoja važe)

    32

  • Ta ograničenja se po prirodi mogu podeliti u tri grupe:tri grupe:

    1. Ograničenja torki (izražavaju činjenicu da vrednost atributa mora biti iz datog domena)g )

    2. Relaciona ograničenja (čuva korektnost veza između atributa unutar relacije)

    3. Međurelaciona ograničenja (ograničenja koja se odnose na strani ključ)

    33

  • 1. Ograničenja koja proizilaze iz zahteva unikatnosti n-torki u relacijama. Nazivaju se unikatnosti n torki u relacijama. Nazivaju se identifikacionim ili egzistencijalnim integritetom.g› U jednoj relaciji ne mogu da postoje dve iste n-torke

    34

  • 2. Ograničenja koja se eksplicitno zadaju preko skupova ograničenja O u okviru šema relacija skupova ograničenja Oi u okviru šema relacija Ri.

    Takva ograničenja su posledica ograničenja koja • Takva ograničenja su posledica ograničenja koja važe nad svojstvima u realnom sistemu

    • Teorija funkcionalnih zavisnosti i normalne formeTeorija funkcionalnih zavisnosti i normalne forme• Takva ograničenja nazivaju se funkcionalnim

    integritetom

    35

  • 3. Ograničenja koja uključuju atribute koji se nalaze u različitim relacijama i koja se zadaju nalaze u različitim relacijama i koja se zadaju preko skupa ograničenja U u okviru šeme relacione BP. • Takva ograničenja se nazivaju referencijalnim

    integritetom

    36

  • Identifikacioni integritet proizilazi iz osobina unikatnosti n-torki u relaciji i svodi se na formulaciju odgovarajućeg uslovaformulaciju odgovarajućeg uslova

    Primarni ključ mora biti jedinstven i definisan Uslov identifikacionog integriteta: Uslov identifikacionog integriteta:

    Ni jedan atribut šeme relacije R koji je u sastavu primarnog ključa nikada ne sme imati NULL vrednost u relaciji rvrednost u relaciji r.

    Ukoliko ovo ne bi bilo ispunjeno, može nastupiti situacija da dve ili više n-torki u relaciji postanu j j pidentične

    37

  • Primer:Je_autor (SifA SifN Koji)

    ....................................AP0 RBP0 1AP0 PI00 1

    Ako bi se dozvolilo da npr. SifN uzme vrednost NULLJe_autor (SifA SifN Koji)

    ....................................AP0 NULL 1AP0 NULL 1

    D bil bi d id tič t k št j d lj Dobile bi se dve identične n-torke što je nedozvoljeno u relacionom modelu.

    38

  • f: X→Y (f - naziv funkc.zavisnosti; X,Y - skupovi obeležja) X funkcionalno određuje Y ili Y funkcionalno X funkcionalno određuje Y ili Y funkcionalno

    zavisi od X To znači da se svakom elementu iz domena X To znači da se svakom elementu iz domena X

    može pridružiti najviše jedan element iz domena Ydomena Y

    Poznavanjem jedne vrednosti obeležja X, može se tačno odrediti odgovarajuća vrednost se tačno odrediti odgovarajuća vrednost obeležja Y

    39

  • Trivijalna funkcionalna zavisnost je ona koja je Trivijalna funkcionalna zavisnost je ona koja je uvek zadovoljena› Npr U={A B C} → A→A ABC→A AB→B› Npr. U {A,B,C} → A→A, ABC→A, AB→B› (desna strana je podskup leve)

    Primer: Primer:› N-nastavnik, S-student, P-predmet

    S aki N predaje naj iše jedan P› Svaki N predaje najviše jedan P› Ako S sluša neki P, sluša ga kod samo jednog N

    J d P d j j iš j d N› Jedan P predaje najviše jedan N

    N P SP N P N› N→P, SP→N, P→N40

  • Suština referencijalnog integriteta je u ograničavanju vrednosti stranog ključa. g j g j

    Uslov referencijalnog integriteta: Svaki podskup atributa šeme relacije R koji predstavlja strani ključ može u relaciji r imati:predstavlja strani ključ može u relaciji r imati:› ili vrednost primarnog ključa u ciljnoj relaciji › ili vrednost NULL.

    41

  • Sa stanovišta izmena (ažuriranja) u relaciji koja sadrži strani ključ to podrazumeva da važe sledeća ograničenja:sledeća ograničenja:› Ne može se uneti n-torka sa vrednošću stranog

    ključa koja nije jednaka nekoj vrednosti i klj č ilj j l iji ili NULL d tiprimarnog ključa u ciljnoj relaciji ili NULL vrednosti

    › Ne može se izmeniti n-torka tako da vrednost stranog ključa ne bude jednaka nekoj vrednosti stranog ključa ne bude jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti

    42

  • Sa stanovišta izmena (ažuriranja) u ciljnoj relaciji:› Dodavanje nove n torke (u ciljnoj relaciji) ne › Dodavanje nove n-torke (u ciljnoj relaciji) ne

    narušava ref. int. - nastaje samo nova vrednost primarnog ključa

    › Uklanjanjem n-torke (a izmena ponekad) dovodi do nestanka jedne vrednosti primarnog ključa. Ako bi se ta operacija izvršavala bezuslovno to bi p jnarušilo referencijalni integritet

    43

  • Poželjno je naglasiti da li ref. integritet u pojedinim slučajevima uključuje NULL

    Z ifik ij f ij l ih i t it t Za specifikaciju referencijalnih integriteta usvojena je posebna notacija› Za skup vrednosti koje u r nad R uzima neki Za skup vrednosti koje u r nad R uzima neki

    podskup atributa X› Zapisuje se kao R[X] i čita kao “projekcija relacije

    r po podskupu atributa X”r po podskupu atributa X

    44

  • Specifikacija referencijalnih integriteta za šemu relacione BP Biblioteka› Knjiga[SifN] Naslov[SifN]› Knjiga[SifN] Naslov[SifN]› Naslov[SifO] Oblast[SifO]NULL› Pozajmica[BrInd] Student[BrInd]j [ ] [ ]› Pozajmica[SifK] Knjiga[SifK]› Rrezervacija[SifN] Naslov[SifN]› Rezervacija[BrInd] Student[BrInd]› Rezervacija[BrInd] Student[BrInd]› Drzi[SifK] Knjiga[SifK]› Drzi[BrInd] Student[BrInd]› Je_autor[SifA] Autor[SifA]› Je_autor[SifN] Naslov[SifN]

    45

  • Student (BrInd,Ime) Knjiga(SifK,SifN) Naslov(SifN Naziv SifO) Naslov(SifN,Naziv,SifO) Oblast(SifO,Naziv) Autor(SifA,Ime) Pozajmica(SifP,BrInd,Dana) Rezervacija(SifN,BrInd,Datum) Drzi(SifK BrInd Datum) Drzi(SifK,BrInd,Datum) Je_autor(SifA,SifN,Koji)

    46

  • Primer: Za šemu relacije Radnik:R d ik(SifR I Ad SifN d)Radnik(SifR,Ime,Adresa,SifNad)› Postojala bi sledeća specifikacija:

    Radnik[SifNad] Radnik[SifR]Radnik[SifNad] Radnik[SifR]

    Zavisnost sadržavanja - ograničenje između Zavisnost sadržavanja ograničenje između skupova obeležja pri čemu mora da važi da je domen jednog obeležja podskup drugog domene obeležjadomene obeležja

    Referencijalni integritet je međurelaciona zavisnost sadržavanja kod koje skup obeležja nadskupa predstavlja

    i i klj č š l ijprimarni ključ šeme relacije

    47