1285065990lekcija 1 - uvod u baze podataka
DESCRIPTION
modeli i baze informatikaTRANSCRIPT
-
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?