predavanje 01

36
Sveučilište u Mostaru Baze podataka - uvodno predavanje - Nastavnik: Prof.dr.sc. Dražena Gašpar Asistent: Ivana Ramljak Datum: 06.03.2013. FPMOZ

Upload: fantisimus

Post on 15-Dec-2014

68 views

Category:

Documents


14 download

DESCRIPTION

baze

TRANSCRIPT

Page 1: Predavanje 01

Sveučilište u Mostaru Ekonomski fakultet

Baze podataka - uvodno predavanje -

Nastavnik: Prof.dr.sc. Dražena Gašpar Asistent: Ivana Ramljak

Datum: 06.03.2013.

FPMOZ

Page 2: Predavanje 01

Info

• Profesor: prof.dr.sc. Dražena Gašpar

[email protected]

• Konzultacije: kontaktirati mailom radi dogovora

Page 3: Predavanje 01

Osnovni plan predavanja

• Uvod u baze podataka • Modeliranje podataka

• Model entiteti-veze • UML notacija

• Relacijski model podataka • Relacijska algebra • Normalizacija podataka

• Relacijske baze podataka • Osnove SQL-a

• Relacijske baze s objektno orijentiranim proširenjima • Objektno orijentirane baze podataka • Skladišta podataka

Page 4: Predavanje 01

Osnovni plan vježbi

• Uvod u baze podataka

• Modeliranje podataka

• Entitet-veze modeliranje

• UML

• Normalizacija podataka

• SQL

• Osnove Oracle baze podataka

Page 5: Predavanje 01

Temeljna literatura

1. Mladen Varga: Baze podataka, Zagreb.

2. Ratko Vujnovid: SQL i relacijski model podataka, Znak, Zagreb.

3. Josip Mance, Ivan Maglid: Oracle, Ina Info centar, Zagreb

4. materijali s predavanja i vježbi

Page 6: Predavanje 01

Način polaganja ispita

• Kolokviji (2 kolokvija)

Ocjenjivanje na predmetu Baze podataka.doc

ili

• Pismeni ispit (minimum za prolaz 60 od 100 bodova)

Page 7: Predavanje 01

Baze

podataka

Page 8: Predavanje 01
Page 9: Predavanje 01

GENEZA baza podataka

• Datotečni sustav – engl. File-based approach

• Datoteka – engl. file je logička jedinica za pohranjivanje podataka na vanjske memorije.

• Podatak – kodirana predodžba nekog svojstva određenog objekta.

Page 10: Predavanje 01

GENEZA baza podataka

• Slogovi – engl. records

• Polja – engl. fields

Sifra Naziv Adresa Mjesto Telefon

102 Dujmovid Blajb. zrtava bb Mostar 345-333

234 MIK Bišde polje Mostar 467-445

123 Neretva Dubrovačka bb Mostar 234-232

345 GIPI Glavica Čitluk 567-444

Page 11: Predavanje 01

GENEZA baza podataka

• Datoteka – engl. file je skup slogova koji sadrže logički povezane podatke, a svaki slog sadrži logički povezana polja gdje polje predstavlja neku značajku objekta realnog svijeta.

Page 12: Predavanje 01

GENEZA baza podataka

• Ograničenja datotečnog sustava:

Razdvajanje i izoliranje podataka

Dupliciranje podataka

Ovisnost između programa i podataka

Nekompatibilni formati datoteka (svaki programski jezik ima svoj format)

Fiksni, aplikacijski ovisni upiti

Page 13: Predavanje 01

Program

Data

Program

Datotečni

sustav

Baza

podataka

Page 14: Predavanje 01

C++

JavaSQL

VisualBasic

Page 15: Predavanje 01

Baza podataka - definicije

• Baza podataka jest model podataka poslovnog sustava, odnosno segmenta stvarnog svijeta.

• Baza podataka skup je operativnih i integriranih podataka obrađivanih u jednoj organizaciji (Date).

Page 16: Predavanje 01

Baza podataka - definicije

• James Martin

• “Baza podataka je skup istovrsnih podataka s višestrukom namjenom. Korisnik nije zainteresiran za sve vrste podataka u bazi, ved samo za one koji su mu potrebni u njegovom poslu. Korisnik može imati uvid u samo jednu, njemu potrebnu datoteku koja ima uvijek istu i to vrlo jednostavnu strukturu, iako je u biti izvedena iz mnogo kompleksnije strukture podataka. Različiti korisnici uzimaju u obzir različite datoteke izvedene iz iste baze podataka. Dakle, iako je baza podataka zajednička vedem broju korisnika, različiti korisnici je različito shvadaju.”

Page 17: Predavanje 01

Sustavi baza podataka

• Osobine zajedničke za sve sustave baza podataka

• Jeffrey D. Ullman:

• Apstraktni model podataka

• Visoka razina pristupa ili upitnih jezika

• Upravljanje transakcijama u višekorisničkom okruženju

• Kontrola pristupa i vlasništvo nad podacima

• Validacija podataka i provjera konzistentnosti

• Konzistentni oporavak podataka nakon ispada sustava i/ili strojne opreme

Page 18: Predavanje 01

Baze podataka - razvoj

• Pokretačke snage razvoja baza podataka

• Ukupan razvoj informatičke tehnologije, posebice hardvera i komunikacija

• Shvadanje podataka kao značajnog resursa organizacije

• Ukupne društvene promjene, prije svega procesi informatizacije i globalizacije ljudskog društva

• Promjene u upravljanju i organizacijskoj strukturi poduzeda

• Povedanje potreba krajnjih korisnika, posebice menadžera, za kvalitetnim podacima.

Page 19: Predavanje 01

Baze podataka - razvoj

• Ciljevi razvoja baza podataka

• Razdvajanje podataka od aplikacija koje ih koriste

• Prezentiranje logičkog pogleda na podatke neovisno od fizičkih detalja njihove pohrane u bazu podataka

• Omogudavanje različitih pogleda na istu bazu podataka, ovisno o korisničkim i aplikativnim

potrebama.

Page 20: Predavanje 01

Baze podataka – FAZE RAZVOJA

FAZE razvoja Baza podataka Aplikacija

Zahtjevi

(analiza)

Izrada modela podataka

Specificiranje podataka

Definiranje ograničenja i poslovnih pravila

Utvrđivanje zahtjeva za aplikaciju

Dizajn

Tablice

Relacije

Indeksi

Ograničenja

Pohranjene procedure i okidači

Forme

Izvješda (Reports)

Upiti (Queries)

Kod aplikacije

Implementiranje Kreiranje tablica

Kreiranje relacija

Kreiranje ograničenja

Pisanje procedura i okidača

Punjenje baze podataka

Testiranje

Kreiranje formi

Kreiranje izvješda

Kreiranje Upita

Pisanje koda aplikacije

Testiranje

Page 21: Predavanje 01

Baza podataka - shema (1)

• Shema baze podataka sadrži definiciju, odnosno opis baze podataka.

• ANSI/SPARC shema iz 1975.

ANSI – American National Standards Institute

SPARC – Standards Planning and

Requirements Committee

Page 22: Predavanje 01
Page 23: Predavanje 01

3 razine definiranja baze podataka

1. Konceptualna razina

2. Vanjska razina

• predstavlja LOGIČKI pogled na čitavu bazu podataka (preslikani model organizacije)

predstavlja KORISNIČKI pogled na bazu

podataka, a formira se sukladno potrebama i

ograničenjima korisnika u uporabi baze podataka.

opisuje implementiranje baze podataka na

konkretnom hardveru.

4. Unutarnja (fizička) razina

Page 24: Predavanje 01

Sustav za upravljenje bazom podataka

• engl. DBMS (DataBase Management System)

• Mora osigurati formiranje i održavanje sve tri sheme (razine) baze podataka, kao i njihovo međusobno preslikavanje

• Reorganiziranje unutarnje ili fizičke razine bez mijenjanja logičke tj. konceptualne sheme

• Promjenu konceptualne sheme bez mijenjanja postojede vanjske sheme.

(1)

Page 25: Predavanje 01

Sustav za upravljenje bazom podataka

• Fizička neovisnost podataka

promjena unutarnje (fizičke) sheme ne zahtjeva mijenjanje aplikacijskih programa

• Logička neovisnost podataka

promjena konceptualne sheme ne zahtijeva mijenjanje aplikacijskih programa

(2)

Page 26: Predavanje 01

Sustav za upravljenje bazom podataka

• SUBP – programska potpora koja omoguduje rad s bazom podataka i uključuje slijedede funkcije:

• Definiranje baze podataka (engl. Data Definition Language - DDL)

• Manipuliranje podacima u bazi (engl. Data Manipulation Language – DML)

• Upravljačke funkcije

1. Sigurnost i zaštita od neovlaštenog pristupa

2. Očuvanje integriteta (backup i recovery)

3. Statističko pradenje rada baze podataka

4. Optimizacija rada

(3)

Page 27: Predavanje 01

Povijesni razvoj baza podataka

1. Hijerarhijske

2. Mrežne

3. Relacijske

4. Relacijske baze s objektno orijentiranim proširenjima

5. Objektno orijentirane baze podataka

Page 28: Predavanje 01

1. Hijerarhijske baze podataka

• 1968. - IBM IMS/VS (Information Management System/Virtual Storage)

Struktura baze:

• Slogovi sastavljeni od polja

• Skup slogova = stablo

• Baza podataka = uređeni skup stabala

• Stablo čini jedan korijenski (engl. root) slog i nula ili više podstabala

• Odnos između slogova = roditelj/dijete (engl. parent-child relationship)

(1)

Page 29: Predavanje 01

Struktura hijerarhijske baza

podataka

Page 30: Predavanje 01

1. Hijerarhijske baze podataka

• Jezik za manipuliranje činio je skup operatora:

Operator za lociranje pojedinog stabla u bazi

Operator za pomicanje s jednog stabla na stablo koje slijedi po hijerarhiji

Operator za pomicanje sa sloga na slog unutar stabla

Operator za unošenje novog podatka

Operator za brisanje pojedinog podatka u stablu …

• Cjelovitost i konzistentnost je uvjetovana samom koncepcijom, ne postoje klasična pravila integriteta, samo 2 bitna ograničenja:

Niti jedan slog ne može postojati kao dijete slog ako za njega ne postoji roditelj slog

U slučaju brisanja roditelj sloga, sustav automatski briše sve dijete slogove.

(2)

Page 31: Predavanje 01

2. Mrežne baze podataka

• Početak 1970-tih (TOTAL, IDMS)

• 1971. Potvrđene u standardima CODASYL (engl. Conference On DAta SYstem Languages) komiteta koji predlaže tri različita jezika za opis baze podataka – DDL (Data Description Languages):

Shema DDL – opis mrežno strukturirane baze

Podshema DDL – definiranje korisničkog pogleda na bazu

DML (engl. Data Manipulation Language) – jezik za manipuliranje podacima čija je sintaksa kompatibilna sa sintaksom programskih jezika u koje se uključuje (npr. COBOL i sl.)

(1)

Page 32: Predavanje 01

2. Mrežne baze podataka

• Osnovu strukture čine slogovi, s tim da kod mrežnih baza jedan dijete slog može imati više roditelj slogova.

Osnovna pravila:

Jedna veza potječe samo od jednog sloga i ne može imati više roditelj slogova

Svaka veza ima isključivo jedan dijete slog, dok jedan dijete slog može imati više veza u kojima sudjeluje

Dijete slog u jednoj hijerarhiji može biti roditelj slog u drugoj

Jedan roditelj slog može biti roditelj slog u vedem broju veza

Jedan dijete slog može biti dijete slog u vedem broju veza

Između jednog roditelj i jednog dijete sloga može istovremeno postojati više veza.

(2)

Page 33: Predavanje 01

Struktura mrežne baza podataka

Page 34: Predavanje 01

2. Mrežne baze podataka

• Jezik za manipuliranje – skup operatora

• Slogovno orijentirani operatori (engl. record level operators)

• Integritet podataka ugrađen u sintaksu

• Ovisnost o fiksnim pokazivačima (engl. pointers)

(3)

Page 35: Predavanje 01

Ograničenja

• Ograničenja hijerarhijskih i mrežnih baza podataka

• Nemaju pokride u formalnoj teoriji

• Sva pretraživanja se izvode po unaprijed definiranim i točno navedenim putovima

• Svi odnosi između objekata se moraju unaprijed i točno definirati

• Optimizacija se provodi ručno – programer sam optimizira kod i određuje metodu koja de biti korištena pri komunikaciji između aplikacije i baze podataka.

Page 36: Predavanje 01

Pitanja..