Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Baze podatakaDr Suzana Marković, dipl. ing. el.
Sadržaj
Baze podataka – definicijaZadaci baze podatakaŽivotni vek BPModel objekti veze Relacioni model
Kolekcije Sakupljaju se knjige, računari, slike, novčići, pesme, adrese, automobili, recepti, kolekcije kolekcija ili bilo kakvi skupovi stvari koje se mogu povezati. Znači, ako su objekti na neki način povezani, čine kolekciju.Primer: Telefonski imenik: naći broj telefona na osnovu imena, a obrnuto?Kako pronaći neki dragocen primerak iz vaše kolekcije, za koji niste više sigurni da li ga imate ili nemate?
Različite forme
Elektronski podaci: tekst, video i audio zapisi, brojeviKnjige: kolekcija tekstova i slika, bibliotekeKolekcija filmova sa glumcima i žanrovimaDatoteke organizovane u direktorijumeSportisti i sportovi na OlimpijadiUzorci krvi za medicinske laboratorije
Pojam baze podataka
Baza podataka je skup međusobno povezanihpodataka koji se čuvaju zajedno i među kojima imasamo onoliko ponavljanja koliko je neophodno. Bazu podataka čine povezani podaci i skup
programa za pristup tim podacima. Baza podataka je skup povezanih podataka i svega
onog što je neophodno za njihovo održavanje ikorišćenje. Baza podataka je najsavršeniji vid informacionog
sistema.
Primer IS biblioteke
Struktura informacionog sistema
Podsistem sprege
Korisnik
Ulazne forme Izlazne forme, izveštaji
Podsistem postupakalogika održavanja i korišćenja sistema
Podsistem podatakačuvanje podataka i elementarni postupci pristupa
Baza podataka
Baza podataka je integrisani skup podataka o nekom sistemu organizovan prema potrebama korisnika i elementarni skup postupaka za njihovo održavanje i korišćenje.Skup podataka pripremljen tako da se može jednostavno koristiti, tj. pregledavati, pretraživati, sortirati, ređati, itd., ali i menjati (brisati).
Zadaci baze podatakaorganizacija prema objektima i odnosima koji
postoje u sistemu na koji se baza podataka odnosi; organizacija prema potrebama korisnika:
podrazumeva i mogućnost definisanja izvedenih zapisa sa podacima;
integrisanost i kontrolisana redundansa: krajnjicilj integrisanosti je minimalna redundansa (višestrukoponavljanje) podataka; međutim, ponekad svesnoželimo da ponavljamo određene podatke radi bržegrada sa bazom podataka;
sigurnost: podrazumeva efikasnu kontrolu pristupapodacima, u smislu ko može da pristupi bazipodataka, kojim podacima i šta može da radi sa timpodacima;
Zadaci baze podataka
konkurentnost: podrazumeva mogućnostsinhronizovanog rada više korisnika istovremeno;
integritet: podrazumeva automatski oporavak od nasilnih prekida u radu koji dovode do tzv. nekonzistentnih stanja usled delimično izvršenihažuriranja (unosa, izmene ili brisanja) podataka;
import podataka: baza podataka se često uvodi kaozamena za neki stariji informacioni sistem, i tada mora postojati mogućnost preuzimanja tih podataka;
eksport podataka: često se javlja potreba da se postojeća baza podataka zameni nekom jošsavremenijom bazom podataka, i tada mora postojatimogućnost predaje podataka bazi podataka na koju se prelazi;
Zadaci baze podataka
performanse: baza podataka mora da obezbeđujemaksimalni učinak u smislu najviše brzine rada uznajmanje zauzeće računarskih resursa;
ekonomičnost: odnos učinak-cena treba da je što niži(baze podataka su počele masovno da se uvode u upotrebu onda kada su postale ekonomičnije od tradicionalnih informacionih sistema);
standardizacija: standardni (dogovoreni) način opisaorganizacije baze podataka i operacija nad bazompodataka obezbeđuje maksimalnu nezavisnost i trajnostkorisničkih programa za rad sa bazom podataka u odnosu na promenu baze podataka.
Relacioni i objektni model
Relacioni model je teorijski zasnovao Edgar F. Codd krajem 60- tih godina. Većina današnjih DBMS koristi relacioni model.U relacionom modelu baza podataka se sastoji od
skupa pravougaonih tablica ili relacija.Svaka tabela ima ime po kojem se razlikuje od
ostalih tabela u BP.Objektna orijentacija je pristup u kome se neki sistem organizuje kao kolekcija međusobno povezanih objekata koji sarađujući ostvaruju postavljene ciljeve.svaki realni entitet predstavljen je jednim objektom
u BP
Osnovni pojmoviBaza podataka je skup
međusobno povezanih podataka na disku. Ti podaci su na raspolaganju korisnicima za pregledanje, pretraživanje, brisanje, ispravljanje itd.
Sistem za upravljanje bazom podataka (Database Menagment system - DBMS) je softver koji upravlja radom korisnika (korisničkih programa, aplikacija) i zapisa baze podataka na disku.
Korisnički programi ne pristupaju podacima direktno, već komuniciraju s ovim softverom (programom).
Osnovni pojmoviBaza podataka sastoje se od:
Bita, organizovanih u bajtove, koji mogu da čine stringove itd.
Polja (fields) – niz bajtova koji reprezentuje informacijuRekorda (records) - niz polja koji zajedno opisuju jedan
“entitet”Datoteka (files) – niz rekorda koji opisuju različite
entiteteBaze podataka tipično sadrže više relevantnih datoteka
Metadata omogućavaju dizajnerima i korisnicima baza podataka da razumeju koji podaci postoje u bazi i šta oni znače.
Tabele - razbijanje informacija na manje jedinične podatke,
Kolone (atributi),Redovi (zapisi)
Karakteristike relacionih BP
Podaci su organizovani u redove i kolone, a skup takvih podataka je relacija (tabela)Sve vrednosti su skalarne – u jednom polju se može naći samo jedna vrednostNe mogu da postoje dupli zapisiSve operacije se obavljaju nad relacijama (tabelama) a rezultat operacija je opet relacija (tabela)
Koncept RBP Tabela 1 i Tabela 2 “dele”
atribut 3 Tabela 2 i Tabela 3 “dele”
atribut 7
Tabela1
Tabela 3
Tabela 2
Životni vek BP
Svaka baza podataka ima svoj životni vek, početak kada je projektovana, pa do njene implementacije i održavanja.
5 faza:Analiza potrebaProjektovanje - modeliranje podatakaImplementacijaTestiranjeOdržavanje
Osnovni koncepti MOV-a
Sistem se najopštije može definisati kao skup entiteta i njihovih međusobnih veza. Entitet (objekat) je objekat realnog sistema koji se u njemu lako identifikuje. Predstavlja ili neki fizički objekat, koncept ili
događaj realnog sistema.Entiteti su povezani odgovarajućim vezama. Veza je asocijacija između dva ili više entiteta.
Objekat može biti povezan sam sa sobom (unarna veza)
Objekti se opisuju atributima.
Osnovni koncepti MOV-a
Veze u modelu opisuju način povezivanjajednog, dva (binarna veza) ili više objekataSvaka binarna veza definiše dva preslikavanjaPreslikavanja definišu uloge objekata u vezi.Atributi (osobine) entiteta ili veza opisuju neke njihove karakteristike. Atribut uzima vrednost iz skupa mogućihvrednosti (domen)Npr. godina_studija može uzeti vrednost iz skupa 1,
2, 3, 4, 5; semestar vrednosti iz skupa 1-10; ocena iz skupa 5-10; matični broj iz skupa 13.-to cifarnihbrojeva,…itd.
O1 O2
O1 (DG,GG) O2Veza 1
O2 (DG,GG) O1
Atribut 1 Atribut 2 Atribut 3 Atribut 4
Radnik ć(1,1) Radi
Zapošljavanje(0,N) Zapošljava
JMBG
Ime SifraPr NazivPr
Preduzeće
Prezime
N:1
Primeri
(GG,GG):(1,N) Preduzeće
(1,1) Radi
Zapošljavanje
(0,N) Zapošljava
Narudžbenica Naručivanje
(0,1) Povlači (1,1) PoOsnovu
(GG,GG):(1,1) Otpremnica
Student PredmetPrijava(0,M) (0,N)
(GG,GG):(N,M)
Radnik
Entitet je objekat, pojam, stanje i sl. o kome se prikupljaju, memorišu, obrađuju i prezentuju informacije.Entitet po svojoj prirodi može biti različit
Deo okruženja (član kolektiva, nastavnik, radnik, student, aparat, zgrada, artikal, vozilo ...)
Apstraktni pojam (neka mera npr. visina, nečije zvanje npr. titula, boja, ...)
Događaj (ispit, postupak upisa studenata npr. Status_upisa,...)
Asocijacija (student_predmet, predmet_profesor, ..., fakultet_profesor, autor_knjiga)
Entiteti
Veze između entiteta
U realnom sistemu objekti nisu međusobno izolovani, nego se nalaze u međusobnoj interakcijiOdnosi između objekata posmatranja prikazuju se najčešće primenom logike skupova i preslikavanja njihovih elemenata.Funkcionalnost veze između članova entiteta može biti:1–prema–1 (ili 1:1),1–prema–više (ili 1:N)više–prema–više (ili N:M)
Entiteti GRAÐANIN i POSLANIK
Funkcionalnost veze je je 1:1:Jedan građanin ne može biti dvostruki poslanik, niti
poslanik može biti dva puta građanin.Funkcionalnost veze je glasao za je N:1
više članova entiteta GRAÐANIN dalo svoj glas za jednog člana entiteta POSLANIK.
Entiteti STUDENT i PREDMETFunkcionalnost veze sluša je N:M jer je jedan predmet
sluša više studenata, a takođe jedan student sluša više predmeta.
Veze
Primer 1Preduzeće je podeljeno na sektore. Prate se podaci o radnicima (mat.broj, ime i prezime) i
sektorima (id, naziv). Važe sledeća pravila:
Svaki sektor mora da ima jednog rukovodioca. Neki od radnika su rukovodioci u sektorima. Nacrtati deo ER dijagrama koji opisuje vezu ‘rukovodjenje
sektorom’.
Primer 2
Na univerzitetu u toku upisnog roka prate se podaci o prijavljenim kandidatima (mat.broj, ime i prezime) po fakultetima (id, naziv). Važe sledeća pravila: Svaki kandidat može da se prijavi na više različitih
fakulteta. Na svakom od fakulteta može biti više prijavljenih
kandidata, ali takođe je moguće da se niko nije prijavio.
Primer 3
Na fakultetu se za potrebe izrade nastavnogplana vode podaci o predmetima (šifra, naziv, broj_bodova) po katedrama (id, naziv). Važe sledeća pravila:
Svaki predmet može pripadati jednoj i samo jednojkatedri.
U okviru svake katedre može biti više predmeta, alije moguće da još nema definisanih predmeta nakatedri.
Primer 4
Prate se opštine (id, naziv, brojStanovnika) i njihova podela po okruzima (šifra, naziv). Važe sledeća pravila: Svaka opština pripada jednom i samo jednom
okrugu. U okviru svakog okruga može biti jedna ili više
opština.
Primer 5
U okviru školskog informacionog sistema prate se nastavni predmeti(šifra, naziv, brojBodova) i njihovi udžbenici (id, autor, naslov). Važe sledeća pravila: predmet može i ne mora da ima izdat udžbenik; za jedan predmet može postojati i više predviđenih
udžbenika; udžbenik se koristi u nastavi za jedan ili više
predmeta.
Primer 6
U okviru školskog informacionog sistema prate se nastavni predmeti(šifra, naziv, brojBodova) i nastavnici(id,ime, prezime) koji ih predaju. Važe sledeća pravila: svaki predmet može predavati jedan ili više
nastavnika, svaki nastavnik predaje jedan ili više predmeta.
Primer 7
U okviru školskog informacionog sistema prate se nastavni predmeti(šifra, naziv, brojBodova) i studenti(mat.broj, ime, prezime) koji ih polažu. Važe sledeća pravila: svaki predmet položi ni jedan ili više studenata, svaki student može položiti ni jedan ili više
predmeta.
Složene veze
Unarna veza povezuje jedan tip entiteta s tim istim tipom. Ovakva veza takođe može biti 1:1, 1:N ili N:M.
je u brakuOSOBA
1
1
Je šefza
RADNIK
n
1
sadržiDeo proizvoda
n
m
Jedan složeni deo možesadržati puno manjihdelova.
Atribut i domen
Objekti se u sistemu opisuju preko svojih svojstava ili atributa.Svaki atribut u u jednom trenutku ima neku vrednost. Atributi uzimaju vrednost iz skupa mogućih vrednosti - domen.Vrednost atributa treba biti jednostruka i jednostavna – ne može se rastaviti na delove.Toleriše se ponekad da vrednost atributa nije definisana ili upisana (nedostaje).Broj atributa je stepen tabele.
Atribut
Svojstva objekta se opisuju preko atributaNpr. atributi entiteta STUDENT: BrInd, Ime, Prezime, Smer,
Adresa
Atribut je zajednička osobina koju poseduju svi objekti jedne klaseNpr. ne postoji student koji nema broj indeksa
Broj atributa nije fiksanRelevantne atribute definiše kompetentna osoba
Od toga zavisi upotrebljivost dobijenih informacija
Atributi svih entiteta poprimaju određene vrednosti
Atribut
Prosti i složeni atributiProsti atributi:
Visina (cm),Ocena,Smer itd.
Složeni atributi:Adresa (Ulica, Broj, Mesto, ...)DatumRođenja (Dan, Mesec, Godina)
(1,1)MLB
MATB ADR JEZIK IMENA SIFREO
(1,1) (0,M)
(0,1) (1,1)
(1,1)STAROST ISPLATE(1,M)
RADNIK ZAPOS
RUKOV
ODELJENJE
GODINE PLATE
(1,1)SIFROD(1,1)NAZIVOD(1,1)IMER(1,M)ZNA_JEZIK(1,1)ADRESA
Definicija atributa
Jednoznačni atributAko je kardinalnost atributa (DG = 1, GG = 1 ) onda se
takav atribut naziva jednoznačni atribut objekata. Ako i inverzno preslikavanje jednoznačnog atributa
(preslikavanje DOMEN ----> OBJEKAT) takođe ima kardinalnost (DG = 1, GG = 1) tada se takav atribut naziva identifikator objekta, jer jedno pojavljivanje takvog atributa jedinstveno određuje jedno pojavljivanje objekta u skupu pojavljivanja objekata datog tipa.
Na primer, atribut MLB je identifikator objekata RADNIK.
(1,1)MLB: RADNIK -------------> MATB
(1,1)IMER:RADNIK --------------> IMENA
Višeznačni atribut
Ako je gornja granica kardinalnost atributa GG = M, onda se takav atribut naziva višeznačni atribut objekta.
Na primer, (1,M)ZNA-JEZIK: RADNIK ------------> JEZIK
Zbog jednostavnije transformacije MOV u implementacioni model, jednostavnijeg definisanjanjegovih ograničenja i operacija u MOV se ne koristevišeznačni atributi.Ako domen višeznačnog atributa ima unapred zadat,
semantički značajan skup vrednosti, tad se on modelira kaoposeban objekat
Ako domen višeznačnog atributa nema unapred zadatsemantički značajan skup vrednosti, tada ga je pogodnopredstaviti preko novog koncepta identifikaciono zavisnogslabog objekta
NAZIVJ
ZNA_JEZIK(1,M)
(0,M)
(1,M)
(1,1) (0,M)
(1,1)(0,1)
JEZIKIME ADRESA MLB* NAZIVOD SIFOD*
RADNIK RADI ODELJENJE
RUKOV
DATUMISPLATE
ZNA
STAROST
IZNOS Konvencija za predstavljanje atributa
(1,1)MLB
MATB ADR JEZIK IMENA SIFREO
(1,1) (0,M)
(0,1) (1,1)
(1,1)STAROST ISPLATE(1,M)
RADNIK ZAPOS
RUKOV
ODELJENJE
GODINE PLATE
(1,1)SIFROD(1,1)NAZIVOD(1,1)IMER(1,M)ZNA_JEZIK(1,1)ADRESA
Definisanje ključeva u modelu
Postoje atributi (grupe atributa) čije vrednostijednoznačno identifikuju primerke entiteta. Taj atribut (grupa atributa) naziva se primarni ključ.Ako ključ čini samo jedan atribut onda je on prost
ključ, u suprotnom je složen.
Prirodni (JMBG, reg. br. tablice, br. indexa…)Veštački (ID)
Šema tabele
Građu tabele kratko opisujemo tzv. šemom tabele, koja se sastoji od imena tabele i popisa imena atributa u zagradama.Primarni atributi označavaju se podvučenom crtom ili zvezdicom.Primer:AUTO ( registracija, proizvođač, model, godina )OSOBA ( JMBG, ime, ime oca, adresa, ...)
Pretvaranje ER šeme u relacionuSvaki tip entiteta prikazuje se jednom tabelom.Atributi entiteta postaju atributi (kolone) tabele.Primarni ključ entiteta postaje primarni ključ tabele.Postojanje veza s drugim entitetima može zahtevati dodavanje još nekih atributa.Npr. entitet STUDENT postaje tabela:STUDENT ( indeks, ime, adresa, pol, . . . )
Veze
Pravilo 1. Ako tip entiteta E2 ima obavezno članstvo u N:1–vezi sa entitetom E1, tada relacija za E2 treba uključiti primarne atribute (primarni ključ) od E1.
Ključ jedne relacije koji je prepisan u drugu relaciju zove se strani ključ.
Primer. tabela LEKAR je vezana za tabelu PACIJENT. LEKAR( lid, ime, prezime, staz,...)PACIJENT(pid, ime, prezime, datum rodjenja, ...) da bi uspostavili vezu:
PACIJENT(pid, lid , ime, prezime, datum rodjenja, ...)
Pravilo 2. Ako je veza tipa N:M uvek se prikazuje posebnom tabelom koja uključuje primarne atribute oba entiteta i još možda dodatne koje sama veza ima.STUDENT (indeks, ime, adresa, pol,...)ODSEK (oid, ime odseka,...)UPISAO (indeks, oid, datum upisa,...)Veza UPISAO prikazana je preko posebne relacije, a njen ključ je složen i sastoji se od atributa obe relacije koje povezuje.
Veze
Uloge u radu sa BP
Sistem analitičari (system analyst)Dizajner BP (database designer)Aplikacioni programer (applicationprogrammer)Nosilac projekta (project manager)Korisnik (user)Administrator BP (database administrator)Administrator sistema (system administrator)
Data WarehouseBaza podataka koja se koristi u procesu
odlučivanja i koja je odvojena od operativnih podataka.Osnovni cilj je podrška u procesu donošenja
odluka (engl. decision support), tj. modelovanje i analiza podataka.DW sadrži sumarne podatke vezane za centralni
subjekat (npr. 5 do 10 godina unazad), ne podatke vezane za dnevno poslovanje.Kreira se integracijom podataka iz više
heterogenih izvora kao što su relacione baze, obične datoteke, transakcione baze itd.
Podaci iz DW omogućavaju uočavanje trendova.
Business Intelligence – BI
Velike količine podataka uspešne firme koriste i za praćenje i upravljanje sopstvenim poslovanjem.Sistemi poslovne inteligencije (Business Intelligence – BI) su alati za obradu velike količine podataka koji omogućavaju izveštaje na osnovu kojih menadžment donosi odluke.BI sistemi obrađuju velike količine podataka i daju izveštaje na osnovu kojih je moguće pratiti trendove, pronalaziti zakonitosti između nekih pojava, pa čak i vršiti predikciju budućih događaja.