Aleksinaka gimnazija MODELI PODATAKA Neboja Lazarevi prof inf
Aleksinačka gimnazija MODELI PODATAKA Nebojša Lazarević, prof. inf.
MODELI PODATAKA �U procesu razvoja baze podataka najpre se formira model realnog sistema, tako što se izaberu značajne karakteristike sistema koje se predstavljaju modelom. � � Postoji mnogo različitih mogućnosti da se modelira sistem. U fazi modeliranja zadatak projektanta baze podataka je da otkrije funkcije koje sistem mora izvršavati, podatke koje mora pamtiti i obrađivati, informacije koje mora obezbeđivati za potrebe korisnika, sekvence u kojima se funkcije moraju izvršavati i u kojima se može pristupati podacima. Deo modela sistema koji se odnosi na podatke naziva se model podataka.
� Tokom razvoja baza podataka razvijeno je nekoliko generacija SUBPa i razlika leži u modelu podataka. Modelom podataka predstavlja se logička struktura podataka – način na koji se podaci iz fizičke baze (diska) podataka predstavljaju korisniku. � Model podataka čini osnovu za logičko projektovanje BP
� Model podataka se sastoji iz tri komponente: � 1. STRUKTURNI DEO MODELA – tipovi objekata i njihova svojstva � 2. � 3. RUKOVANJE PODACIMA – radnje i upiti INTEGRITET PODATAKA – skup uslova koje podaci moraju da zadovolje
� 1. STRUKTURNI DEO MODELA PODATAKA
1 – STRUKTURNI DEO MPa � Realni svet koji treba predstaviti modelom podataka sastoji se od objekata koji mogu biti stvarni ili apstraktni i koje nazivamo entitetima. Stvarni objekti mogu biti prirodni (reke, planine, mora, šume. . . ) ili veštački (telefonske ili vodovodne instalacije, putevi, vozila, zgrade). Apstraktni objekti mogu biti događaji (osiguranje vozila, overa semestra, upis na fakultet. . . ), pojmovi (nauka, znanje, učenje. . . ), stanja i uloge (službenik, doktor, preofesor, student, stanovnik. . . ). Važno � Izabrani entiteti će kasnije u bazi podataka biti predstavljeni tabelama. Zbog toga pogledajte pažljivo naveden objekte pošto mogu da vam budu dobar vodič kod izbora entiteta! �
1 – STRUKTURNI DEO MPa � � Svaki objekat, odnosno entitet, poseduje neka svojstva. Na primer, entitet "vozilo" ima vlasnika, registarski broj, datum registracije, godinu proizvodnje, proizvođača, marku, boju, tip motora, i dodatnu opremu. Svojstva ili atributi objekta će biti predstavljena kolonama u odgovarajućoj tabeli. Objekti međusobno mogu biti povezani različitim odnosima odnosno relacijama. Svaka takva relacija može da poseduje posebna svojstva. Relacije se mogu iskoristiti kod pretraživanja međusobno povezanih podataka, na primer, kod pretraživanja podataka o registrovanim vozilima i njihovim vlasnicima. Više detalja o načinu povezivanja podataka iz tabela pogledajte u sekciji koja se odnosi na ključeve relacija, konkretno na strane ključeve i očuvanje integriteta. Važno Izborom objekata, definisanjem njihovih svojstava i prepoznavanjem veza između objekata, izvršili smo modeliranje dela realnog sveta koji predstavlja naš problem!
1 – STRUKTURNI DEO MPa � � Atributi su zajedničke osobine koje poseduju svi entiteti jednog skupa entiteta. Iz skupa atributa entiteta za potrebe konkretnog informacionog sistema bira se samo određeni podskup. Pošto se entiteti odnosno objekti realnog sveta predstavljaju relacijom, atributi predstavljaju svojstva te relacije. Pošto je relacija predstavljena tabelom, atributi predstavljaju kolone te tabele. Svaka relacija predstavlja skup torki, gde se svaka torka odnosi na konkretan entitet iz skupa entiteta. U tabelarnom prikazu relacije, vrste tabele su podaci o konkretnim entitetima, odnosno torke, tako da atribut za svaki konkretni entitet iz skupa entiteta poseduje određenu vrednost. Skup vrednosti koje neki atribut može uzimati zovemo domen atributa. Praktično, svaki atribut u relaciji je definisan nad nekim domenom. Koncept domena je vrlo važan. Omogućava korisniku da definiše na jednom centralnom mestu značenje i izvor vrednosti koje atribut može uzimati. Svaki domen atributa se definiše: tipom podataka, dužinom podataka i opsegom vrednosti.
1 – STRUKTURNI DEO MPa � � � NULL Vrednosti atributa Atributi uzimaju vrednosti iz odgovarajućeg domena koji im je dodeljen, što u praksi znači da će vrednosti u tabeli za neku kolonu da budu onog tipa podataka koji smo izabrali za tu kolonu. Međutim, DBMS dozvoljava da atribut nema dodeljenu vrednostm što podrazumeva korišćenje tzv NULL vrednosti. Ova specijalna vrednost se mora uvesti zato što u odgovarajuću ćeliju tabele treba da stoji neka vrednost da bi pretrage i analize radile. NULL vrednost može da ima dva značenja: Vrednost atributa za posmatrani entitet ne postoji ili još uvek nije poznata. Na primer, za radnika koji je tek treba ili je tek počeo da radi vrednost atributa prethodni radni staž nije poznata. Vrednost atributa za posmatrani nije primenjiva. Na primer, ako za relaciju RADNIK imamo atribut FAKULTET u kome se čuva naziv fakulteta koji je radnik završio, svi radnici sa srednjom školskom spremom će imati NULL vrednost za taj atribut.
� Deo modela sistema koji se odnosi na podatke naziva se model podataka. � Svaki objekat, odnosno entitet, poseduje neka svojstva. � Npr: vozilo { ime vlasnika, registarski broj, datum registracije, godinu proizvodnje, proizvođača, marku, boju, tip motora, i dodatnu opremu} � Objekti međusobno mogu biti povezani različitim odnosima odnosno relacijama. � Izborom objekata, definisanjem njihovih svojstava i prepoznavanjem veza između objekata, izvršili smo modeliranje dela realnog sveta koji predstavlja naš problem! Baze podataka
Osnove relacionog modela � Relacija se u bazi podataka predstavlja dvodimenzionalnom tabelom, gde vrste odgovaraju pojedinim slogovima, a kolone atributima. � Atributi se mogu pojavljivati u bilo kom redosledu u tabeli. � Redosled vrsta tabele takođe nije bitan. � Svaka tabela, kao i svaka kolona u tabeli imaju ime. Baze podataka
Primer ENTITET ATRIBUTI UČENICI JMBG Ime Prezime Ulica 0302996473956 Marko Petrović Kumodraška 4 2309995393928 Dragana Obradović Bul. Mira 23 1906993299002 Petra Marinković Pirotska bb TORKA PRIMARNI KLJUČ DOMEN Baze podataka
1 – STRUKTURNI DEO MPa � Skup svih vrednosti nekog atributa zvaćemo Domen. (engl. Domain) � Shema relacije zadaje broj atributa relacije, njihove nazive i domene. primer: UCENICI(jmbg, ime, prezime, ulica) Bitan princip relacionog modela je da sve vrednosti moraju biti Atomične.
� Relaciona relacija. � Skup baza podataka nastaje skupom shema relacije relacione baze podataka predstavlja shemu relacione baze podataka.
RELACIONI MODEL � � � Relacioni model ima snažnu teorijsku osnovu, koja se zasniva na matematičkoj teoriji relacija i na logici prvog reda, i za korisnika vrlo prihvatljivu reprezentaciju u vidu dvodimenzionalne tabele. Relacioni model oslobađa korisnika frustracija oko rukovanja podacima na niskom nivou, zalaženja u detalje smeštanja podataka i metodama pristupa iz korisničkog interfejsa. Relacioni model obezbeđuje sredstva za opis podataka sa njihovom prirodnom strukturom, bez dodatnih struktura za potrebe mašinske reprezentacije. Ovaj model daje osnovu za jezik visokog nivoa za pristup podacima koji obezbeđuje maksimalnu nezavisnost između programa, s jedne strane, i mašinske reprezentacije, s druge strane. U relacionom modelu podataka relacije se koriste za čuvanje informacije o objektima koje treba predstaviti u bazi podataka. U fazi projektovanja baze podataka, za konkretan problem, treba najpre prepoznati objekte realnog sveta (entiteti) za koje treba čuvati podatke i prepoznati njihove atribute. Svaki takav objekat predstavlja se relacijom u relacionom modelu.
Relacija se u bazi podataka predstavlja dvodimenzionalnom tabelom, gde vrste odgovaraju pojedinim slogovima, a kolone atributima. Atributi se mogu pojavljivati u bilo kom redosledu u tabeli. Redosled vrsta tabele takođe nije bitan. Svaka tabela, kao i svaka kolona u tabeli imaju ime. � Očigledno je da je relacija u relacionom modelu, odgovara pojmu tabela u bazi podataka. U svetu baza podataka, obično se koriste jedni termini kada se govori o relacionom modelu, a drugi kada se govori o bazi podataka, odnosno implementaciji relacionog modela. Uporedni prikaz termina i njihovog značenja dat je na slici. � � Relacioni model Baza podataka Relacija Tabela Torka Vrsta Atribut Kolona Domen atributa Tip podatka kolone Šema relacije Opis tabele
SVOJSTVA RELACIJE � � � � � Relacija ima sledeća svojstva: · Svaka relacija ime koje se razlikuje od imena svih ostalih relacija u šemi relacione baze podataka, · Svaka ćelija tabele (određena vrstom i kolonom) kojom je relacija predstavljena sadrži samo jednu atomičnu (prostu) vrednost, · Svi atributi jedne relacije imaju različito ime, · Sve vrednosti jednog atributa su iz istog domena, · Sve torke relacije su različite, tj. u relaciji ne postoje duple torke, · Redosled atributa u relaciji nema značaja, i · Redosled torki u relaciji teoretski nema značaja, ali praktično redosled torki u relaciji može uticati na efikasnost pristupa torkama!
� 1. RUKOVANJE PODACIMA
2 – rukovanje podacima Formalno, rukovanje podacima u relacionim modelima se odvija preko relacione algebre i relacionog računa. Operacije koje se obavljaju su izdvanjae atributa (kolona), izdvajanje n-torki (vrsti) i spajanje dve ili više relacija (tabela).
2 – rukovanje podacima Ove operacije se nazivaju: q- projekcija (izdvajanje skupa atributa q - restrikcija (izdvajanje redova tabele po nekom logičkom uslovu q - spajanje (kombinacija dve relacije)
3 – Integritet podataka kod relacionog modela odnosi se na uslove koji treba da budu zadovoljeni da bi stanje baze podataka ostalo konzistentno (validno)!
Podaci mogu biti: � Numerički tip - (brojevi, valute, procenti. . . ) � Znakovni tip koji obuhvata velika i mala slova azbuke, cifre, specijalne znake sa tastature. � Logički tip obuhvata samo vrednosti tačno i netačno. � Datum/vreme tip je podskup znakovnog tipa, a datum i vreme se unose u uvek precizno definisanom formatu. � Memo tip je podskup znakovnog tipa i namenjen je za pisanje komentara (veće količine teksta). � Objekti - (slika, video, zvuk. . . ) Baze podataka
Relacije u relacionim BP � Za povezivanje tabela koriste se odgovarajuća polja u tabelama (polje primarnog ključa i polje spoljnog ključa). � Primarni ključ ima jedinstvenu vrednost (vrednost ne može da se ponavlja). Sve tabele koje čine bazu moraju da imaju polje primarnog ključa. � Spoljni ključ ima vrednost koja se ponavlja ali je podatak istog tipa kao u polju primarnog ključa. � Podaci u polju primarnog i polju sekundarnog ključa moraju biti istog tipa (najčešće Numeričkog tipa). Baze podataka
Relacioni integritet � Radi se o domenskim ograničenjima (eng. domain constraints), kojima se ograničava skup dozvoljenih vrednosti atributa relacije. � Postoje još dva pravila integriteta: ◦ integritet entiteta (eng. entity integrity) i ◦ referencijalni integritet (eng. referential integrity), koja ograničavaju ili zabranjuju pojave određenih torki u relaciji. Baze podataka
Relacioni integritet � Integritet entiteta Nijedan atribut primarnog ključa bazne relacije ne sme imati NULL vrednost. � Referencijalni integritet Ako postoji neki spoljni ključ u relaciji, njegova vrednost mora biti jednaka vrednosti ključa kandidata neke torke u matičnoj relaciji ili njegova vrednost mora biti NULL. Referencijalni integritet je važan kod definisanja međusobnih veza između tabela. Baze podataka
KLJUČEVI RELACIJE � � � Da bismo jedan entitet jednoznačno identifikovali u posmatranom skupu entiteta on mora posedovati neko svojstvo, ili kombinaciju od nekoliko svojstava, takvu da vrednost tog ili tih svojstava jednoznačno određuju svaku pojavu tog tipa entiteta. Takva svojstva nazivamo karakterističnim, a njihove vrednosti koristimo kao identifikator entiteta unutar skupa. Na primer, skup entiteta RADNIK predstavljamo relacijom/tabelom gde svaka vrsta odgovara jednom entitetu, odnosno predstavlja jednog konkretnog radnika. U tom slučaju neophodno je prepoznati svojstva (atribute) koje možemo da koristimo za identifikaciju radnika unutar skupa radnika. U relacionom modelu podataka atribut ili skup atributa čije vrednosti predstavljaju identifikator entiteta (torke u relaciji) nazivamo ključem relacije. Takvi atributi se nazivaju ključni atributi. Ako relacija ne poseduje atribut ili skup atributa koji je identifikuju, tada se uvodi specijalni identifikacioni atribut - ključ surogat, koji se obično označava sa ID. U relacionom modelu podataka postoji više termina koji se koriste za relacione ključeve, što će niže biti uvedeno.
Terminologija � � � � Ključ Pošto su sve torke relacije različite, u relaciji mora postojati atribut ili skup atributa (tzv kompozitni ključ – ključ od više atributa), nazvani relacioni ključevi ili ključevi relacije, koji na jedinstven način identifikuje svaku torku relacije. Super ključ Atribut ili skup atributa koji na jedinstven način identifikuje torku unutar relacije. Ključ kandidat Superključ čiji nijedan pravi podskup nije superključ relacije. Relacija može imati više ključeva kandidata. Primarni ključ Ključ kandidat koji je odabran da na jedinstven način identifikuje torke unutar relacije. Primarni ključ može biti prost (1 atribut) ili složeni (grupa atributa). Da bi neki atribut bio kandidat za ključ relacije, odnosno postao ključ relacije potrebno je davaže sledeći uslovi: • Uslov jedinstvenosti, ne postoje bilo koje dve n-torke sa istom vrednošću k • Osobina neredudantnosti, ako se bilo koji atribut izostavi iz k, gubi se osobinajedinstvenosti. Ključ surogat Identifikator koji je dodat relaciji kao primarni ključ, zato što relacija nema odgovarajući atribut ili skup atributa koji može biti primarni ključ relacije. Spoljni ključ / Strani ključ Atribut ili skup atributa jedne relacije koji se uparuje sa ključem kandidatom neke druge ili iste relacije. Važan za ostvarivanje međusobnih veza između tabela!!!
- Slides: 32