23
Osnove informatike s primjenom računala 5. Baze podataka Adam Stančić

Osnove informatike svlado/mtst2013/OI_2013_5_Baze_podataka...8 Sustav upravljanja bazom podataka (2) • SQL (Structured Query Language) – osnova većine RDBMS sustava; • SQL je

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Osnove informatike s

    primjenom računala

    5. Baze podataka

    Adam Stančić

  • 2

    Vrste podataka

    • Podatak – izraz u nekom jeziku koji odražava stanje nečega;

    • Poruka – podatak koji se razmjenjuje između dva subjekta u procesu komunikacije;

    • Signal – fizički nositelj poruke pri komunikaciji;

    • Informacija – novost ili vijest, čovjekov spoznajni doživljaj poruke;

  • 3

    Baze podataka (1)

    • Baza podataka (Database) je skup podataka koji se

    odnose na određene objekte (entitete);

    • Entitet – „bilo što o čemu možemo prikupljati podatke“;

    • Bilježe se svojstva entiteta – atributi i njegove vrijednosti;

    ŽupanijaGrad

    Grad ZagrebZagreb

    Splitsko-dalmatinskaSplit

    Primorsko-goranskaRijeka

    Osječko-baranjskaOsijek

    KarlovačkaKarlovac

    Tablica: Gradovi

    Pošt. broj

    10 000

    21 000

    51 000

    31 000

    47 000

    Autooznaka

    ZG

    ST

    RI

    OS

    KA

    Broj stanovnika

    779.145

    188.694

    128 735

    114.616

    59.395

    - Entitet

    - Atributi

    - Vrijednosti

    atributa

  • 4

    Baze podataka (2)

    Objekt promatranja

    Alienware M17xR3

    Procesor:

    Intel Core i7 2630QM 2GHz 6MB

    cache

    Zaslon:

    17,3 LED 1920x1080 3D Ready

    Grafika:

    nVidia Geforce GTX 580M 2GB

    Memorija:

    6 GB DDR3 1333MHz

    Tvrdi disk:

    2 x 750 GB SATA

    Optički uređaj:

    DVD+/-RW Dual Layer

    Mreža:

    LAN, WLAN, Bluetooth

    Priključci:

    • 2 x USB 2.0

    • 2 x USB 3.0

    • 1 x eSata/USB

    • 1 x RJ-45

    • 1 x VGA

    • 1 x čitač kartica

    • 1 x Mini Display port

    • 1 x SPDIF out

    • 2 x HDMI

    Operativni sustav:

    Windows 7 Home Premium 64 bit

    Entitet

    Atribut

    Vrijednosti

    atributa

  • 5

    Baze podataka (3)

    • Svojstva entiteta (objekta) sastoje se od atributa i vrijednosti

    atributa;

    • Atribut: element kojim je jednoznačno određeno svojstvo

    entiteta – npr. JMBG, ime, prezime, adresa, broj telefona...

    • Vrijednost atributa: vrijednosti koje može poprimiti atribut:

    2808972340027, Pero; Perić, Ulica brijestova 3, 096 606 99

    44...

    Student

    Prezime Ime Matični broj

    Perić Pero 123456

    Objekt -

    entitet

    Atribut

    Vrijednost

    atributa

  • 6

    Vrste baza podataka

    • Flat (ravne, plošne) baze podataka – baze podataka koje

    se sastoje od jedne tablice;

    • Hijerarhijske baze podataka – podaci su posloženi u

    strukturu sličnu stablu gdje je jedan podataka „nadređen“

    drugima;

    • Relacijske baze podataka – baze podataka koje se

    sastoje od najmanje dvije tablice

    Dan: 1

    Dan: 2

    Dan: 3

    Brzina Put

    100

    220

    180

    10200

    7230

    5800

    Komponenta

    Sklop A Sklop B

    Element 1 Element 2 Element 3

    OIB Ime Prezime

    ... ... ...

    OIB Banka Račun

    ... ... ...

    Ime Prezime

    ... ...

    Banka Račun

    ... ...

    Flat baza podataka Hijerarhijska baza podataka Relacijska baza podataka

  • 7

    Sustav upravljanja bazom podataka (1)

    • Sustav upravljanja bazom podataka – Database

    Management System DBMS;

    • Sustav upravljanja relacijskom bazom podataka –

    Relational Database Management System RDBMS;

    • Sustav upravljanja, čitanja podataka i sustav koji vrši

    pohranu podataka u bazi podataka;

    • Populatni RDBMS sustavi: MySQL, Microsoft SQL

    Server, SQLite, IBM DB2, Informix, PostgreSQL,

    Oracle…

  • 8

    Sustav upravljanja bazom podataka (2)

    • SQL (Structured Query Language) – osnova većine RDBMS sustava;

    • SQL je programski jezik za upravljanje podacima unutar relacijske baze podataka;

    Pomoću naredbi napisanih u SQL-u moguće je:

    • vršiti upite prema tablicama prema nekom kriteriju;

    • manipulirati (dodavanje, korigiranje i brisanje) podacima;

    • vršiti nadzor transakcija;

    • definirati tip podataka;

    • definirati dozvolu ili ograničenje prava korisnika na pristup

    i manipulaciju podacima;

  • 9

    Dijelovi baze podataka

    Dijelovi baze podataka su:

    • Tablice (Tables);

    • Upiti (Querys);

    • Maske (Forms);

    • Izvještaji (Reports);

    • Stranice (Pages);

    • Makro naredbe (Macros);

    • Moduli (Modules);

  • 10

    Tablica (Table)

    • Skup podataka o pojedinom entitetu;

    Sastoji se od:

    • Polja (Fields);

    • stupac, kolona (column) – sadrži istovrsne podatke

    (atribut);

    • Zapis ili slog (Record);

    • Redak (Rows) – sadrže podatke o pojedinom entitetu

    (vrijednost atributa);

    • Veze između tablica, relacije (Relationships);

  • 11

    Struktura tablice

    Tablica: CPU

    Procesor Br. jezgri Takt [min - max] FSB [Mhz]

    Core 2 Duo 2 2530 - 3066 1066

    Atom 1, 2 1600 - 1666 533

    Xeon 4 2500 - 3333 667

    Redak (Record)

    Vrijednost atributa

    Stupac (Field)

    AtributAtribut Broj jezgri ima vrijednost atributa 2, 1 i 2, 4...

    Relacija

    Tablica: Račun korisnika

    Ime Prezime

    ... ...

    Banka Račun

    ... ...

    OIB

    ...

    Tablica: Račun

    OIB Banka Račun

    ... ... ...

    OIB Ime Prezime

    ... ... ...

    Tablica: Korisnik

  • 12

    Upiti (Query) • Upiti koji postavljaju korisnici o podacima u tablici;

    • Upiti služe za selekciju, sortiranje, grupiranje, kombinaciu

    postojećih podataka o bazi podataka te stvaranje nove grupe

    podataka;

    • Vrste upita: Select, Parametar i Crosstab;

    • Standardizirani jezik upita (SQL - Structured Query

    Language);

    • Odgovor je u obliku: grupe slogova (tablice) ili kao maska

    (forma);

    Procesor ProizvođačPentiumIntel

    AthlonAMD

    XeonIntel

    OpteronAMD

    SempronAMD

    AtomIntel

    Tablica: CPU

    SELECT PROCESOR FROM CPU

    WHERE PROIZVOĐAČ = «INTEL»

    UpitProcesor

    Pentium

    Xeon

    Atom

    Rezultat upita

  • 13

    Maska (Forms)

    • Formulari za unos, promjenu i pregled podataka (slog po

    slog);

    • Prikaz jednog sloga (ili zapisa) na masci (ili formi) iz

    jednog izvora podataka (tablice ili upita) ili više izvora

    podataka (upotrebom pod-maski);

    BA DC

    ...... ......

    1.

    2.

    n.

    A:B:C:D:

    1 / n

    A:B:C:D:

    1 / n

    BA DC

    ...... ......

    1.

    2.

    n.

    YX QP

    ...... ......

    1.

    2.

    n.

    YX

    QP

    Jedan izvor podataka Višestruki izvor podataka

  • 14

    Izvještaji (Report)

    • Oblikovanje preglednog ispisa podataka;

    • Način izrade izvještaja gotovo je istovjetan izradi maske

    – u izvještaje nije moguće upisivati podatke;

    • Podaci se mogu prikazivati, grupirati, sortirati i

    izračunavati;

    BA DC

    ...... ......

    1.

    2.

    n.

    Jedan izvor podataka

    D:C:B:A:

    1 / n

    BA DC

    ...... ......

    1.

    2.

    n.

    YX QP

    ...... ......

    1.

    2.

    n.

    Višestruki izvor podataka

    D:C:B:A:

    1 / n

    X Y P Q

  • 15

    Makro naredbe (Macro) i moduli (Modules)

    • Makro naredbe se koriste za automatizaciju različitih

    procesa unutar baze podataka;

    • Dodjeljuju se različitim objektima (maske, izvještaji,

    komandne tipke...)

    • Modul – automatizacija i programiranje procedura u MS

    Visual Basic for Applications (VBA) jeziku;

    Makro

    naredba

    Otvori tablicu

    Pronađi podatak

    Izmjeni podatak

    Pohrani izmjene

    Kreiraj izvještaj

    Tiskanje izvještaja

    1.

    2.

    3.

    4.

    5.

    6.

    A:B:C:D:

    1 / n Ok

    Modul

  • 16

    Relacijski model baze podataka (1)

    Prednosti korištenja relacijskih baza podataka;

    • fleksibilna struktura podataka;

    • minimalna (nužna) zalihost (normalizacija podataka);

    • standardizirani jezik upita (SQL);

    • centralizirana kontrola i upravljanje podacima;

    Nedostaci relacijskog pristupa pohrani podataka;

    • Zalihost (redundancija) podataka;

    • Neažurnost i netočnost;

    • Relacijski model baze podataka – predstavlja podatke u

    obliku dvodimenzionalnih tablica;

  • 17

    Relacijski model baze podataka (2)

    • Cilj – izbjegavanje čestih i po podatke opasnih

    reorganizacija baze podataka;

    • Normalizacija – postupak otklanjanja anomalija

    održavanja podataka i zalihosti;

    • Nenormalizirana tablica transformira se u više manjih,

    normaliziranih tablica bez gubitaka informacija;

    Ime

    Marko

    Slavko

    Ivica

    Goran

    Tomislav

    Matija

    Tablica: Imenik

    Grad

    Zagreb

    Karlovac

    Zagreb

    Zagreb

    Karlovac

    Rijeka

    Telefon

    355 - 568

    277 - 775

    475 - 565

    109 - 333

    579 - 025

    648 - 369

    Šifra

    152

    153

    154

    Tablica: Grad

    Grad

    Zagreb

    Karlovac

    Rijeka

    Ime

    Marko

    Slavko

    Ivica

    Goran

    Tomislav

    Matija

    Tablica: Imenik

    Grad

    152

    153

    152

    152

    153

    154

    Telefon

    355 - 568

    277 - 775

    475 - 565

    109 - 333

    579 - 025

    648 - 369

  • 18

    Planiranje baze podataka (1)

    • Prije svega, potrebno je odrediti što se želi evidentirati;

    • Podaci koji se žele evidentirati smještaju se u tablice -

    logičke cjeline podataka;

    • Određivanje naziva polja (field) baze podataka;

    • Definiranje tipa podataka koji se mogu unijeti u polje

    (numerički, datum, vrijeme, tekst...);

    • Definiranje ključeva baze podataka;

  • 19

    Planiranje baze podataka (2)

    ImeMatični broj

    Marko65889

    Slavko65890

    Ivica65891

    Goran65892

    Tomislav65893

    Matija65894

    Tablica: Student

    Smjer

    Strojarstvo

    Mehatronika

    Strojarstvo

    Strojarstvo

    Mehatronika

    Mehatronika

    Primarni ključ

    Jednoznačan

    podatak koji se

    nikada ne ponavlja

    Tip podataka:

    Automatski brojač

    (AutoNumber,

    AutoIncrement)

    • Primarni ključ – jednoznačan skup podataka koji se nikada

    ne ponavlja u tablici. Ne opušta pojavu dva identična

    zapisa u jednoj tablici;

    • sastoji se od jednog ili više polja;

  • 20

    Planiranje baze podataka (3)

    Procesor Br. jezgri Takt [min - max] FSB [MHz]

    Core 2 Duo 2 2530 - 3066 1066

    Atom 2 1600 - 1666 533

    Xeon 4 2500 - 3333 667

    Naziv tablice: CPU

    Opis: Karakteristike centralnog mikroprocesora

    Naziv polja: fld_processor

    Naslov: Procesor

    Tip podataka: Tekst

    Duljina zapisa: 25

    Opis: Unos naziva procesora

    Naziv polja: fld_no_core

    Naslov: Br. jezgri

    Tip podataka: Broj

    Broj decimala: 0

    Opis: Broj jezgri procesora

    Naziv polja: fld_speed

    Naslov: Takt [min-max]

    Tip podataka: Tekst

    Duljina zapisa: 30

    Opis: Min i maks. takt procesora

    Naziv polja: fld_fsb_speed

    Naslov: FSB [MHz]

    Tip podataka: Broj

    Broj decimala: 0

    Opis: Brzina sabirnice

    Šifra

    108

    109

    110

    Naziv polja: id_processor

    Naslov: Šifra

    Tip podataka: AutoNumber

    Opis: Primarni ključ [PK]

    • Entitet: Svojstva i karakteristike centralnih mikroprocesora;

    • Atributi: Naziv procesora, broj jezgri, maks. i min, radni takt, brzina

    sabirnice;

    • Vrijednosti atributa: Core 2 Duo, Atom, Xeon, 2, 4, 2530 – 3066...

  • 21

    Veze između tablica (1)

    • Veza 1:1 – svakom slogu tablice s jedne strane odgovara točno jedan slog tablice s druge strane zavisnosti. Primjer: Student ↔ Broj indeksa;

    • Veza 1:više – jednom slogu tablice odgovara više slogova tablice s druge strane zavisnosti. Primjer: Student ↔ Broj posuđenih knjiga;

    • Veza više:1 – više slogova s jedne strane , spaja se sa slogom tablice s druge strane zavisnosti. Primjer: kolegij ↔ Profesor;

    • Veza više : više - više slogova s jedne strane , spaja se sa više slogova tablice s druge strane zavisnosti. Primjer: Studenti ↔ Kolegij;

  • 22

    Veze između tablica (2)

    Student Broj indeksa

    A

    B

    C

    1

    2

    3

    Odnos 1 : 1

    Student Kolegij

    A 1

    2

    3

    Odnos više : više

    B

    C

    Student Posuđene knjige

    A 1

    23

    Odnos 1 : više

    4

    B

    5

    C

    • MS Access baza podataka ne podržava odnos više : više;

  • 23

    Pristup podacima na Internetu

    ASP.net PHP

    ColdFusion

    Java EE

    Ruby on Rails

    Ime

    Marko

    Slavko

    Ivica

    Goran

    Tomislav

    Matija

    Tablica: Imenik

    Grad

    Zagreb

    Karlovac

    Zagreb

    Zagreb

    Karlovac

    Rijeka

    Telefon

    355 - 568

    277 - 775

    475 - 565

    109 - 333

    579 - 025

    648 - 369

    SELECT * FROM IMENIK

    WHERE GRAD= ZAGREB'' ''

    2.

    Upit (Query)

    Ime Marko

    Ivica

    Goran

    Grad ZagrebTelefon 355 - 568

    475 - 565

    109 - 333

    Ime Telefon Grad Zagreb

    Ime Telefon Grad Zagreb

    Rezultati upita

    3.

    4.

    Ime

    Marko

    Ivica

    Goran

    Grad

    Zagreb

    Zagreb

    Zagreb

    Telefon

    355 - 568

    475 - 565

    109 - 333

    5.

    Prikaži podatke za

    osobe iz Zagreba

    1.Dinamički generirana

    web stranica

    Prezentacijski sloj

    Obrada korisničkog

    zahjeva

    Aplikacijski sloj

    Generiranje upita i

    pristup podacima u

    bazi podataka

    Podatkovni sloj

    Formatirani rezultati upita

    Višeslojna arhitektura: Klijent – poslužitelj (Client - Server)

    arhitektura kod koje su prezentacija, aplikativna obrada i obrada

    podataka odvojeni logički procesi;