01_pred

19
Što su to baze podataka ? Definicija bi mogla glasiti: organizirani skup podataka! Ali što to to ˇ cno zna ˇ ci organizirani ? Skup podataka pripremljen tako da se mogu jednostavno koristiti, tj. pregledavati, pretraživati, sortirati, uspore ¯ divati, itd., ali tako ¯ der mijenjati (nadopunjavati, brisati).

Upload: stefanovicana1

Post on 16-Aug-2015

215 views

Category:

Documents


0 download

DESCRIPTION

cx

TRANSCRIPT

to su to baze podataka ?Denicija bi mogla glasiti: organizirani skup podataka!Ali to to to cno zna ci organizirani ?Skup podataka pripremljen tako da se mogu jednostavno koristiti,tj. pregledavati, pretraivati, sortirati, uspore divati, itd., ali tako dermijenjati (nadopunjavati, brisati).Koja je uloga (funkcija) BP ?IstraivanjePlaniranje ProizvodnjaFinancije ProdajaTipi cna struktura neke ve ce tvrtkeSvaki sektor mogao bi voditi svoju posebnu evidenciju o svom poslovanjunezavisno od drugih sektora.Iako sektori funkcioniraju nezavisno podaci s kojima rade su prekrivajuali struktura i zapis tih podataka nije me dusobno usuglaenLoe strane segnemtiranog razvoja i pristupa BPRedundancije podataka - podaci se nepotrebno dre na vie mjesta (dato-teka), te kada ih je potrebno izmijeniti onda se to mora ciniti na vie mjesta.Razmjena podataka je oteana - razlog nije samo dislociranost ra cunala,nego i format zapisa, druga cija struktura podataka . . .Nepotrebni razvoj algoritama - za svaku skupinu podataka razvijaju se po-sebno programi, i posebno se razvijaju algoritmi npr. za brzo pretraivanjeiako su principi na kojima svi oni rade isti.Programisu cestosuvieprilago denipodacimakojesadre, toote-ava prilago davanje baze podataka novim stvarima,te zahtijeva ponovnoreprogramiranje svih programa, ako se struktura baze podataka promijeni.U aplikacijama (programima) nisu razdvojene funkcije zi cke manipula-cije s podacima ( citanje i pisanje s diska) od funkcionalnog dijela aplikacijezakojujeustvari aplikacijai napisana. Atooteavapromjenebilonarazvoju strukture baze, ali i na razvoju aplikacije.Sigurnost podataka nije dobra (posebno dio za istovremeni pristup) jer toprelazi granice to jedan programer moe u ciniti.Rast baze podataka i njena kompleksnost postaje suvie sloena kako zara cunalne resurse, tako i za programere.Osnovni pojmoviKorisnikDBMSBaza podataka - podaci na diskuBazapodatakajeskupme dusobnopovezanihpodatakapohranjenihnadisku. Ti podaci su na raspolaganju korisnicima za pregledavanje, pretrai-vanje, brisanje, nadopunjavanje, ispravljanje.Sustav za upravljanje bazom podataka ( Database Menagment system(software?) - DBMS) jesoftwareuvedenkaosu celjeizme dukorisnika(korisni ckih programa, aplikacija) i zapisa baze podataka na disku. Koris-ni cki programi nepristupajupodacimadirektno, ve ckomunicirajusovimsoftware-om (programom). Obi cno kada se govori SW za bazu podataka,onda se misli upravo na DBMS. (Oracle, DB2, MySQL, PostgreSQL, Ingres,MS-Sql, . . . )Modeli podatakaPodaci su logi cki organizirani po nekom modelu. Model cini os-novu za osmiljavanje, deniranje i implementiranje baze poda-taka. Dananji DBMS podravaju tri osnovna modela:Relacijski model jezasnovan namatemati ckom pojmu rela-cije. Podaci i veze me du podacima se prikazuju preko dvodi-menzionalnih tabela. Ve cina suvremenih baza podataka sluise ovim modelom.Mreni model moesepredo citi usmjerenimgrafomuko-jem su cvorovi podaci a lukovi me du cvorovima deniraju vezeme du podacima.Hijerarhijski model cine hijerarhijski organizirani podaci (npr.datote cni sustav na Unixu).Relacijski modelINDEKS# STUDENT GODINAF-7654 Tomi c 2F-6453 Bakula 1F-5643Cori c 3F-7612 Horvat 2KOLEGIJ# NASLOV NASTAVNIK5671 Baze podataka Netkovi c6322 PHP programiranje Horvati c8567 Metodika Brdi c4564 Elektrodinamika Teki cMreni modelRegistarski brojTehni cki podaciBoja karoserijeVlasnikJMBGIme i prezimeSkica podataka o registriranim autimaHijerarhijski model//bin/ /dev/ /etc/ /lib/ /usr//etc/init.d/ /etc/hosts/lib/libc-2.3.2.so /lib/ld.so.1.9.11/usr/bin/ /usr/lib/ /usr/local/Datote cni sustav na linux-uCiljeviFizi cka nezavisnost podataka - razdvaja se logi cka denicija baze poda-taka od njene stvarne zi cke gra de. Promjena na cina zapisivanja podatakana disku ne ce utjecati na aplikacije.Logi cka nezavisnost podataka - razdavaja se logi cka denicija cijele bazepodataka od lokalnih logi ckig denicija za jednu aplikaciju.Uvo denje novihveza i vrsta podataka ne utje ce na postoje ce aplikacije.

Cuvanje integriteta - automatsko cuvanje konzistencije i integriteta poda-taka. Posebno za viekorisni cke baze podataka, ali i za druge slu cajeve:greke u aplikacijama i sw, kvarovi hardwara . . .Fleksibilnost pristupa - Doputa se korisniku slobodno prebiranje po po-dacima, dokjetoustarijimDBdo biloograni ceno, te sejedo podatakadolazilo strogo utvr denim redosljedom.Ekasan rad - Operacije se moraju obavljati brzo, posebno za velike DB.Sigurnost - mora postojati zatita od uniteja baze, npr. zbod hardwarskogkvara, ali i neovlaenog mijenjanja podataka.Podeavanjebazeikontrola-Bazepodatakatraestalnubrigu: rutin-sko odravanje, pra cenje perfomansi i njihovo poboljanje radi ekasnosti,razvoj aplikacija, nadopunjavanje. Ovi seposlovi obavljajucentraliziranood osobe, administratora baze podataka. Administratoru za to slue raznapomagala (alati, programi) a jedno od njih je rje cnik podataka (baza o bazi).Arhitektura BPLokalnalogi ckarazina-Cinejeaplikacijski programi. Aplikacijski pro-grami se sluesamodijelom podataka koje postoje uBP. Taj diokoji onivide ili se slue, zove se pogled (view).Globalna logi cka razina - Odnosi se na logi cku predodbu o cijeloj bazi.To je ono to vidi administrator, ili projektant baze. Zapis logi cke denicijezove se shema (schema). To je tekst ili dijagram kojimse imenuju i denirajusvi podaci, veze me du podacima, te pravila kojima se cuva integritet bazepodataka.Fizi cka razina-Tojezi cki prikazi rasporedpodataka nadiskovima, tj.vanjskoj memoriji gdje se podaci cuvaju. S ovom razinom su upoznati samoprogrameri koji su napisali DBMS. Ova razina ima svoje podstrukture: pros-tor na disku (colindri i blokovi) te datoteke s zapisima. Raspored pohranji-vanja opisuje kako se logi cke denicije preslikavaju na zi cke ure daje.Za stvaranje baze podataka potrebno je zadati shemu i poglede, a DBMS cetada automatski se pobrinuti za raspored i zapisivanje podatak na zi ckoj ra-zini. Programi i korisnici nepristupajupodacimadirektno, ve cposrestvomDBMS. Komunikacijaprogramai korisnikasaDBMSseobavljanalokalnojlogi ckoj razini.Arhitektura BPAplikacijskiprogramKorisnik zaterminalomAplikacijskiprogramPogled 1 Pogled 2 Pogled 3SHEMARasporedpohranjivanjaDisk 1 Disk 1lokalnalogi ckarazinaglobalnalogi ckarazinazi ckarazinaJezici za rad s bazom podatakaKomunikacija korisnika (aplikacija) s DBMS odvija se pomo cu po-sebnih jezika, koji se tradicionalno dijele na tri kategorije.Jezik za opis podataka(Data Description Language - DDL)Jezik za manipuliranje podacima(Data Manipulation Language - DML)Jezik za postavljanje upita(Query Language - QL)Jezik za opis podatakaSlui projektantu baze podataka ili administratoru radizapisi-vanje sheme (ili pod-sheme).Tim se jezikom deniraju podaci i veze me du njima.Naredbe DDL podsje caju na naredbe za deniranje sloenih ti-pova podataka u jezicima kao to su Cobol, PL/1, Pascal.Primjer deniranja relacije student:CREATE TABLE student (prezime VARCHAR(50),ime VARCHAR(50),indeks VARCHAR(10),godina INT,smjer VARCHAR(10),PRIMARY KEY (indeks));Jezik za manipuliranje podacimaSlui zauspostavljanjevezaizme duaplikacijskihprogramaibaze.Naredbe DML omogu cuju upis, promjenu, brisanje, citanje i op- cenito manipuliranje podacima.U nekim DBMS, DML je biblioteka potprograma - tj. naredbe ujeziku su pozivi na potprograme. A drugdje se doista radi o po-sebnom jeziku. Ali takav se program treba prevesti, koriste ci dva-prevodioca (DML-predkompajler i zatim obi cni compiler)Primjer upisa podatka u relaciju student:INSERT INTO student VALUES (ANTOLIC,ANITA,F-1961,2,pfi);Jezik za postavljanje upitaSlui korisniku za direktno pretraivanje baze podataka (tz. in-teraktivni rad).Neredbe su takve da deniraju rezultat koji se eli dobiti, ali nei kako do njega do ci (algoritme) Ovo svojstvo se zove nepro-cedualnost.Kod relacijskih baza postoji postoji tendencija objedinjavanja svihovih jezika u jedan (npr. SQL) koji slui za sve: deniranje poda-taka, njihovo manipuliranje i za pretraivanje.Primjer pretraivanja podataka:SELECT indeks,ime,prezime FROM student WHERE godina=1ORDER BY prezime,ime;ivotni vijek BPSvaka baza podatak ima svoj ivotni vijek, po cetak kada je pro-jektirana, pa do njene implementacije i odravanja. U grubo se tomoe podjeliti na 5 faza.Analiza potrebaModeliranje podatakaImplementacijaTestiranjeOdravanjeAnaliza potrebaPorebno je ustanoviti na cin poslovanja , koji se podaci koriste,i na koje na cine, i gdje.Treba prona ci veze me du podacima.Sve te informacije o podacima treba objediniti i uskladiti, stvoritikonzistentnu sliku o njima.Zatim je ustanoviti kako ce se ti podaci koristiti, koliko cesto, ikoje su vrste operacija potrebne nad podacima.Modeliranje podatakaOvaj dio pripada onome sto se zove globalna shema.Deniranjebazepodataka: denirajevrstepodatakai vezame dunjimaapremainformacijamadobivenimanalizompo-treba.Tako der je potrebo provesti odre deno regrupiranje, kako ce sepodaci organizirati (normalizacija podataka) radi budu ceg e-kasnijeg rada baze podataka.Na kraju se deniraju pogledi (pod-sheme) za pojednine apli-kacije.ImplementacijaPrethodni koraci su bili vrsta planiranja - sve na papiru (ili ra cu-nalu),aliovajkorak je realizacija zamiljenog. Za tonam sluiDBMS preko kojeg cemo to ostvariti.Implementacija sheme.Razvoj potrebnih aplikacija za rad.Inicijalno punjenje baze podataka s podacima potrebnim za po- cetak rada.TestiranjeProvjera onoga to je ura deno, nastoje se otkriti greke, ne samou programiranju nego i u logici kako ce stvari te ci.OdravanjeKada je ve c baza podataka krenula u upotrebu, jo uvijek se na-lazenekemanjegreke, kojejepotrebnoutokuradaispraviti.Moda neke stvari bolje prilagoditi korisnicima, ali o cuvati inte-grited baze podataka.