uvod u baze podataka - wordpress.com · zadaci dbms skup programa ... programiranje baze podataka....

29
Uvod u baze podataka

Upload: others

Post on 01-Jan-2020

20 views

Category:

Documents


2 download

TRANSCRIPT

Uvod u baze

podataka

Pojam

Baze podataka predstavljaju skup podataka organizovanih s nekim zajedničkim ciljem

–centralno skladištenje podataka i jednostavno upravljanje podacima .

Nije od velikog značaja kakva podrška postoji za prikupljanje i skladištenje podatka

(papir, datoteke,...) sve dok se podaci prikupljaju i skladište na neki organizova način i

sa specifičnim ciljem može se govoriti o bazama podataka.

Pod bazama podataka podrazumevamo strukturirani skup podataka koji omogućava

takvo skladištenje velike količine podataka koje olakšava njihovu eksploataciju

(dodavanje, ažuriranje, pretraživanje). Naravno, danas, kada se govori o bazama

podataka, misli se prvenstveno na automatizovane baze podataka.

2

...Nekad

Kako su izgledale baze podataka pre 20 godina???

3

Definicija

Automatizovane baze podataka predstavljaju organizovani skup podataka koji je

zabeležen na nekom računarskom nosicu podataka; ovaj skup podataka predstavlja

informacije o realnom svetu koje neka zajednica korisnika može da po potrebi menja i

pretražuje.

4

Sada

Gde koristimo baze podataka – koja je njihova primena?

Poslovanje preduzeća

Prodaja: korisnici, proizvodi, kupci

Proizvodnja: obrada, inventar, porudžbine, lanac snabdevanja

Ljudski resursi: evidencija zaposlenih, zarade

Policijska baza podataka – sva sreća pa gledamo CSI

Škole, fakulteti – Baze učenika, studenata, rasporedi…

Aerodromi: rezervacije, raspored letova

Zdravstvo –evidencija o pacijentima, zaposlenima, organizacija i zakazivanje

Finansijske organizacije –banke, transakcije

Politika – političke stranke

5

Gde još koristimo baze podataka?

INTERNET? Ali gde na internetu?

Primer web stranice koja koristi bazu podataka je Instagram kao i www.IMDB.com –

Internet Movie Data Base

Društvene mreže

Dinamičke web stranice (npr online vesti)

Kako to sve izgleda? Mi imamo formu – web stranicu kojoj pristupamo, a podaci koji se

na njoj prikazuju potiču iz baze podataka koja se nalazi „iza“ te forme.

6

***Problem koherentnosti podataka

Baze podataka se stvaraju jer postoji potreba da se prikupe podaci između kojih

postoje neke veze s ciljem da se pronađu informacije, koristeći kriterijume za

pretraživanje koji se oslanjaju na sadržaj tih informacija.

Na primer: podatak Album u bazi se može uneti kao Album, ALBUM, album i slično…

Koherentnost podataka je ključni problem baza podataka.

Prvi i najvažniji odgovor za rešavanje ovog problema je da se što je moguće više

ograniči redundantnost informacija, tj. njihovo nepotrebno ponavljanje.

7

Tipovi baza podataka

Lokalne baze podataka

Nalaze se na lokalnom disku računara

Bazi podataka može da pristupa samo jedan korisnik

Klijent/server baze podataka

Baza podataka se nalazi na serveru

Bazi podataka može „istovremeno“ da pristupa više korisnika

Primer - informacioni sistem

8

Vrste (modeli) baza podataka

Relacione baze podataka – Predstavljaju skup tabela povezanih određenim relacijama.

Mrežne – Ovaj tip baza podataka je opisan matematičkom teorijom grafova (čvorovi i lukovi). Čvorove predstavljaju tipovi zapisa a lukovi veze između tipova zapisa.

Hijerarhijske – Specijalni slučaj mrežnog modela samo je dodat još i odnos podređeni–nadređeni tip veze između zapisa.

Objektno orjentisani modeli

Objektni

Relaciono-objektni

Mrežni i Hijerarhijski tip baza podataka se retko koristi u praksi. Daje mogućnost samo jednostavnih operacija sa BP.

9

Šta je to DBMS?

Skraćenica DBMS znači Data Base Managment System – odnosno Sistem za Upravljanje

Bazama Podataka (SUBP)

DBMS predstavlja kolekciju programa koji omogućavaju kako osnovne tako i napredne

o.peracije nad bazom podataka

10

DBMS obično sadrži:

Jezik za definisanje podataka (Data Definition Language, DDL) omogućava

definisanje tipa i strukture podataka, kao i ograničenja nad memorisanim

podacima

Jezik za manipulaciju podacima (Data Manipulation Language, DML)

omogućujava umetanje, izmenu, brisanje… podataka iz baze podataka

Jezik za postavljanje upita (Query Language, QL) omogućava interaktivno

pretraživanje baze podataka

11

ZADACI DBMS

Skup programa koji obezbeđuju upravljanje bazom podataka i pristup ka njoj se naziva

sistem za upravljanje bazama podatka. Jedan sistem za upravljanje bazama

podataka može da održava više različitih baza podataka koje su tematski različite.

Koji god model podataka da je primenjen (mrežni, relacioni ili objektni) glavni zadaci

sistema za upravljanje bazama podataka su:

da sakrije od korisnika fizičku reprezentaciju podataka,

da obezbedi zaštitu i koherentnost podataka u višekorisničkom okruženju u kome

mnogi korisnici istovremenu pristupaju podacima.

12

Sistem za upravljanje bazama podataka omogućava dodavanje podataka, njihovu

modifikaciju i pretraživanje.

Model koji se prirodno nametnuo u poslednjih tridesetak godina je relacioni model, koji

se poslednjih godina nadograđuje objektnim pristupom. Sistemi za upravljanje bazama

podataka koji podržavaju relacioni model koriste jezik SQL – Standard Query Language

– koji predstavlja standardizovani pristupni (upitni) jezik za relacione baze podataka.

13

Sistem za upravljanje bazama podataka ostvaruje više značajnih CILJEVA u stvaranju i

eksploataciji baze podataka:

fizička nezavisnost: interna reprezentacija podataka i metoda ze pristup sistemu

datoteka mora za korisnika da bude transparentna. To znači da promene fizičke

organizacije podataka ne zahtevaju modifikaciju programa obrade nad bazom

podataka;

logička nezavisnost: jedan isti skup podataka različiti korisnici mogu da vide na različite

načine. Sve ove različite poglede definiše eksterna šema koja mora u potpunosti da

bude integrisana sa globalnom konceptualnom šemom. To znači, na primer, uvođenje

nove rubrike - kolone u tabeli - ne zahteva izmene programa obrade koji nisu

neposredno pogođeni ovom izmenom.

CILJEVI DBMS14

efikasnost pristupa podacima: obezbeđuje dobar protok (broj transakcija u sekundi) i

odziv sistema (srednje vreme čekanja za obavljanje jedne transakcije)

kontrolisana redundantnost podataka- svaka informacija u bazi podataka treba da

bude predstavljena samo jednom

koherentnost podataka: podaci moraju da zadovolje uslove integriteta pomoću kojih

se definiše koherentno stanje baze podataka. Ovi uslovi moraju da se izraze

jednostavno i da se automatski proveravaju kod svakog umetanja, promene ili brisanja

podatka.

15

deljenje podataka: sistem za upravljanje bazama podataka treba da omogući

istovremeno korišćenje podataka u različitim aplikacijama i da otkriva i obrađuje

slučajeve u kojima postoji konflikt u pristupu bazi između više korisnika.

bezbednost podataka: podaci u bazi podataka moraju biti zaštićeni od neovlašćenog

pristupa. Da bi se to ostvarilo svakom korisniku treba da se dodeli određeni nivo prava

za pristup podacima.

otpornost na kvarove: Treba da postoji mogućnost da se baza vrati u stabilno stanje u

kome je bila pre početka transakcije promene podataka...

16

Predstavnici DBMS -primeri

Access

Oracle

MS SQL

MySQL

SQLite

17

Proces projektovanja baze podataka

Proces projektovanja prolazi kroz više faza. U prvoj fazi, koju ćemo nazvati analiza, na

osnovu istraživanja svojstava relevantnih objekata realnog sveta gradi se specifikacija

(opis) baze podataka. Specifikacija BP izražava korisničke poglede na podatke, kao i

zahteve u pogledu njihove eksploatacije. Na osnovu specifikacije se u fazi

projektovanja (ili koncipiranja) gradi konceptuelna šema baze podataka. U ovom

koraku se zahtevi iskazani specifikacijom prevode na opšti opis baze podataka kroz

opis opštih struktura podataka i procedura. Bitno je istaći da specifikacija i

projektovanje ne zavise ni od konkretnog sistema za upravljanje bazama podataka,

niti od konkretnog računarskog sistema.

18

Konceptualna šema se, dalje,

transformiše u logički model koji

nazivamo logička šema, a u kojoj se na

jeziku za definiciju i manipulaciju

podataka izražavaju veze podataka

opisane konceptuelnom šemom.

Logička šema se u fazi fizičkog

projektovanja transformiše u internu (ili

fizičku) šemu. Na ovom nivou se

detaljno i potpuno predstavljaju

rezultati prethodnog projektovanja

konkretnim strukturama podataka i

odgovarajućim algoritmima.

19

Arhitektura BP

1. FIZIČKI NIVO se odnosi na fizički prikaz i raspored podataka na jedinici spoljne

memorije. To je aspekt koji vide samo sistemski programeri

2. GLOBALNI LOGIČKI NIVO se odnosi na logičku strukturu cele baze, zapis logičke

definicije se naziva Shema (tekst ili dijagram). Ovaj aspekt vidi

administrator/projektant baze

3. LOKALNI LOGIČKI NIVO se odnosi na logičku predstavu dela baze koji koristi

pojedinačna aplikacija. Zapis jedne lokalne logičke definicije se naziva Pogled ili

podshema. Ovaj aspekt baze vidi korisnik baze ili aplikacijski programer

20

U praksi..

Prvi korak u

projektovanju baze

Razgovor sa klijentom – najteži deo

Koje ciljeve treba da zadovolji baza podataka

Kako rasporediti podatke u tabeli

Koje relacije da postavite između tabela

Koje pojedinosti

1

21

Drugi korak u

projektovanju baze Rešavanje problema na papiru.

Grupisanje podataka po smislu

Kako rasporediti podatke u tabeli

Koje relacije da postavite između tabela

Dodeljujemo podacim adekvatne tipovepodataka2

22

Treći korak u

projektovanju baze Pravljenje tabela, interfejsa, izveštaja ukratko

programiranje baze podataka.

Programi za kreiranje baza podataka su:

Access, SQL.

Primenom raznih programskih jezika takođe

možemo kreirati aplikaciju koja će upravljati

bazom podataka.

Primer programskih jezika: Visual C++, Php,

Delphi..

3

23

Modeliranje BP

Modeliranje BP zahteva da se svi elementi realnog sveta svrstaju u neku od 3 kategorije:

1. Entiteti –objekti ili događaji koji su nam od interesa za BP

2. Veze –odnosi među entitetima

3. Atributi –svojstva entiteta i veza

24

Entitet

Može biti objekat ili biće (kuća, učenik, auto), odnosno događaj ili pojava (adresa,

boja, uplata)

Entitet je opisan atributima (npr atributi auta: reg. broj, boja, model, godište..)

Ime entiteta zajedno sa atributima određuje Tip entiteta (npr entitet učenik je tip čiji

primerci mogu biti: Milan Milić, Petar Perić..)

Kandidat za KLJUČ je atribut (ili skup atributa) koji jednoznačno određuje primerak

entiteta zadatog tipa (za entitet Auto –ključ je atribut RegBroj)

Ukoliko jedan tip entiteta ima više kandidata za ključ, tada biramo jedan i

proglašavamo ga PRIMARNIM KLJUČEM

25

Atribut koji jednoznačno identifikuje entitet je ključni atribut relacije (ključ ili primarni

ključ)

Svaki primarni ključ se može posmatrati kao jedinstven identifikator tog entiteta (ili reda

u tabeli) Kada se primarni ključ koristi za povezivanje sa drugom tabelom (za

uspostavljanje relacije) on postaje spoljni ključ.

Da bi atribut bio kandidat za ključ potrebno je da važe uslovi:

Uslov jedinstvenosti (ne postoje dva reda sa istom vrednošću)

Uslov neredudantnosti (ako se bilo koji atribut izostavi iz ključa, gubi se osobina

jedinstvenosti)

26

Veze -Relacije

Uspostavljaju se među dva ili više tipova entiteta (npr veza entiteta Klub i Igrač možebiti “igra za”)

Veza je binarna ili k-narna relacija između primeraka entiteta zadatih tipova

Funkcionalnost veze može biti:

1. 1:1 gde jedan primerak prvog tipa entiteta može biti u vezi sa najviše jednim

primerkom drugog tipa

*** učenik:JMBG

2. 1:N (jedan u relaciji sa više i obrnuto)

*** radnik:broj telefona

3. N:N (više entiteta u relaciji sa više)

*** nastavnik:učenik

27

Šta smo

naučili?

Pojam BP? Definicija automatizovane BP?

Vrste BP?

Aplikacije/primene BP?

Šta je DBMS?

Glavni zadaci DBMS? Predstavnici?

Ciljevi BP?

Faze u projektovanju BP? Koraci u praksi?

Arhitektura (nivoi) BP?

Šta podrazumeva modeliranje BP?

Šta je entitet? Šta je atribut?

Pojam ključa?

Šta su relacije i koje vrste relacija postoje?

Primeri?

28