1 / 67

Baze podataka

Baze podataka. Relacioni model. 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

tocho
Télécharger la présentation

Baze podataka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Baze podataka Relacioni model

  2. 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 (rekorda) u jednoj tabeli • Svaki red se može jednoznačno odrediti (postoji primarni ključ)

  3. 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 Relacioni model Tabela, sa svojim atributima, je osnovni objekat relacione baze podataka

  4. 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

  5. Relacioni model STUDENT (BrInd, Ime) KNJIGA (SifK, Naziv) DRŽI (BrInd, SifK, Datum) Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Knjiga Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Student

  6. Relacioni model • Svaka tabela mora da ima: • Ime ili naziv tabele, • Spisak atributa i • Vrednosti atributa (podaci upisani u polja) STUDENT

  7. Relacioni model kolone Naziv tabele slogovi

  8. Relacioni model podataka • Relacioni model podataka predstavljateorijskuosnovuza bazepodataka relacionog tipa • Razmatraju se sledeće komponente relacionog modela podataka: • Strukturna komponenta – predstava podataka • Integritetska komponenta– zaštita podataka • Manipulativna komponenta – manipulisanje podacima

  9. Adresa Ulica Broj Poštanski broj Grad Atributi • Imenovana vrsta svojstva (osobina entiteta) • Prost atribut (simple) - ne može se rastavljati na delove bez gubitka svakog značenja – atomska vrednost. • Složen atribut (composite) se sastoji od više prostih atributa. Može se rastaviti na jednostavnije.

  10. Atributi • Pri projektovanju IS, treba pažljivo birati atribute, u skladu sa potrebama • Primer:STUDENT (BrInd, Ime, Prezime, DatRodjenja, Adresa, Telefon,...) • DatumRodjenja – sa namerom posedovanja podatka o starosti svakog službenika – dobar izbor atributa (informacija se može izračunati) • GodineStarosti – loš izbor atributa – zahtevalo bi se svakodnevno ažuriranje BP

  11. Atributi • Skup svih mogućihvrednosti nekog atributa Ai naziva se domenom tog atributa i označava se 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 brojeva • Atribut: NazivKnjigeD2: skup svih različitih naslova knjiga • Atribut: BojaD3: {“žut”,”crven”,”zelen”,”plav”}

  12. Šema relacije • Š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 vrednosti • Podrazumeva se da kada su zadati atributi, zadati su i njihovi domeni • Bitne osobine šeme relacije: • Nazivi atributa moraju biti različiti - unikatnost • Redosled atributa nije bitan • Šema relacije mora da sadrži bar jedan atribut

  13. Šema relacije • Šema relacije se zapisuje:R(A1, A2, ... AN), Ai - atributi N – broj atributa • Primer: Šema relacije koja predstavlja jednu klasu (klasa studenata):STUDENT (BrInd,Ime) • Šemom relacije se predstavljaju svojstva klase objekata ili veza nekog sistema • Šema relacije može da se tumači i kao definicija strukture neke datoteke.

  14. Relacija • Relaciji u praksi odgovara jedna datoteka • Svakoj n-torki odgovara jedan slog te datoteke • 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 11/03 P.Petrovic 151/02 J.Jovanovic III-15/04 M.Markovic šema relacije relacija

  15. Terminologija

  16. NULL vrednost • Vrednost NULL – univerzalnog tipa, primenjiva za atribute bilo kakvih domena • U praksi postoje situacije kada u relacije unosimo n-torke za koje su vrednosti nekih atributa nepoznate u tom trenutku. Postoje dva sličaja: • Vrednost postoji, ali nije poznata u trenutku unosa n-torke. Npr. kod upisa studenata unosimo sve podatke izuzev podataka o telefonu, koji se može i naknadno uneti.STUDENT (BrInd,Ime,Prezime,Telefon) • Posledica trenutnog nepoznavanja vrednosti nekog atributa, i naknadno se može uneti

  17. NULL vrednost • Ta vrednost je nedefinisana, nema smisla. 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 strukture šeme relacije

  18. NULL vrednost • 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 madaljaSluž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

  19. Šema RBP • Osnovni pojmovi relacionog modela podataka: atribut, domen, šema relacije i relacija. • Šema relacione BP – prvi izvedeni pojam relacionog modela podataka. • Šema relacione BP je konačan skup šema relacija {Ri} i konačanskup 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 Oi su uključena kroz relacije (ograničenja nad atributima)

  20. Šema RBP • Šema relacije predstavlja definiciju relacije. Po analogiji, šema relacione BP predstavlja definiciju relacione BP. • Primer: sistem Biblioteka ima sledeću strukturnu komponentu šeme relacione BP (svakoj klasi odgovara jedna šema relacije): Objekti: Student(BrInd,Ime) Knjiga(SifK) Naslov(SifN,Naziv) Autor(SifA,Ime) Veze: Drzi(SifK,BrInd,Datum) Sadrzi(SifK,SifN) Je_autor(SifA,SifN,Koji)

  21. Relaciona BP • Relaciona BP je drugi izvedeni pojam u okviru relacionog modela podataka. • Definicija: Relaciona baza podataka BP je konačan skup relacija {ri} nad šemom relacione BP {Ri} • Nad šemom relacione baze podataka Biblioteka imamo sledeću relacionu bazu podataka biblioteka (svojim sadržajem predstavlja stanje sistema biblioteka u jednom trenutku)

  22. Primer: RBP biblioteka- objekti - Autor (SifA, Ime ) AP0 A.Popovic IT0 I.Todorovic AP1 A.Petrovic JN0 J.Nikolic DM0 D.Markovic ZP0 Z.Petrovic Student (BrInd, Ime ) 75/00 M.Marković 122/03 D.Ivanović 5/01 P.Jovanović 175/01 R.Savić

  23. Primer: RBP biblioteka- objekti - Knjiga (SifK) 001 002 003 004 005 006 007 008 009 Naslov (SifN, Naziv ) RBP0 Relacione baze podataka FT00 Finansijska tržišta PI00 Poslovna informatika OS00 Osnove finansija

  24. Primer: RBP biblioteka- veze - Sadrži (SifK, SifN ) Drži (SifK, BrInd, Datum ) 001 JJ0 10.11.03 002 PP0 01.06.04 004 JJ0 15.03.05 001 RBP0 002 RBP0 003 FT00 004 PI00 005 PI00 006 PI00 007 OS0 008 OS0 009 OS0 Je_autor (SifA, SifN, Koji ) AP0 RBP0 1 JN0 RBP0 2 DM0 FT00 1 ZP0 PI00 1 DM0 PI00 2 AP1 OS00 1 IT0 OS00 2 ZP0 OS00 3

  25. Relaciona BP • Relaciona BP je konačan skup relacija • Svaka relacija ima svoju šemu • Svaka relacija ima svoje instance (n-torke) tj. telo • Nazivi relacija moraju biti različiti • U jednoj relaciji imena atributa moraju biti različita

  26. Integritetskakomponenta • Služi za predstavljanje ograničenja koja važe nad podacima, odnosno nad vrednostima pojedinih atributa. • Ta ograničenja se po prirodi mogu podeliti u tri grupe: • Identifikacioni (egzistencijalni) integritet • Funkcionalne zavisnosti • Referencijalni integritet

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

  28. Integritetskakomponenta • Ograničenja koja se eksplicitno zadaju preko skupova ograničenja Oi u okviru šema relacija Ri. • Takva ograničenja su posledica ograničenja koja važe nad svojstvima u realnom sistemu • Teorija funkcionalnih zavisnosti i normalne forme

  29. Integritetskakomponenta • Ograničenja koja uključuju atribute koji se 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

  30. Primarni ključ- primeri - • Student(BrInd,Ime) • Drzi(SifK,BrInd,Datum) • Knjiga(SifK,SifN) • Autor(SifA,Ime) • Naslov(SifN, Naziv) • Je_autor(SifA,SifN,Koji)

  31. Strani (spoljni) ključ • Dosadašnji ključevi su definisani unutar jedne Relacije. Za strani ključ neophodne su dve Relacije • Primer: • NASLOV(SIFN,NAZIV,SIFO)OBLAST(SIFO,NAZIV) strani ključ

  32. Ključevi- primeri - • Student (BrInd,Ime) • Knjiga(SifK,SifN) • Naslov(SifN,Naziv,SifO) • Oblast(SifO,Naziv) • Autor(SifA,Ime) • Pozajmica(SifP,BrInd,Dana) • Rezervacija(SifN,BrInd,Datum) • Drzi(SifK,BrInd,Datum) • 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 istovremeno biti i primarni ključ u celini

  33. Ključevi- primeri - Primer 1: • Radnik(SifR,Ime,Adresa,SifNad) • Pretpostavka: svaki radnik ima samo jednog nadređenog • 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,...)Brak(JMBG1, JMBG2, Datum_venčanja)

  34. Identifikacioni integritet • Identifikacioni integritet proizilazi iz osobina unikatnosti n-torki u relaciji i svodi se na formulaciju odgovarajućeg uslova • Uslov identifikacionog integriteta: Ni jedan atribut šeme relacije R koji je u sastavu primarnog ključa nikada ne sme imati NULL vrednost u relaciji r. • Ukoliko ovo ne bi bilo ispunjeno, može nastupiti situacija da dve ili više n-torki u relaciji postanu identične

  35. Identifikacioni integritet • Primer: Je_autor (SifA SifN Koji) .................................... AP0 RBP0 1 AP0 PI00 1 • Ako bi se dozvolilo da npr. SifN uzme vrednost NULL Je_autor (SifA SifN Koji) .................................... AP0 NULL 1 AP0 NULL 1 • Dobile bi se dve identične n-torke što je nedozvoljeno u relacionom modelu.

  36. Referencijalni integritet • Suština referencijalnog integriteta je u ograničavanju vrednosti stranog ključa. • Uslov referencijalnog integriteta: Svaki podskup atributa šeme relacije R koji predstavlja strani ključ može u relaciji r imati: • ili vrednost primarnog ključa u ciljnoj relaciji • ili vrednost NULL.

  37. Referencijalni integritet • Sa stanovišta izmena (ažuriranja)u relaciji koja sadrži strani ključ to podrazumeva da važe sledeća ograničenja: • Ne može se uneti n-torka sa vrednošću stranog ključa koja nije jednaka nekoj vrednosti primarnog 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 primarnog ključa u ciljnoj relaciji ili NULL vrednosti

  38. Referencijalni integritet • Sa stanovišta izmena (ažuriranja)u ciljnoj relaciji: • 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 narušilo referencijalni integritet

  39. Referencijalni integritet • Poželjno je naglasiti da li ref. integritet u pojedinim slučajevima uključuje NULL • Za specifikaciju referencijalnih integriteta usvojena je posebna notacija • 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”

  40. Referencijalni integritet • Specifikacija referencijalnih integriteta za šemu relacione BP Biblioteka • Knjiga[SifN]  Naslov[SifN] • Naslov[SifO]  Oblast[SifO]NULL • Pozajmica[BrInd]  Student[BrInd] • Pozajmica[SifK]  Knjiga[SifK] • Rrezervacija[SifN]  Naslov[SifN] • Rezervacija[BrInd]  Student[BrInd] • Drzi[SifK]  Knjiga[SifK] • Drzi[BrInd]  Student[BrInd] • Je_autor[SifA]  Autor[SifA] • Je_autor[SifN]  Naslov[SifN]

  41. Referencijalni integritet • Primer: Za šemu relacije Radnik:Radnik(SifR,Ime,Adresa,SifNad) • Postojala bi sledeća specifikacija:Radnik[SifNad]  Radnik[SifR]

  42. Prevođenje ER modela u relacioni Treći čas

  43. PREVOĐENJE ER MODELA U RELACIONI • Pravilo 1. Svaki entitet (objekat, klasa entiteta) ER modelapostaje relaciona šema sa istim imenom. • Pravilo 2. Svaki atribut entiteta postaje atribut relacione šemepod istim imenom. • Pravilo 3. Ključni atribut(i) (primarni ključ) odnosno identifikatorentiteta postaje primarni ključ relacione šeme.

  44. Predmet Šifra Naziv Prevođenje regularnog tipa poveznika Predmet U relacionom modelu: Predmet {{sifra,naziv},{sifra}}

  45. Primeri • Strukture sa kardinalitetima grupe M:N (0,M) (0,N) Radnik Radi Projekat U relacionom modelu: S= {Radnik{{mbr,ime,prz},{mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} I= {Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp]} G={mbr→ime+prz, ozp →nap, mbr+ozp →brc}

  46. Primeri • Strukture sa kardinalitetima grupe M:N (0,M) (1,N) Radnik Radi Projekat U relacionom modelu: S= {Radnik{{mbr,ime,prz},{mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} I= {Radi[mbr] Radnik[mbr] Radi[ozp] Projekat[ozp] Projekat[ozp] Radi[ozp]} G={mbr→ ime+prz, ozp →nap, mbr+ozp →brc}

  47. Primeri • Strukture sa kardinalitetima grupe M:N (1,M) (1,N) Radnik Radi Projekat U relacionom modelu: S= {Radnik{{mbr,ime,prz},{mbr}}, Projekat{{ozp, nazp}{ozp}} Radi{{mbr, ozp, brc}{mbr+ozp}}} I= {Radi[mbr] Radnik[mbr], Radi[ozp] Projekat[ozp], Projekat[ozp] Radi[ozp], Radnik[mbr] Radi[mbr] } G={mbr→ ime+prz, ozp →nap, mbr+ozp →brc}

  48. Primeri • Strukture sa kardinalitetima grupe N:1 (0,1) (0,N) Radnik Raspoređen Radno mesto U relacionom modelu: S= {Radnik{{mbr,ime,prz,orm},{mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm]} G= {mbr→ime+prz+orm, orm→nrm}

  49. Primeri • Strukture sa kardinalitetima grupe N:1 (1,1) (0,N) Radnik Raspoređen Radno mesto U relacionom modelu: S= {Radnik{{mbr,ime,prz,orm},{mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm], Null(Radnik,orm)= } G={mbr→ ime+prz+orm, orm→nrm}

  50. Primeri • Strukture sa kardinalitetima grupe N:1 (0,1) (1,N) Radnik Radno mesto Raspoređen U relacionom modelu: S= {Radnik{{mbr,ime,prz,orm},{mbr}}, Radno_mesto{{orm, nrm}{orm}}} I= {Radnik[orm] Radno_mesto[orm] Radno_mesto[orm] Radnik [orm]} G={mbr →ime+prz+orm, orm→nrm}

More Related