21
J.K. Projektovanje baze podataka MODELI I BAZE PODATAKA IV 2

MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Projektovanje baze podataka

MODELI I BAZE PODATAKA

IV2

Page 2: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Šema baze podataka

• Jedna baza podataka ima jednu konceptualnu, jednu fizičku i (najčešće) više eksternih šema.

• Fizička šema (plan za fizički zapis podataka u bazu podataka)

• Konceptualna šema (plan za logičko predstavljanje podataka prikazano u vidu ER dijagrama baze podataka)

• Eksterna šema (plan za pogled korisnika (završna aplikacija), forme i izvještaji koji se prikazuju iz baze podataka)

Page 3: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Dobro osmišljena baza podataka omogućit će korisnicima pristup osnovnim informacijama.

Page 4: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Faze projektovanja baze podataka

Sastoji se iz sledećih koraka:

1. Prikupljanje i analiza zahtjeva

2. Konceptualno projektovanje

3. Logičko projektovanje

4. Implementaciono projektovanje

5. Fizičko projektovanje

Page 5: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 1: prikupljanje i analiza zahtjeva

• Na osnovu zahtjeva korisnika ali i uvidom u postojeći sistem (ako postoji ili neki sličan), prikupljaju se informacije o podacima koje su potrebne za sistem.

• U ovom se koraku prikupljaju nazivi entiteta, njihova obilježja (osobine, opis i domen), tajnost i vrijednost svih podataka.

• Podaci koji se prikupe se analiziraju i na osnovu njih se formiraju jasni zahtjevi.

Page 6: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 1: prikupljanje i analiza zahtjeva

• Analiza zahtjeva: identifikuje se svrha baze podataka.

• Obavezno razmotrite bazu podataka iz svake perspektiva.

• Jednom kada se odluči koje ce vrste podataka sadržavati baza podataka, odakle dolaze i kako ce se koristiti, spremni ste započeti planiranje stvarne baze podataka.

Page 7: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 2: konceptualno projektovanje

• U ovom koraku na osnovu jasnih zahtjeva koje se odrede u prvom koraku kreira se konceptualnu šemu koja je nezavisna od hardvera i softvera koji će se koristiti prilikom implementacije.

• Za kreiranje ove šeme najčešće se koristi ER dijagram koji sadrži detaljan opis entiteta, veza i ograničenja.

• Informacije koje se prikupe o entitetima kasnije će postati dio SUPB koji prikazuje tabele (slogove i polja) u bazi podataka.

Page 8: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 2: konceptualno projektovanje

• Bilo bi dobro razvrstati informacije na najmanje dijelove (na primjer, razmislite o odvajanju adrese ulice od zemlje tako da kasnije možete filtrirati pojedince prema državi u kojoj žive.) ali sve zavisi od svrhe sistema.

• Izbjegavajte postavljanje više stranih (sekundarnih) ključeva u jednu tabelu, ili postavljenje jednog stranog ključa u više tabela, što usložnjava sistem.

Page 9: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 3: logičko projektovanje

• U ovom koraku se vrši „preslikavanje“ konceptualne šeme u trenutno predviđeni softver koji je odabran za implementaciju b.p.

• Kreirani ER dijagram, se opisuje podacima grupisanim u tabele, od kojih se svaka stoji od redova (slogova) i kolona (domena podataka). Prilikom definisanja podataka određujete i njihove tipove podataka, i određujete ključna obilježja.

Page 10: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 3: logičko projektovanje

• Kada imate preliminarni dizajn baze podataka, možete primjeniti pravila za normalizaciju da biste bili sigurni da su tabele pravilno struktuirane.

• Međutim ne mogu se sve baze podataka u potpunosti normalizovati.

• Online baze podataka koje se koriste za analizu i izvještavanje se denormalizuju (ne moraju se normalizovati), s obzirom da je naglasak na brzini izračunavanja i prikaza podataka.

Page 11: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 3: logičko projektovanje

KUPAC

IDkupca imekupca przkupca

PRODAJA

IDprodaje IDkupca IDgodine IDdrzave

valuta DRZAVA

IDdrzave nazivdrz

GODINA

IDgodine Datum mjesec

Denormalizacija: na primjer, možda se želi znati prodaja prema kupcu, državi i mjesecu prodaje. U ovoj situaciji najbolje je kreirati centralnu tabelu činjenica na koju mogu da se pozivaju druge tabele.

Page 12: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 4: implemantaciono projektovanje

• U procesu implementacije baze podataka, donosi se odluka (na osnovu troškova, operativnog sistema, funkcije i dr.) o izboru SUBP koji će se koristiti.

• Kao implementacioni model baze podataka najčešće se koristi relacioni model : • Oracle DB • MySQL • Microsoft SQL Server • PostgreSQL • MS Access

Page 13: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 4: implemantaciono projektovanje

• Nakon izbora SUBP, logička šema se prevodi u implementacioni model.

• SUBP sadrži jezike za opis podataka, kojim vršimo opis naše baze.

• Ti jezici tradicionalno se dijele na sljedeće kategorije:

• jezik za opis podataka (Data Description Language - DDL). • jezik za manipulisanje podacima (Data Manipulation Language

DML).

• jezik za postavljanje upita (Query Language - QL).

Page 14: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 4: implemantaciono projektovanje

• Kod relacionih baza sva tri jezika objedinjena su u jedan jezik SQL (eng. Structured Query Language)

• Različiti SUBP koriste različite SQL ali u osnovi je ista podloga koriste se osnovne engleske riječi prilikom kreiranja naredbi.

• Da li neko zna da li je SQL proceduralni ili neproceduralni programski jezik?

• Neproceduralni – Lakši je za čovjeka jer opisuje zahtijevani rezultat a ne način kako to izvesti.

Page 15: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Primjer SQL programa

SELECT * FROM tabela_ucenici

SELECT ime_u FROM tabela_ucenici

INSERT INTO tabela_ucenici (id_u, ime_u, prz_u, pol_u, dat_rod) VALUES (‘000005’, ‘Eva’, ‘Ras’, ‘Z’, 20.05.2000)

Page 16: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 4: implemantaciono projektovanje

• Prilikom implementacije, mora se paziti da je konfiguracija baze podataka u skladu sa odgovarajućim pravilima. Mnogi sistemi za upravljanje bazama podataka, kao što je Microsoft Access, neka od ovih pravila automatski primjenjuju (na primjer ne dozvoljavaju da ključno obilježje bude prazno, upozoravaju da su ključevi različitog tipa podataka ...).

• Treba pazite na domene tj. postavite ograničenja (na primjer, čas treba da počne/ završi u tačno definisano vrijeme tokom radnih dana).

Page 17: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 4: implemantaciono projektovanje

• Možete prilikom implemntacije baze dodati indeksirana polja ili posle provjere rada baze. Dodavanje indeksa omogućava korisnicima da brže pronađu slogove. Umesto da ponovo sortira za svaki upit, sistem može pristupiti slogovima redoslijedom navedenim u indeksu.

• Međutim zavisno od tipa baze i softvera indeksirana polja ubrzavaju pretraživanje ali mogu da uspore ažuritanje (upis, izmjenu, brisanje) polja.

Page 18: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 4: implemantaciono projektovanje

• Ponekad je bolje umjesto indeksiranog polja u bazi koristiti sačuvane upite koji predstavljaju filtrirane/sortirane podatke (mogu se korisno pridružiti podaci iz jedne/više tabela postavljanjem kriterijuma).

• Kada se završi baza podataka se može srediti kreiranjem aplikacija.

Page 19: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 5: Fizičko projektovanje

• Fizička implementacija, kreirane baze podataka, je posljednji korak prije puštanja sistema u primjenu. U ovoj fazi su potrebna drukčija znanja i vještine (više tehnička nego poslovna).

• Fizičko projektovanje baze podataka se često naziva i ,,modeliranje podataka“ (engl. data modeling).

• Dok konceptualna šema nezavisan od platforme i tehnologije, fizički model zavisi od osobina konkretne baze podataka i servera na kom će biti implementiran.

Page 20: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

Korak 5: Fizičko projektovanje

• Kako bi se poboljšale performanse sistema, koriste se projektantske tehnike koje imaju za cilj optimizovanje ažuriranja podataka (unošenje, čuvanje, brisanje, pristup i praćenje)

• Neke od projektantskih tehnika su: pažljivo određivanje nivoa raspodjele podataka (grad kao poseban entitet ili kao obilježje), spajanje u jednu tabelu činjenica koje se koriste u istom upitu, denormalizacija (implementiranje sumarnih tabela), itd.

Page 21: MODELI I BAZE PODATAKA IV2 - gimnazija.bdcentral.net

J.K.

???

Ima li pitanja?