32
Baze podataka Osnovni pojmovi 1

Baze Podataka

Embed Size (px)

Citation preview

Baze podataka

Baze podatakaOsnovni pojmovi11Najee se pod ovim podrazumeva skup informacija smetenih u raunaruBP postoje u razliitim formama:Elektronski podaci: tekst, video i audio zapisi, brojeviKnjige: kolekcija tekstova i slika, bibliotekeDatoteke organizovane u direktorijumeSkup ematskih crteaUzorci sa naftnih buotinaUzorci krvi za medicinske laboratorijeDNK uzorci u forenzikim laboratorijama....Osnovni pojmovi2ta su baze podataka?Sastoje se od:Bita, organizovanih u bajtove, koji mogu da ine stringove itd.Polja (fields) niz bajtova koji reprezentuje informaciju (broj, tekst, slika, audio/video zapis, ...)Zapisa (records) - niz polja koji zajedno opisuju jedan entitetDatoteka (files) niz zapisa koji opisuju razliite entiteteBaze podataka tipino sadre vie relevantnih datotekaOsnovni pojmovi3Raunarske baze podatakaBaza podataka organizovani skup logiki povezanih podatakaintegrisani skup podataka o nekom sistemu i skup postupaka za njihovo odravanje i korienje, organizovan prema potrebama korisnika dobro struktuirana kolekcija podataka, koja postoji jedno odreeno vreme, koja se odrava i koju koristi vie korisnika ili programa Osnovni pojmovi4Definicije4Podatakinjenica o nekom predmetu i/ili dogaaju koja se moe zabeleiti i sauvati na raunaruStruktuirani podaci: brojevi, karakteri, ...Nestruktuirani podaci: slika, zvuk, video, ...Podatak sam po sebi nema znaenje, tek kada se interpretira nekom vrstom sistema za obradu podataka poprima znaenje i postaje informacija. Osnovni pojmovi5PodaciInformacijaPodatak koji je obraen na takav nain da se znanje osobe koja koristi podatak povealo Petar Petrovi1506983710325Marko Markovi0211979850123Janko Jankovi1112985830456- - - - - - - - - - -- - - - - - - - - - -Ime i prezimeJMBGSmerGodina upisaPetar Petrovi1506983710325M2007Marko Markovi0211979850123I2007Janko Jankovi1112985830456P2006- - - - - - - - - - -- - - - - - - - - - -P2006Osnovni pojmovi6Podaci koji nisu korisniInformacija o upisu dopunjeni relevantni podaciInformacijepodaci koji se sumiraju ili na neki drugi nain obrauju i prezentuju Osnovni pojmovi7

Grafiki prikaz podataka iz BP - informacija o upisuOsnovni pojmovi8Informacija

Vano je razumeti ta je smeteno (stored) u BP, a ta se moe dobiti (retrieved) iz BPOsnovni pojmovi9Podaci/InformacijeDatabaseOcene studenataiz pojedinihpredmetaProsena ocena studentaProsena ocena nagodini studijaProsena ocena na fakultetuPODACIINFORMACIJERegistar korisnika Podaci o korisnicima i njihovim pravima pristupaKo moe da pristupaUsername, passwordKojim podacimaBaza podataka, tabele, kolone, vrsteta moe da radi sa njimaINSERT, DELETE, UPDATE, SELECTOsnovni pojmovi10Registar korisnikaSistem za upravljanje bazama podatakaSoftverski sistem koji se koristi za:kreiranje, odravanje i manipulisanje podacima, kontrolu prava pristupa bazi podataka Osnovni pojmovi11DBMS - Data Base Management System DBMS (SUBP)DBMS - Interfejs izmeu korisnika (korisnikih programa, aplikacija) i zapisa baze podataka na disku Osnovni pojmovi12Baza podataka podaci na diskuBaza podatakaAplikacija XAplikacija YAplikacija ZData Base Management SystemOd posebnog interesa su:Relacione baze podataka - RBPProgrami za upravljanje sa RBP Sistemi za upravljanje bazama podataka (DBMS)Relational Database Management System (RDBMS) Re relaciona danas se esto izostavlja, zato to veina poznatih SUBP (kao to su: MS Access, MySQL, MS SQL Server, Oracle, IBM DB2, Informix, Sybase) jesu relacione BP.Relacioni model opisuje odreeni aspekt stvarnog sveta (problem space) u skladu sa pravilima (E.F.Codd krajem 60. godina XX veka)Osnovni pojmovi13Koncept RBP:Na slici su prikazane 3 tabele sa ukupno 12 atributa (razliitih kolona)Tab1 i Tab2 dele atribut 3Tab2 i Tab3 dele atribut 7 Osnovni pojmovi14

Tab1Tab3Tab2Relacionog sistema za upravljanje bazama podataka (DBMS)Relacione BPOdgovarajueg menija, formi za unos podataka i generisanih izvetajaPrograma za obradu podatakaDokumentacije za korisnika (npr. manuals)Osnovni pojmovi15Primena BP predstavlja kombinaciju:Modelovanje podataka je prvi korak u razvoju baza podataka (database development process)Osnovni pojmovi16Modelovanje- Razvoj BP-DatabaseConceptual DataModelingDatabase DesignDatabase BuildStrategija, AnalizaRealizacijaProjektovanjeBusiness Information RequirementsMOV dijagramiTabele, kljuevi,indeksi, pogledi, ..Razvoj baza podataka poinje sa analizom zahteva krajnjih korisnikaPrimer - Problem upravljanja kadrovima (zaposleni):Potrebno je voditi evidenciju za svakog zaposlenog (ime, prezime, radno mesto, datum zapoljavanja, zarada)Svaki zaposleni ima jedinstven identifikacioni brojPreduzee ima vie odeljenja (proizvodnja, raunovodstvo, prodaja itd). Odeljenja imaju jedinstven IDSvaki zaposleni je u jednom odeljenjuNeki od zaposlenih su direktori odeljenjaPotrebno je da se zna direktor za svakog zaposlenog i svi zaposleni kojima upravlja odreeni direktor

Osnovni pojmovi17Modelovanje- Razvoj BP-ER model pokazuje odnose u datoj organizaciji i podrava poslovne funkcijeOsnovni pojmovi18Modelovanje- Razvoj BP-RADNICI#IdRadnikIme,Prezime,DatumZ,RadMesto,Nadredjeni

ODELJENJE#IdOdeljenjaPrimer ER modelovanjaDatabase design: ER model se transformie u Relacioni model:Nazivi tabelaNazivi kolona u tabelamaPrimarni (PK) i spoljanji kljuevi (FK)Nulls: indikacija da kolona mora da ima vrednostUnique: vrednost u datoj koloni ne sme da se ponavljaDatatype: format i definicija svake kolone

Osnovni pojmovi19Modelovanje- Razvoj BP-Realizacija (database build)Primena SQL (Structured Query Language) jezika za fiziku realizacijuOsnovni pojmovi20Modelovanje- Razvoj BP-SQL>CREATE TABLE ODELJENJE(IdOdeljenje NUMBER(5) NOT NULL PRIMARY KEY,Naziv VARCHAR(25) NOT NULL); SQL>CREATE TABLE RADNICI(IdRadnik NUMBER(9) NOT NULL PRIMARY KEY,Ime VARCHAR2(15) NOT NULL,Prezime VARCHAR2(20) NOT NULL,RadnoM VARCHAR2(15),Zaposlen DATE NOT NULL,Nadredjeni NUMBER(9) REFERENCES RADNICIOdeljenje NUMBER(5) REFERENCES ODELJENJE);Slojevi (layers) idealne BP Slojevit rad uvoenje standardaPodela na 3 nivoaEksterni (Korisnik) View[1], ..., View[n]KonceptualniOpis preduzeaInterniDatoteke, metodpristupa, indeksi Razliiti slojevi imaju razliite zadatkeNezavisnost slojevaOsnovni pojmovi21StandardizacijaOsnovni pojmovi22Arhitektura BPAplikativniprogramKorisnik zaterminalomAplikativniprogrampogled 1pogled 2pogled 3EMADISKEksterni(Lokalni logiki)nivoKonceptualni(Globalni logiki)nivoFizikinivoEksterni sloj Odnosi se na korisnikov pogled na BPSvaki pogled (podema) lii na mali konceptualni slojVremenom se menjaPromena pogleda,Brisanje pogleda,Dodavanje novog itd.Osnovni pojmovi23Konceptualni sloj Fundamentalan jer opisuje kompletne informacije i njihovu strukturuKoristi se:Data Definition Language (DDL)Data Manipulation Language (DML)Tabele (relacije) su primer upotrebe DDL instrukcijaOpis ema i njihova strukturaOvaj sloj se moe menjati kako se vre promene npr. u preduzeuOsnovni pojmovi24Postojanje relacije potpuno je nezavisno od fizikog oblika podatakaRelacija moe da bude fizika tabela na diskuRelacija moe da bude i izvedena iz vie table, pojedine vrednosti mogu biti dodati (izraunati) itf.Osnovni pojmovi25Zahtev upit (query)Primer:Prikazati spisak zaposlenih roenih pre 01.01.1970.Prikazati spisak zaposlenih koji su uzeli knjige pre 01.08.2008. godinePoslati poruku zaposlenima koji imaju bolest oooo da izvre lekarski pregledNeki upiti se odnose na jednu tabelu, a neki na vieNeophodno je da postoji jezik (to blii ovekovom), da bi se izrazili prethodni upiti (jezik za rad sa BP)SQL Structured query languageOsnovni pojmovi26Tipini zahteviNeophodnost dobrog projektovanja BP: Vano je paljivo razmiljati o tabelama i njihovoj strukturiPoeljno je da se podaci pojavljuju samo jedanputU datom primeru se DatumRoenja pojavljuje dva puta Opasnost kod viestrukog pojavljivanja Adrese zaposlenihAko se zaposleni preseli, promena se mora evidentirati na vie mestaIzuzetno, zbog efikasnosti brzog pristupa podacima, nekada je potrebno imati redudansuOsnovni pojmovi27Projektovanje BPNeka je politika preduzea takva da se zarade odreuju poloajem zaposlenogU datom primeru POLOAJ=2 implicira ZARADA=80, i dva puta je zapisanoOvo je drugi tip redudanse, manje oigledan, ali koji znatno vie smetaSledei problemNemogue je uneti zaradu, osim one koja ve postoji za zaposlene Npr. Nemogue je upisati da POLOAJ=1 implicira ZARADA=90Osnovni pojmovi28OgranienjaMogue reenje: dati svakom korisniku privilegiju da moe da vidi samo pogled na BPPogled: izvedeni podaci iz BPNpr. Zdravstveno odeljenje moe imati privid da postoji sledea tabela:Id#ImeAdresaStarostBolest101Baaa 28hhhh121Abbb 42ooooOvo je jedan od naina ograniavanja prava korisnikaIdealno: korisnik manipulie (radi) samo nad pogledimaOsnovni pojmovi29Pogledi - ViewsBP treba da bude organizovana tako da se upiti efikasno izvravajuDatoteke treba da budu organizovane na odgovarjui nainNpr. Ako je esto potreban Poloaj zaposlenih po identifikacionim brojevima Id#, potrebno je imati datoteku sortiranu po Id#.Npr. Ako je potrebno tampati zarade zaposlenih roenih 1977. godine, bolje je da je datoteka sortirana po GodineRoenjaFiziki dizajn bitan za optimizaciju upitaOsnovni pojmovi30Fiziki dizajnBP mora da bude otporna na eventualne greke (npr. nestanak napajanja)Npr. Pretpostavimo da postoji sledea tabela sa stanjem na odreenom tednom raunuId#StanjeRaun101 40 123-1106 40 111-2121 0 222-1132 10 321-6Svakom zaposlenom treba poveati stanje na raunu za 10Da bi se to uradilo transakcija (izvrenje programa) sekvencijalno (u FOR petlji) aurira stanje svakog raunaOsnovni pojmovi31Oporavak BPDatoteka se nalazi na disku. Podaci se uitavaju u RAM memoriju, obrauju i ponovo zapisuju u istu datoteku:i=100;X:=Stanje[i+1]; itanje (Read)X:=X+10;Obrada (Processing)Stanje[i+1]:=X;Upisivanje (Write) . . .ta ako u toku obrade nestane el. napajanja?Ne znamo koja stanja su promenjena.Razliite tehnike za upravljanje izvrenjem transakcijaOsnovni pojmovi32Oporavak BPPodatak1

Podatak2

Podatak3

PodatakN

Obrada podataka

Informacija