Upload
fantisimus
View
64
Download
14
Embed Size (px)
DESCRIPTION
baze
Citation preview
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
Info
• Profesor: prof.dr.sc. Dražena Gašpar
• Konzultacije: kontaktirati mailom radi dogovora
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
Osnovni plan vježbi
• Uvod u baze podataka
• Modeliranje podataka
• Entitet-veze modeliranje
• UML
• Normalizacija podataka
• SQL
• Osnove Oracle baze podataka
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
Način polaganja ispita
• Kolokviji (2 kolokvija)
Ocjenjivanje na predmetu Baze podataka.doc
ili
• Pismeni ispit (minimum za prolaz 60 od 100 bodova)
Baze
podataka
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.
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
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.
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
Program
Data
Program
Datotečni
sustav
Baza
podataka
C++
JavaSQL
VisualBasic
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).
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.”
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
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.
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.
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
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
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
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)
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)
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)
Povijesni razvoj baza podataka
1. Hijerarhijske
2. Mrežne
3. Relacijske
4. Relacijske baze s objektno orijentiranim proširenjima
5. Objektno orijentirane baze podataka
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)
Struktura hijerarhijske baza
podataka
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)
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)
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)
Struktura mrežne baza podataka
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)
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.
Pitanja..