i rad sa podacima RELACIONA BAZA PODATAKA - baza podataka koja realizuje relacioni model RELACIONI MODEL - nain opisivanja aspekata stvarnog sveta (definisao Codd) PROSTOR PROBLEMA dobro definisani deo stvarnog sveta MODEL PODATKA konceptualni opis prostora problema EMA BAZE PODATAKA opis modela podataka koji se uvaju u bazi BAZA PODATAKA fiziki oblik eme i podataka MAINA BAZE PODATAKA APLIKACIJA skup obrazaca, transakcija i izvetaja korisnik sistem koji radi sa bazom podataka RELACIONI MODEL Teorija skupova Predikatska logika Relaciona algebra RELACIONI MODEL definie:
strukturu podataka - kako se predstavljajue podaci; integritet podataka - kako se podaci tite; manipulisanje podacima - koje se operacije mogu vriti nad podacima.
podaci su organizovani u redove i kolone - RELACIJE SKALARNE VREDNOSTI - u jednoj eliji moe biti samo jedna vrednost CELOVITOST - operacije su nad celim relacijama, rezultat je relacija OSOBINE RELACIONIH SISTEMA BP Relaciona terminologija Konceptualna Fizika Baze podataka relacija tabela tabela ili skup zapisa (table & recordset) atribut polje polje ili kolona (field & column) n-torka zapis red ili slog (row & record) ENTITET - ono o emu sistem skladiti podatke Kupci kupuju robu. Prodavci prodaju robu. Dobavljai nam prodaju robu. KONKRETNI ENTITETI - objekti i dogaaji iz stvarnog sveta
APSTRAKTNI ENTITETI - odnosi izmeu entiteta (koju robu koji dobavlja isporuuje, kontakt osoba za dobavljaa ili kupca...) ATRIBUT - TIP - DOMEN optiji (domen je podskup tipa) fiziki pojam broj, tekst, datum, logiki (T/F)... TIP skup prihvatljivih vrednosti atributa logiki pojam sprema: VSS, VS, VKV, KV, NK dan: ponedeljak, utorak, sreda... DOMEN Kompatibilni atributi - mogue im je porediti domene npr: ifra zaposlenog i ifra prodavca ali ne i: ifra zaposlenog i koliina robe Odnosi meu entitetima HARRODS department store .., Baldinini - 15 * ( )
30 * Nokia N95 - 20 * Jonnie Walker blue label - 10 * * , HP extreme multimedia - 25 * Atributi: broj rauna kupac prodavac artikli cene porez datum ... entitet Artikli entitet? Proizvoai entitet Dobavljai entitet Prodavci entitet Kupci Atributi: ifra naziv cena proizvoa? ... entitet Rauni Atributi: ifra prezime i ime ? adresa? ... REDUNDANTNOST ifra artikl prodavac cena adresa 101 mobilni N95 Vlajkovi Jelena 20,00 Pera, Malog Marka 23, VA 120 enske izme Biranin Ivan 15,00 Sima, Malog Marka 23, VA 131 viski Vlajkovi Jelena
10,00 Pera, Ivice Paia 11, BG 131 viski Biranin Ivan
12,00 Laza, rtava palog dinara 78, VA 101 mobilni N95 Biranin Ivan
20,00 Laza, rtava palog dinara 78, VA 140 notebook HP Bogdanovi Marija 25,00 Bajazit, Suner Boba 21, LA Koliko kota viski? Gde ivi Pera? Ivan promeni prezime? Dobavljai? Laza se preseli? ifra ega? ta je prodato u Valjevu? ta je ifra 131? ANOMALIJE AURIRANJA:
nemamo podatke o prodavcu koji jo nita nije prodao; nemamo podatke o neprodatim artiklima; obriemo Perine kupovine, gubimo sve podatke o Peri; viestruko unosimo iste podatke.
FLEKSIBILNOST Simonida Puhalo, Trg Breda Pita 28, Beograd kupac = ime + " " + prezime + " " + ulica + " " + broj.ToString() + " " + grad; Ime Prezime Adresa Grad Simonida Puhalo Trg Breda Pita 28 Beograd Problem je izdvajanje informacije: U kom gradu ivi Simonida? KUPAC Kupac Artikl Andrija Ojdani Baldinini izme, Kristalizovani ugljenik, Nokia N95 Kupac Artikl 1 Artikl 2 Artikl 3 Andrija Ojdani Baldinini izme Kristalizovani ugljenik Nokia N95 Da li je Era kupio N95? ta ako Era jo kupi XP extreme? Kupci ... Era ... Una ... Artikli ... Baldinini izme ... Nokia N95 ... Kristalizovani ugljenik ...
ifra artikl cena if_kupca ime adresa grad 101 mobilni N95 20,00 PR Pera Malog Marka 23 Valjevo 120 enske izme 15,00 SI Sima Malog Marka 23 Valjevo
131 viski 10,00 PR Pera Ivice Paia 11 Beograd ... ... ... ... DEKOMPONOVANJE bez gubitaka ifr a artikl cena if_kupca 101 mobilni N95 20,00 PR 120 enske izme 15,00 SI 131 viski 10,00 PR ... ... ... if_kupca ime adresa grad PR Pera Malog Marka 23 Valjevo SI Sima Malog Marka 23 Valjevo
PR Pera Ivice Paia 11 Beograd ... ... KLJU - skup atributa koji jednoznano odreuje n-torku PRIMARNI KLJU - skup atributa koji jednoznano odreuje n- torku, pri emu ni jedan njegov podskup nema tu osobinu = klju iji ni jedan podskup nije klju! ifra artikl cena if_kupca ime adresa grad 101 mobilni N95 20,00 PR Pera Malog Marka 23 Valjevo 120 enske izme 15,00 SI Sima Malog Marka 23 Valjevo
X funkcionalno odreuje Y (Y funkcionalno zavisi od X) akko: za svaku legalnu vrednost X postoji samo jedna legalna vrednost Y X -> Y ifra artikl cena if_kupca ime adresa grad 101 mobilni N95 20,00 PR Pera Malog Marka 23 Valjevo {ifra} -> {artikl, cena, if_kupca, ime, adresa, grad} {101} -> {mobilni N95, 20,00, PR, Pera, Malog Marka 23, Valjevo} NORMALIZACIJA NORMALNE FORME Kupac Artikl Andrija Ojdani Baldinini izme, Kristalizovani ugljenik, Nokia N95 Nije u I NF: DATUMI: dan u nedelji dan mesec godina ponedeljak 01 04 2009 sreda, 01. april 2009. Olakano pretraivanje (npr: po danu, mesecu ili godini) Oteana datumska aritmetika (npr: 01.04.2009 + 45 dana) datum 01/04/2009 12:39:54 Tip DateTime Podrana datumska aritmetika Problemi sa poreenjem (npr: 01.04.09 01.04.2009 00:00:00) Now() Date() ili Today() datum 01.04.2009. Tip Text (String) Teko pretraivanje (npr: po danu, mesecu ili godini) (1.4.2009. 01.04.2009.) Mogu unos nemoguih kombinacija (npr: 30.02.2009.) KOMPOZITNE IFRE: REF001032009 Prva referenca od marta 2009. 45-501150-2009-02 Raun za vodu kupca 45-501150 za februar 2009. g2EPOpBZP godina II, smer EPO, predavanja, predmet BAZE PODATAKA godina smer aktivnost predmet II EPO predavanje Baze podataka ta ako: se uvede novi smer (raunovodstvo) ili aktivnost (laboratorijske vebe) ili predmet? studij se produi na IV godine (mrenja se domen)? predmet promeni naziv (Relacione baze podataka)? godina smer# aktivnost# predmet# 2 8 3 102 Spoljni kljuevi: II NORMALNA FORMA Kupac Artikl Andrija Ojdani Baldinini izme, Kristalizovani ugljenik, Nokia N95 Nije u I NF: artikl marka datum kupac adresa mobilni N95 Nokia 01.03.09 Pera Malog Marka 23, VA enske izme Baldinini 24.03.09 Sima Ivice Paia 11, BG viski Jonnie Walker 01.04.09 Pera Malog Marka 23, VA ... ... ... Nije u II NF: artikl kupac datum Klju: marka zavisi samo od artikla, ne i od kupca ni datuma adresa zavisi samo od kupca, ne i od artikla ni datuma Ako relacija nije u II normalnoj formi:
velika redundantnost podataka (tj. ista informacija se vie puta unosi i na vie mesta uva)
anomalije auriranja (mora se menjati na vie mesta), anomalije brisanja (mogu neeljen gubitak informacija), anomalije unosa (mogu unos tek nakon dogaaja, tj. veze)
Artikli artikl marka ... Kupci kupac adresa ... Kupovina artikl kupac datum ... (relacije veza) TRANZITIVNA FUNKCIONALNA ZAVISNOST Atribut A je klju. Atribut A odreuje atribute B i C. Ali i atribut B odreuje atribut C. III NORMALNA FORMA radnik# ime kancelarija lokal ... 154 Ivan 25 102 168 Marija 20 124 202 Jelena 25 102 ... ... ... Nije u III NF: Jeste u II NF jer: <radnik#> -> <ime> <radnik#> -> <kancelarija> <radnik#> -> <lokal> ALI: <kancelarija> -> <lokal>
radnik# ime kancelarija lokal ... 154 Ivan 25 102 168 Marija 20 124 202 Jelena 25 102 ... ... ... radnik# ime kancelarija ... 154 Ivan 25 168 Marija 20 202 Jelena 25 ... ... ... kancelarija lokal ... 20 124 25 102 ... Spoljni klju radnik# ime grad potanski broj ... 154 Ivan Beograd 11.000 168 Marija Valjevo 14.000 202 Jelena Beograd 11.000 ... ... ... radnik# ime grad ... 154 Ivan Beograd 168 Marija Valjevo 202 Jelena Beograd ... ... ... grad potanski broj ... Beograd 11.000 Valjevo 14.000 ... ALI: DA LI NAM OVO ZAISTA TREBA? grad potanski broj Beograd 11.000 Valjevo 14.000 Uvodimo novi registar (ifarnik, relaciju) ako:
entitet je bitan deo modela dolazi do promene podataka ako registar prua tehnike prednosti pri realizaciji (tj. pojednostavljuje mogue upite)
Mesto prebivanja radnika nije posebno bitno Potanski broj se skoro nikad ne menja Jedini mogui izvetaj: nepotpuna tabela potanskih brojeva mesta u Srbiji Boyse-Coddova NORMALNA FORMA Uslovi za primenu BC NF: postoji vie kandidata za klju; najmanje dva od njih moraju biti sloeni; postoje zajedniki atributi meu kandidatima za kljueve. U PRAKSI IZUZETNO RETKO !
IV NORMALNA FORMA Vieznana zavisnost: R<X,Y,Z> X vieznano odreuje Y (Y zavisi od X, ali ne od Z)
Uzrok redundanse! Primer: NASTAVA<predmet#, nastavnik#, knjiga#>
Podatak da nastavnik predaje neki predmet se javlja onoliko puta koliko udbenika on koristi! V NORMALNA FORMA