1285065990lekcija 1 - uvod u baze podataka

45
UVOD U BAZE PODATAKA Neđeljko Lekić Irena Orović www.etf.ac.me, www.elektronika.t-com.me

Upload: sara-kukic

Post on 20-Oct-2015

44 views

Category:

Documents


5 download

DESCRIPTION

modeli i baze informatika

TRANSCRIPT

  • UVOD U BAZE PODATAKA

    Neeljko LekiIrena Oroviwww.etf.ac.me,www.elektronika.t-com.me

  • U OVOJ LEKCIJI

    Informacije o predmetu. to je baza podataka? Sistemi za upravljanje bazama podataka

    (DBMS database managment system). Relacioni model.

  • INFORMACIJE O PREDMETU

    Status predmeta Semestar

    Broj ECTS kredita Fond asova

    Obavezan III 6 3P+0V+2L

    Uslovljenost drugim predmetima:Nema formalnih uslova.

    BAZE PODATAKA

    Metod nastave i savladanja gradiva: Predavanja, raunske vjebe i vjebe u raunarskoj uionici. Uenje i samostalna izrada praktinih zadataka. Konsultacije.

    Ime i prezime nastavnika i saradnika:Doc. dr Neeljko Leki, Doc. dr Irena Orovi - nastavniciMr Predrag Rakovi - saradnik

  • INFORMACIJE O PREDMETU

    Priprema i upis semestra

    Uvod; to je baza podataka? Sistem za upravljanje bazama podataka.Relacije i ralaciona algebra. Relacioni model podataka.Model objekti veze (E/R - Entity-Relationship model).SQL - Opis podataka (DDL).Slobodna sedmica.I provjera znanja.SQL Rukovanje podacima (DML).Nedostajui podaci.Normalizacija.Indeksi i optimizacija upita.Transakcije i konkurentnost.II provjera znanja.Sigurnost i integritet podataka.Moderne baze podataka (Druge vrste baza podataka).SQL u drugim programskim jezicima.

    Zavrni ispit, ovjera semestra i upis ocjena

    Dopunska nastava i popravni ispitni rok

    Pripremna sedmica

    I sedmica II sedmica III sedmica IV sedmica V sedmica VI sedmica VII sedmica VIII sedmica IX sedmica X sedmica XI sedmica XII sedmica XIII sedmica XIV sedmica XV sedmica XVI sedmica

    Zavrna sedmica

    XVIII-XXI sedmica

    Sadraj predmeta:

  • INFORMACIJE O PREDMETU

    Studenti su obavezni da pohaaju nastavu, rade zadatke tokom nastave, odrade laboratorijske vjebe, rade oba kolokvijuma i zavrni ispit.

    U toku semestraNastava i zavrni ispit: 8 asova x 16 = 128Neophodne pripreme prije poetka semestra (administracija, upis, ovjera) 2 x 8 asova = 16 asovaUkupno optereenje za predmet 6x30 = 180 asovaDopunski rad za pripremu ispita u popravnom ispitnom roku, ukljuujui i polaganje popravnog ispita od 0 do 36 asova (preostalo vrijeme od prve dvije stavke do ukupnog optereenja za predmet 180 asova)Struktura optereenja: 128 asova (Nastava)+16 asova (Priprema)+30 asova (Dopunski rad)

    Sedmino 6 kredita x 40/30 = 8 asova

    Struktura:3 asa predavanja2 asa rada u raunarskoj uionici3 asa samostalnog rada, ukljuujui konsultacije

    Optereenje studenata na predmetu

  • Literatura: Materijal u elektronskoj formi koji studenti dobijaju u toku nastave,http://dev.mysql.com (mysql reference manual),Poliuk E. J.: Baze podataka, JEP, Podgorica, 2003,

    Literatura sa interneta.

    Oblici provjere znanja i ocjenjivanje:Provjere znanja tokom nastave, 20 poena,Rad na laboratorijskim vjebama, 10 poena,Dvije provjere znanja po maksimalno, 15 poena (ukupno maksimalno 30 poena),Zavrni ispit se ocjenjuje sa maksimalno, 40 poena.Prelazna ocjena se dobija ako se kumulativno sakupi najmanje 51 poen.

    Posebna naznaka za predmet:U sluaju da je to potrebno nastava se moe izvoditi i na engleskom jeziku.

    INFORMACIJE O PREDMETU

  • KRATAK PREGLED SADRAJA PREDMETA

    Praktini dioMySQL

    Kreiranje baze podataka

    Zadavanje upita

    Nekoliko glavnih temaDBMSModeliranje podatakaDizajniranje bazeSQLTransakcijeKonkurentnostAdministriranje

  • ISTORIJA

    Unos podatakaSkladitenje i pretraivanje

    Obrada upita (zahtjeva) Sortiranje

  • A set of information held in a computerOxford English Dictionary

    One or more large structured sets of persistent data, usually associated with software to update and query the data

    Free On-Line Dictionary of Computing

    A collection of data arranged for ease and speed of search and retrieval

    Dictionary.com

    NEKOLIKO DEFINICIJA POJMA BAZE PODATAKA

  • Baze podataka su upotrebljive Mnoge raunarske

    aplikacije rade sa velikom koliinom podataka

    DBMS obezbjeuje skup alata za skladitenje, pretraivanje i upravljanje tim podacima.

    Baze podataka u raunarskim naukama Baze podataka su jezgro

    raunarskih nauka. Za diplomiranog studenta

    raunarskih nauka podrazumijeva se poznavanje osnovnih koncepata baza podataka i odreeno iskustvo u radu sa sistemima za upravljanje bazama podataka.

    ZATO IZUAVATI BAZE PODATAKA

  • BAZE PODATAKA - PRIMJENE

    Red vonje Avio rezervacije Kreditne kartice Podaci studenata Podaci o korisnicima Berza i tako dalje ...

    Web indeksi Bibliotetski katalozi Medicinski zapisi Bankovni rauni Kontrola zaliha Katalozi proizvoda Telefonski imenici

  • Aplikacioni programi koji servisiraju krajnjeg korisnika (npr. izvjetaji).

    Svaki program definie i upravlja svojim vlastitim podacima.

    FAJL SISTEMI

  • OBRADA PODATAKA U FAJL SISTEMIMA

  • Odvojenost (izoliranost) podatakaSvaki program upravlja vlastitim setom podataka.Korisnici jednog programa esto ne znaju za

    potencijalno korisne podatke drugog programa.

    Dupliranje podataka (redudansa) Isti podaci se uvaju u razliitim programima.Rasipanje resursa i potencijalno razliite

    vrijednosti i/ili razliiti formati istih pojmova.

    OGRANIENJA FAJL SISTEMA

  • Zavisnost od podataka Fajl struktura je definisana u programskom kodu.

    Nekompatibilni formati fajlova Programi su pisani u razliitim jezicima, i ne mogu

    jednostavno pristupati fajlovima drugih programa.

    Problemi sa novim zahtjevima Programi su pisani da zadovolje posebne funkcije. Svaki novi zahtjev stvara porebu za novim

    programom.

    OGRANIENJA FAJL SISTEMA

  • Nastali su zbog:Definicije podataka su bili ugraene u

    aplikacioni program, umjesto da budu smjetene odvojeno i nezavisno.

    Nema kontrole nad pristupom i obradom podataka izvan aplikacionog programa.

    Rezultat:Sistem za upravljanje bazom podataka

    (DBMS).

    SISTEMI ZASNOVANI NA BAZI PODATAKA

  • Sistemi zasnovani na bazi podataka (Database System) objedinjuju u cjelinu:

    Bazu podataka, Model podataka i Sistem za upravljanje bazom podataka (DBMS)

    SISTEMI ZASNOVANI NA BAZI PODATAKA

  • Podaci se kreiraju nezavisno od programa koji ihkoriste. Zajednikim pristupom dodaju se novipodaci te mijenjaju i premjetaju postojei.

    Podaci se pohranjuju u bazu podataka na jedanorganizovan nain koristei odgovarajui model podataka.

    BAZA PODATAKA - DEFINICIJABaza podataka je skup medusobno povezanihpodataka pohranjenih bez nepotrebne redudantnosti, s ciljem da na optimalni nain poslue u raznimprimjenama.

  • Model podataka je formalni sistem koji moraimati barem sljedee tri komponente:

    1. Skup objekata koji su osnovni elementi bazepodataka;

    2. Skup operacija koje se mogu izvoditi nad objektimadefinisanim pod 1) i kojima se mogu pretraivati, dodavati i modifikovati podaci o tim objektima;

    3. Skup optih pravila integriteta podataka kojaimplicitno ili eksplicitno definiu skup konzistentnihstanja podataka ili promjena stanja, ili oboje. Pravila su opta u smislu da su primjenjiva na bilo koju bazupodataka koja koristi taj model.

    MODEL PODATAKA - DEFINICIJA

  • Za razvijanje sistama za upravljanjebazom podataka. Za razvijanje programskih jezika za rad s

    podacima u bazi podataka. Za razvijanje optih teorija oblikovanja

    baza podataka. Za istraivanje svojstava podataka,

    odnosno svojstava baza podataka.

    ZA TO SE KORISTI MODEL PODATAKA?

  • SISTEMI ZA UPRAVLJANJE BAZOM PODATAKA

    Baza podataka je kolekcija podataka.

    Sistem za upravljanje baze podataka(DBMS) je softver koji kontrolie te podatke.

  • SISTEM ZA UPRAVLJANJE BAZOM PODATAKA

    Sirovi podaci (goli metal)

    D

    Aplikacijadolazi ovdje

    DBMS interfejsomoguuje da aplikacijei sistem za upravljanje

    podacima budu izvedeni odvojenoDBMS

  • TO DBMS DONOSI?

    Obezbjeuje: Jezik za opis

    podataka (DDL - Data definition language) Jezik za rukovanje

    podacima (DML - Data manipulation language) Jezik za kontrolu

    podataka (DCL - Data control language )

    esto se ovi jezici smatraju jednim jezikom SQL.

    DBMS obezbjeuje Trajnost Konkurentnost Integritet Bezbjednost Nezavisnost podataka

    Rjenik podataka Opisuje samu bazu

    podataka.

  • TO DBMS DONOSI?

    Fizika nezavisnost podataka. Razdvaja se logika definicija baze od njene stvarne fizike grae.Na primjer, ako se fizika graa promijeni (na primjer, podaci se prepiu u druge datoteke na drugim diskovima), to nee zahtijevati promjene u postojeim aplikacijama.

    Logika nezavisnost podataka. Razdvaja se globalna logika definicija cijele baze podataka odlokalne logike definicije za jednu aplikaciju. Na primjer, ako se logika definicija promijeni (na primjer uvede se novi entitetili veza), to nee zahtijevati promjene u postojeim aplikacijama.

    Mogunost oporavka nakon kvara. Zatita baze u sluaju kvara hardvera ili greaka u radu sistemskogsoftvera.

  • TO DBMS DONOSI?

    Fleksibilnost pristupa podacima. Korisnik moe slobodno pretraivati podatke, i po eljiuspostavljati veze meu podacima.U starijim mrenim i hijerarhijskim bazama, staze pristupanja podacimabile su unaprijed definisane. Korisnik je mogao pretraivati podatkejedino onim redoslijedom koji je bio predvien u vrijeme projektovanja i implementiranja baze.

    Istovremeni pristup do podataka. Mogunost davei broj korisnika istovremeno koristi iste podatke. Korisnici ne smiju ometati jedan drugoga.

  • TO DBMS DONOSI? Zatita od neovlaenog korienja. Mogunost da

    se korisnicima ogranie prava korienja baze.Svakom korisniku se dodjeljuju ovlaenja: to on smije, a to ne smije raditis podacima.

    Zadovoljavajua brzina pristupa. Operacije nadpodacima moraju se odvijati dovoljno brzo, u skladu s potrebama odreene aplikacije. Na brzinu pristupa moe se uticati izborom pogodnih fizikih strukturapodataka, te izborom pogodnih algoritama za pretraivanje.

    Mogunost podeavanja i kontrole. Velika bazazahtijeva stalnu brigu: praenje performansi, mijenjanje parametara u fizikoj grai, rutinskosmjetanje rezervnih kopija podataka.

  • Rjenik ili katalog sadri informacije o samoj bazi podataka. Podaci o podacima

    ili metapodaci Gotovo svaki

    segment DBMS koristi rjenik.

    Rjenik sadri: Opis objekata baze

    podataka (tabela, korisnika, pravila, pogleda, indeksa,) Informacije ko

    koristi koje podatke(brave) eme i

    preslikavanja

    RJENIK PODATAKA - METAPODACI

  • SISTEM ZA UPRAVLJANJE BAZOM PODATAKA

  • SISTEM ZA UPRAVLJANJE BAZOM PODATAKA

    Danas postoji vie razliitih DBMS-a:

    mysql:www.mysql.orgOpen source, dosta moan

    PostgreSQL:www.postgresql.orgOpen source, moan

    Microsoft Access:Jenostavan sistem sa puno korisnih grafikih alata.

    Komercijalni sistemi:Oracle 11g (www.oracle.com)SQL Server (www.microsoft.com/sql)DB2 (www.ibm.com/db2)

  • Minimalna redudantnost podataka Konzistenznost podataka. Integracija podataka. Dijeljenje podataka. Sprovoenje standarda. Lakoa razvoja aplikacija. Uniformni postupak obezbjeenja

    sigusnosti, privatnosti i integriteta. Nezavisnost podataka.

    PREDNOSTI SISTEMA SA BAZOM PODATAKA

  • Krajnji korisnici Koriste baze podataka

    da dodju do potrebne informacije

    Aplikacioni programeri Piu softver koji

    krajnjim korisnicima omoguuje pristup bazi podataka.

    Administratori baze podataka (DBA) Kreiraju i upravljaju

    bazom podataka

    DBMS programeri Piu DBMS softver

    KORISNICI BAZE PODATAKA

  • ANSI/SPARC Arhitektura

    ANSI - American National Standards Institute SPARC - Standards

    Planning and Requirements Committee 1975 predloen

    okvir za baze podataka

    Tri nivoa arhiterture Interni nivo (Fiziki

    nivo): Za sistemske dizajnere Konceptualni nivo

    (Logiki nivo): Za dizajnere baze podataka i administratore Eksterni nivo

    (Eksterna ema): Za korisnike baze podataka

    ARHITEKTURA DBMS-a

  • TRI NIVOA ARHITEKTURE

    Konceptualnaema

    Fiziki nivo

    Logikinivo

    Interna ema

    Eksternaema 1

    Eksternaema 2

    Eksternaema n

    Eksterninivo

  • Interni nivo

    Fiziko smjetanje podataka Struktura zapisa na

    disku - fajlovi, stranice, blokovi

    Indeksi i ureivanje zapisa

    Koriste programeri DBMS sistema

    Interna emaRECORD EMPLENGTH=44HEADER: BYTE(5)

    OFFSET=0NAME: BYTE(25)

    OFFSET=5SALARY: FULLWORD

    OFFSET=30DEPT: BYTE(10)OFFSET=34

    TRI NIVOA ARHITEKTURE

  • Konceptualni nivo Organizacija

    podataka kao cjeline Abstrakcija uvedena u

    cilju uklanjanja porebe za detaljima internog nivoa. Koriste DBAs i

    programeri aplikacija

    Konceptualna emaCREATE TABLEZaposleni (Ime VARCHAR(25),Zarada REAL,imeOdjeljenja INTEGER)

    TRI NIVOA ARHITEKTURE

  • TRI NIVOA ARHITEKTURE

    Externi nivo Pogled na bazu

    podataka skrojen prema potrebi korisnika Dio podataka moe

    ostati skriven Podaci su

    predstavljeni u upotrebljivom obliku Koriste krajnji korisnici

    i programeri aplikacija

    Eksterna emaSELECT Ime,Zarada FROMZaposleni

  • Preslikavanja Preslikavanja prevode

    informacije sa jednog nivoa na drugi Externi/Konceptualni Konceptualni/Interni

    Preslikavanja obezbjeuju nezavisnost podataka

    Fizika nezavisnost podataka Promjene unutar internog

    nivoa ne utiu na konceptualni nivo

    Logika nezavisnost podataka Promjene na

    konceptualnom nivou ne utiu na eksterni nivo

    TRI NIVOA ARHITEKTURE

  • Podaci

    Koncept.ema

    Eksternaema 1

    Eksterna ema 2

    Koris. 1 Koris. 2 Koris. 3

    DBA

    Ekterni nivo

    Externi nivo/Konceptualni nivo preslikavanje

    Konceptualni nivo

    Interni nivo

    Konceptualni nivo/Interni nivo preslikavanje

    PRESLIKAVANJA

  • Problemi sa ranijim bazama podataka Rad sa zapisima

    zahtijeva kompleksne programe. Minimalna nezavisnost

    podataka Nema teoretske

    osnove

    Onda, 1970, E. F. Codd je napisao A Relational Model of Data for Large Shared Databanks i uveo relacioni model.

    RELACIONI SISTEM BAZE PODATAKA

  • EDGAR F. CODD

    Edgar F. "Ted" Codd ( 23 Avgust 1923 -18 April 2003) Britanski naunik raunarskih nauka koji je, dok je radio za IBM, izumio relacione baze podataka.

    Roen je u Portlandu, Dorset. Studirao je matematiku i hemiju na Oxford-u. Tokom drugog svjetskog rata, bio je pilot u Royal Air Force. 1948 zaposlio se u IBMu New York-u kao matematiar programer. Za vrijeme McCarthy-ja prebjegao je u Kandau. Kasnije se vratio u USA i radio dokrorat iz oblasti raunarskih nauka, na Univerzitetu Michigan u Ann Arbor-u. Zatim je nastavio kao IBM istraivau San Jose-u.

    1970, njegov rad A Relational Model of Data for Large Shared Data Banks mijenja sve.

    Tokom 1990-tih uveo je pojam:OLAP (On Line Analytical Processing ).

  • Informacije se smjetaju kao n-torke (tuples) ili zapisi(records) u relacijamaili tebelama Oslanja se na

    matematiku relacionu teoriju. Najvie modernih

    DBMS bazirano je na relacionom modelu.

    Relacioni model pokriva 3 podruja: Stukturu podataka Integritet podataka Manipulisanje

    podacima Vie detalja u

    sljedeoj lekciji

    RELACIONI SISTEM BAZE PODATAKA

  • Server baze podataka

    Aplikacioni server

    KorisniciAplikacijske forme

    Tabele baze podatakaForme, Izvjetaji,Programi

    SQL Upiti

    Podaci

    RAZVOJ APLIKACIJA SA DBMS

    Programeri iadministratori

  • Alati:Dizajn baze podatakaSQL (upiti)Programiranje

    D

    e

    s

    i

    g

    n

    S

    Q

    L

    P

    r

    o

    g

    r

    a

    m

    Bolje:Utroiti vrijeme na dizajni SQL upite.

    Loe:Nadoknaivati lo dizajn baze podataka i nedovoljno mone SQL upite programiranjem.

    IZRADA POSLOVNE APLIKACIJE

    D

    e

    s

    i

    g

    n

    S

    Q

    L

    P

    r

    o

    g

    r

    a

    m

  • DIZAJNIRANJE BAZE PODATAKA

    Analiza zahtjevaPotrebe korisnika; to baza podataka mora zadovoljiti?

    Konceptualni dizajnOpis visokog nivoa apstrakcije; esto se koristi E/R model.

    Logiki dizajnPrevoenje E/R modela u (tipino) relacionu emu.

    Optimizovanje relacione emeOtklanjanje redudanse i anomalija.

    Fiziki dizajn/optimizacijaFizika realizacija baze podataka i njena dalja optimizacija

  • PITANJA IZ OVE LEKCIJE

    to je to baza podataka?to predstavlja DBMS?Koje su primjene baze podataka?Kako tee obrada podataka u fajl sistemima?Koji su nedostaci fajl sistema?Kako tee obrada podataka u sistemima sa bazom podataka?Koje su prednosti sistema sa bazom podataka?Koji nivoi postoje u ANSI/SPARC modelu.Koja je uloga pojedinog nivoa?Koji korisnici su zainteresovani za koji nivo?Kako su nivoi meusobno povezani?Kakav se postupak preporuuje pri dizajniranju baze podataka?