Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

Baze podataka

Auditorna vježba 1
Osnovni podaci

• Nastavnici
• Doc.dr.sc. Ivica Lukić (PR, nositelj) / ivica.lukic@ferit.hr
• Doc.dr.sc. Zdravko Krpić (LV) / zdravko.krpic@ferit.hr
• dr.sc. Krešimir Romić (AV i LV) / kresimir.romic@ferit.hr
• 7 termina auditornih vježbi
• 2 termina rezervirana za KZ (8. i 14. tjedan za
2018./2019.)
• Potrebno imati minimalno 50% bodova zbrojeno iz obje
kontrolne zadaće
• Na 1. KZ potrebno je imati minimalno 20% bodova da
bi pristupili na 2. KZ
2
Sadržaj predmeta

• Uvod u relacijske baze podataka


• relacijska baza podataka
• relacija, entitet, veza, atribut
• E-R dijagram
• normalne forme
• primarni ključ, strani ključ
• NULL vrijednost, obavezni i opcionalni atribut

3
Sadržaj predmeta

• SQL jezik
• osnovne naredbe
• sintaksa, primjeri, zadaci
• složene naredbe
• sintaksa, primjeri, zadaci
• Programska interakcija s bazom podataka
• primjer: C# aplikacija

• Zadaci

4
Sustav za upravljanje bazom podataka

• Skraćeno SUBP, engl. Database Management


System (DBMS)
• Aplikacija može upravljati radom jedne ili više baza
podataka
• MySQL, MS SQL Server, Oracle, itd.

5
SUBP ima niz funkcija:

• Funkcije za definiranje baze podataka (engl.


Data Definition).
• Funkcije za manipulaciju podacima (engl. Data
Manipulation).
• Upravljačke funkcije – funkcije sigurnosti,
praćenja rada i integriteta baze podataka

6
Model podataka

• Podaci u bazi podataka su organizirani prema


određenom modelu podataka (engl. data
model). On je osnova sustava i prema njemu se
definiraju dizajn, podaci i veze među podacima
te razvojno okruženje.

7
Modeli baze podataka

• Danas poznajemo slijedeće modele:


• Hijerarhijski - stablo
• Mrežni - graf
• Relacijski - tablice
• Objektni - OOP

8
Relacijski model

Primarni Atributi
ključ

Relacijska
shema R IME PREZIME SPORT DRŽAVA
1 Dražen Petrović KOŠARKA HRVATSKA
n-torka 2 Slaven Bilić NOGOMET HRVATSKA
3 Patrik Čavar RUKOMET HRVATSKA Tijelo
4 Michael Jordan KOŠARKA AMERIKA relacije
Vrijednosti 5 Mike Tyson BOKS AMERIKA
atributa:
PREZIME 6 Ben Johnson ATLETIKA AMERIKA

9
Zahtjevi

• Neovisnost podataka
• fizička i logička neovisnost
• Zaštita integriteta
• konzistentnost i točnost
• Univerzalan pristup
• SQL, JDBC, ODBC
• Optimizacija i efikasnost
• brzina obrade

10
Zahtjevi

• Zaštita podataka
• autorizacija pristupa bazi, kontrola pristupa
podacima
• Administracije i kontrola
• centralizirana administracija sustava, iscrpna
dokumentacija
• repozitorij podataka (engl. Data Dictionary)
• podaci o podacima, meta podaci

11
Arhitektura

• Poznajemo 3 razine apstrakcije:


• fizička razina
• fizička pohrana podataka na mediju
• konceptualna (logička) razina
• logički opis (shema) cijele baze podataka
• bitno za razvoj aplikacija
• korisnička razina
• individualan korisnički pogled na podatke
• može se bitno razlikovati od sheme baze podataka

12
Grafički prikaz

Aplikacija Terminal Aplikacija


Korisnička razina

Pogled 1 Pogled 2 Pogled 3

Relacijska Logička razina


shema

Fizička shema

Fizička razina

13
Relacijsko modeliranje podataka

• Model entiteta i veza (E-R model)


• Dizajn konceptualne sheme koja predstavlja
apstrakciju realnog svijeta
• entitet, atribut, veza

• Relacijski model
• Dizajn logičke strukture (prema modelu entiteta i
veza) koja se može preslikati u fizičku implementaciju
• relacija

14
Model entiteta i veza (E-R model)

• (engl. Entity-Relationship Model)


• Chen, 1976.
• Grafički prikaz entiteta i veza
• E-R dijagram
• Odlikuje se jednostavnošću i izražajnošću

15
Entitet

• Opći pojam (objekt, proces, pojava) koji


možemo jednoznačno odrediti, a o kojemu u
bazi podataka čuvamo podatke
• Naziv entiteta zajedno sa svojim atributima
tvori tip entiteta unutar kojega može postojati
više instanci entiteta

16
Entitet

• U grafičkom prikazu se prikazuje pravokutnikom unutar


kojega je upisan naziv tipa entiteta
• Primjer:

Automobil Kuća

Osoba Projekt

17
Atribut

• Karakteristika (svojstvo) koje pobliže opisuje


entitet
• Može poprimiti vrijednost iz određenog skupa
vrijednosti koji predstavlja domenu (tip
vrijednosti) tog atributa
• Atribut ili skup atributa koji jednoznačno
određuje svaku instancu entiteta se naziva
kandidat za ključ tipa entiteta

18
Atribut

• Grafički se prikazuje elipsom unutar koje je upisan naziv


atributa
• kandidat(i) za ključ je podvučen

Naziv Veličina

Ime Cijena

JMBG

19
Veza

• Ono što opisuje odnos među entitetima


• Stupanj veze - broj entiteta koje promatrana veza
povezuje
• binarna, ternarna, itd.
• refleksivna - kada jedan entitet u vezi ima dvije različite uloge

20
Veza

• Spojnost veze - opisuje ograničenja


preslikavanja pojedinačnih entiteta koji
sudjeluju u promatranoj vezi
• 1:1, 1:N, N:1, N:M
• općenito govoreći moguće je i da u nekoj vezi pojedine
instance nekog entiteta ne sudjeluju (1:0, 0:N)

• Tip veze - skup veza iste vrste


• Grafički se prikazuje rombom unutar kojega
piše naziv tipa veze

21
Veza

• Primjer (spojnost):

1 N
Posjeduje

N M
Piše

N 1
Radi u

22
Veza

• Primjer (stupanj):

• binarna veza:

• ternarna veza:

• refleksivna veza:

23
Paralelna veza

• Među entitetima može postojati paralelna veza


• Paralelna veza može biti dvostruka, trostruka,
itd.
PBR_STAN N 1
STANUJE PBR
MBR

PREZIME DJELATNIK MJESTO

IME N 1
RADI NAZIV
PBR_RMJ

24
E-R dijagram

•Primjer 1: Napraviti ER model baze


podataka za vođenje katedre. Na svakoj
katedri nude se različiti kolegiji, a svaki
kolegij može upisati više studenata. Na
katedri su zaposleni predavači koji
predaju nastavu na kolegijima.

25
E-R dijagram

• Primjer 1: Naziv

Br. djelatnika Katedra 1


1 1
Broj sati Daje Pripada
Vodi

Naziv N
1 N
Predaje 1
Kolegij
N Predavač
N

Pohađa JMBG
Ime JMBG
M Adresa
Ime
Student Godina

26
E-R dijagram

•Primjer 2: Napraviti ER model baze


podataka za vođenje knjižare. Za svaku
knjigu vode se podaci o izdavačkoj kući,
autorima knjige te o UDK (Univerzalna
decimalna klasifikacija).

27
E-R dijagram

• Primjer 2:
OZNAKA IZDAVAČ NAZIV
1

OZNAKA IZDAO
KNJIGA
N
NAZIV
1 N
UDK NOSI KNJIGA
ISBN
N

NAPISAO GODIZD
NAZIV
M
IME
AUTOR AUTOR
PREZIME

28
Relacijski model

• engl. Relational Data Model


• Codd, 1970.
• Bazira se na relacijskoj teoriji
• Korisniku predstavlja jednostavan pogled na
podatke u obliku dvodimenzionalnih tablica
• Postoji metodologija (skup pravila) kojom se E-
R model prevodi u relacijski model

29
Normalizacija

• E. F. Codd: “Normalized data base structure: A


brief tutorial”
• Normalne forme
• 1NF, 2NF, 3NF
• Boyce-Coddova normalna forma (BCNF)
• Cilj je oblikovati model s dobrim svojstvima
• redundancija (zalihost), semantičke pogreške kod
izvođenja operacija

30
Relacija

• Pravokutno područje koje se sastoji od redova


(slogova, n-torki) i stupaca (atributa)
• Podskup Kartezijevog produkta skupova
• Karakteristike:
• stupanj - broj stupaca
• kardinalnost - broj slogova

31
Primjer

• Entitet: OSOBA
• Atributi: IME PREZIME
Perić
Pero
Marić
Marko
• Domene: Ivan

Pero Perić
Pero Marić
Marko Perić
• Kartezijev produkt: Marko Marić
Ivan Perić
(“svatko sa svakim”) Ivan Marić

• Relacija: Pero Perić


Marko Marić
Ivan Marić

32
Relacija

• Relacijska shema
• imenovani skup atributa
ne sadrži dva istoimena atributa
redoslijed atributa nije bitan

• Relacija
• definirana je nad relacijskom shemom
• konačan skup n-torki
ne sadrži dvije jednake n-torke
redoslijed n-torki nije bitan

33
Primjer:

Shema relacije
(zaglavlje) IME MATBR MJESTO_ROĐ
Darko 517 Osijek
Marko 632 Varaždin
Tijelo relacije
Petar 727 Varaždin
Žarko 814 Zagreb

n-torka
(slog)
stupac

34
Ključ relacije

• Primarni ključ -Podskup atributa relacijske


sheme koji jednoznačno određuje svaku
pojedinu n-torku relacije
• Funkcijski određuje preostali dio relacije
• Obavezno je poznat u potpunosti
• niti jedan atribut iz skupa koji čini ključ relacije ne smije
sadržavati vrijednost NULL

• Jedinstveni ključ - može poprimiti vrijednost


NULL

35
Adresibilnost

• Svaki stupac relacije jednoznačno je određen


nazivom atributa relacije
• Svaki redak relacije jednoznačno je određen
vrijednošću ključa n-torke
• Svaki pojedinačni podatak baze podataka se
može jednoznačno odrediti pomoću:
• naziva relacije, naziva atributa i vrijednosti ključa n-
torke

36
Strani ključ

• Strani ključ relacije R1 je atribut (ili podskup


atributa) relacijske sheme R1 koji može
poprimiti nul-vrijednost (NULL) ili vrijednost
atributa koji je primarni ključ relacije R2
• Atributi koji tvore strani ključ relacije R1 moraju
biti definirani nad istim domenama kao i
atributi koji tvore primarni ključ relacije R2

37
Ograničenja

• Sprečavanje unošenja pogrešnih ili


nedozvoljenih podataka u bazu podataka
• Definiraju se nad atributima relacijske sheme

38
Pretvorba iz E-R sheme u relacijsku

• Općenito vrijedi:
• Svaki tip entiteta prikazuje se jednom relacijom.
• Atributi tipa postaju atributi relacije.
• Jedan primjerak entiteta prikazan je jednom n-torkom.
• Primarni ključ entiteta postaje primarni ključ relacije.

MATBR RELACIJSKI MODEL:


IME
DJELATNIK (MATBR, PREZIME, IME)
PREZIME

DJELATNIK

39
Pretvorba binarnih veza: 1:1

ER MODEL:
MATBR OZNAKA
IME
NAZIV
PREZIME
1 1
DJELATNIK RadiNa PROJEKT

RELACIJSKI MODEL:
DJELATNIK (MATBR, PREZIME, IME)
PROJEKT (OZNAKA, NAZIV, MATBR)
40
Pretvorba binarnih veza: 1:N

ER MODEL:
MATBR OZNAKA
IME
NAZIV
PREZIME
1 N
DJELATNIK RadiNa PROJEKT

RELACIJSKI MODEL:
DJELATNIK (MATBR, PREZIME, IME)
PROJEKT (OZNAKA, NAZIV, MATBR)
41
Pretvorba binarnih veza: N:M

ER MODEL:
MATBR OZNAKA
IME MATBR OZNAKA
NAZIV
PREZIME
N M
DJELATNIK RadiNa PROJEKT

RELACIJSKI MODEL:
DJELATNIK (MATBR, PREZIME, IME)
PROJEKT (OZNAKA, NAZIV)
RadiNa (OZNAKA, MATBR)
42
Primjer - refleksivna veza

ER MODEL:
NAZIV

SIFODJEL
SIFNADODJEL
1
ODJEL ImaNad
N SIFODJEL

RELACIJSKI MODEL:
ODJEL (SIFODJEL, SIFNADODJEL, NAZIV)

43
Hvala na pozornosti!

Auditorne vježbe 1
Auditorne vježbe 2
Auditorne vježbe 3
Auditorne vježbe 4
Auditorne vježbe 5

44

You might also like