64
UVOD U BAZE PODATAKA

Baze-podataka i Dio

Embed Size (px)

DESCRIPTION

baza podataka

Citation preview

  • UVOD U BAZE PODATAKA

  • INFORMACIJA I PODATAK

    Podatak je zapis (skup prepoznatljivih znakova) na nekommediju (papiru, disku ...).

    Podatak je "sirov", neobraena injenica, niz znakova,slika, koncept ili instrukcija.

    Kada se podaci obrauju, daje im se odreeno znaenje ipostaju informacije.

    Npr. Ana, 25 su podaci. Meutim, kaemo li "Ana ima 25godina" dali smo znaenje podacima, odnosno dobili smoinformaciju.

  • INFORMACIJA I PODATAK

    Informacija nastaje tako da se podacima pridaju znaenja. Informacija predstavlja interpretirani podatak.

    Elementarna informacija je opis jednog obiljeja

    odreenog objekta.

    Npr. u reenici "Ana je roena 21.3.1984" Ana je objekt promatranja, ije je promatrano obiljeje datum roenja, a vrijednost mu je 21.3.1984.

  • BAZA PODATAKA

    Baza podataka je organizirani skup meusobnopovezanih srodnih podataka o jednom ili vie predmeta (subjekata).

    To moe biti telefonski imenik, adresar, radnici u jednom poduzedu, studenti, uenici u koli ili razredu itd.

    To je skup podataka koji se odnose na odreene objekte, namjene i dogaaje.

  • SUBP

    Sustav za upravljanje bazom podataka (SUBP) je

    programska podrka koja omoguduje rad s bazom

    podataka.

    To je skup programa koji korisnicima omogudava

    stvaranje, koritenje i odravanje baze/baza podataka.

  • SUBP

    Danas postoji nekoliko DBMS-a:

    - DB2: proizvod tvrtke IBM, namijenjen velikim mainframe-raunalima.

    - Oracle: proizvod istoimene tvrtke, pokriva gotovo sve raunalne platforme, npr. UNIX, Linux i MS Windows.

    - MS SQL Server: Microsoftov proizvod, namijenjen posluiteljskim raunalima s operacijskim sustavima MS Windows.

    - MySQL: Besplatan proizvod tvrtke MySQLAB, popularan na raznim platformama, prije svega kao podrka web-aplikacijama.

  • Relacijske baze podataka

    Osnovni dio svake baze podataka je tablica

    Podaci se unose u tablice. Jedna tablica je skup podataka koji imaju neto zajedniko, a to "zajedniko" je onda subjekt (entitet, objekt) te tablice po kojem obino imenujemo tablicu (npr. Mjesto, Student, ).

    Podatke smjetamo u tablice u koje oni logiki pripadaju:radnike demo smjestiti u tablicu "Radnik", a podatke o odjelima u tablicu "Odjel" te uspostaviti vezu izmeu tablica.

  • BAZE PODATAKA

    Baze podataka imaju mogudnost uspostave meusobnih veza izmeu pojedinih tablica relacijska baza podataka.

    Relacijska baza podataka sadri vie tablica koje su meusobno povezane. SUBP sprema informacije o njihovom meusobnom odnosu. Pri tom korisnik ne mora razmiljati gdje su tono spremljeni podaci koji ga zanimaju, jer se o tome brine SUBP.

  • Modeliranje podataka

  • Definicija ENTITETA

    Modeliranje podataka zahtjeva da svijet promatramo preko:

    - entiteta: stvari, bia, pojave ili dogaaji koji su nam od interesa

    - atributa: svojstva entiteta ili veza koja su nam od interesa

    Primjer: Entitet KUA ima atribute ULICA, KUNI BROJ, BROJ KATOVA, BOJA FASADE

    Entitet STUDENT ima atribute

    JMBG, PREZIME, IME, GODINA STUDIJA

  • Definicija ENTITETA

    Entitet je stvar, objekt, od znaaja, realan ili

    imaginaran za koji je potrebno poznavati i uvati

    odreene informacije.

    bilo to, to ima sutinu ili bit

  • Definicija ENTITETA

    posjeduje znaajke s pomou kojih se moe

    razluiti od svoje okoline

    osoba (student, djelatnik, stanovnik student

    Horvat Ivan)

    objekt iz stvarnog svijeta (mjesto, stroj, zgrada -

    npr. Zgrada FFMO-a)

  • Naziv entiteta se pie velikim slovima u jednini

    sifra

    naziv

    adresa

    mjesto

    KUPAC ENTITET

    Definicija ENTITETA

  • Definicija atributa

    Atribut je svaki detalj koji slui da poblie

    odredi, identificira, klasificira, kvantificira ili

    izrazi stanje entiteta.

    Predstavlja opis entiteta

    sifra

    naziv

    adresa

    mjesto

    KUPAC

    ATRIBUTI

  • Entitet i atributiprema vrstama modela

  • KLJU (key)

    Klju je skup atributa (obiljeja, svojstava) ije vrijednosti omoguduju jednoznano identificiranje svakog sloga (retka) tablice.

    Npr. matini broj omoguduje identificiranje svake

    pojedinane osobe u tablici OSOBA. Isto vrijedi i za

    kombinaciju imena, prezimena i matinog broja. To ne

    vrijedi za kombinaciju imena i prezimena (ona nije klju), jer ima vie osoba koje se jednako zovu.

  • PRIMARNI KLJU

    Svaka tablica (relacija) mora imati svoj primarni klju (Primary Key). Klju koji jedinstveno odreuje n-torku unutar relacije.

    Entitet

    Atributi

    STUDENT

    PK Broj_indeksa

    Ime_prezime

    Adresa

    Tel_broj

  • Primjer 2.

    Prilikom svakog izvlaenja igara na sredu imamo vie dobitaka. Svaki dobitak ima svog dobitnika. Moe se dogoditi da je vie dobitaka upladeno u istoj podrunici.

  • PRIMARNI KLJU

    Primarni klju mora zadovoljiti dva uvjeta:

    Jedinstvenost: jedinstven u itavoj tablici, nemamo dva ista.

    Minimalnost: da se ostali podaci iz tog reda ne ponavljaju u nekom drugom redu jer bi dolo do ponavljanja podataka, to treba izbjedi

  • Primjer br. 2 - Izdavanje knjiga u knjinici

    Studentska knjinica nastoji voditi raunalnu evidenciju o izdavanju knjiga. Za to je potrebno imati podatke o lanovima knjinice, knjigama, autorima i izdavaima knjiga.

  • IZDAVANJE

    KNJIGA

    CLAN

    # sifra_izdavanja

    datum_izdavanja

    datum_vracanja

    # clanski_broj

    ime

    prezime

    adresa

    telefon

    datum_uclanjenja

    # sifra_knjige

    naziv

    zanr

    broj_primjeraka

    godina_izdanja

    IZDAVAC

    # sifra_izdavaca

    izdavacka_kuca

    sjediste

    godina_osnivanja

    2.

  • Zadatak 3. Voenje teaja

    kola za obrazovanje ima nekoliko tipova teajeva o kojima vodi slijedede podatke:

    - kratica i naziv teaja

    - opis i trajanje teaja

    Jedan tip teaja moe se odrati vie puta, s razliitim datumom poetka, lokacijom odravanja i maksimalnim brojem polaznika.

    O polazniku teaja se vode slijededi podaci:

    - matini broj

    - ime, prezime

    Polaznik moe polaziti vie teajeva, a za svaki se biljei datum prijave za teaj.

  • Agencija za iznajmljivanje limuzina "Limko" posjeduje vie marki limuzina.

    Za svaku limuzinu biljei i njenog proizvoaa da bi se znalo koje sve limuzine je proizveo koji proizvoa.

    Da bi klijent iznajmio limuzinu dovoljno da doe u

    predstavnitvo i sve se definira potpisivanjem ugovora o

    iznajmljivanju. Njime se vri rezervacija limuzina za odreeni datum.

    Nakon odlaska klijenta voditelj poslovnice odreuje vozaa

    za taj dan koristei se postojeim rasporedom vonji. Za sve

    vozae agencija biljei kad je polagao vozaki ispit te

    podatke o auto koli koja ga je obuavala.

    Zadatak 4.

  • U krojakom salonu Modea postoji veliki broj materijala za ivanje. Od jednog materijala se moe nainiti vedi broj krojeva (ivanja). Najpopularniji model haljine je Eli i on zahtjeva veliki broj ivanja. Ukoliko je korisnik zadovoljan uslugama salona dodi de ponovno saiti haljinu.

    Zadatak 5.

  • BAZE PODATAKA

    Baze podataka imaju mogudnost uspostave meusobnih veza izmeu pojedinih tablica relacijska baza podataka.

    Relacijska baza podataka sadri vie tablica koje su meusobno povezane. SUBP sprema informacije o njihovom meusobnom odnosu. Pri tom korisnik ne mora razmiljati gdje su tono spremljeni podaci koji ga zanimaju, jer se o tome brine SUBP.

  • PRIMARNI KLJU ; VANJSKI KLJU

    Vanjski klju atribut ili skup atributa unutar jedne relacije koji odgovara kandidat kljuu neke, mogude iste, relacije. Vanjski kljuevi omoguduju povezivanje n-torki iz razliitih tablica.

  • Primarni klju ; Vanjski klju

    U tablici RADNIK atribut R.b. (redni broj) je primarni klju, dok je

    atribut Sifra_odjel strani klju (Foreign Key) i omoguduje

    uspostavljanje veze s novom relacijom koju moemo nazvati

    ODJEL, strani klju Sifra_odjel postaje primarni klju nove relacije.

  • Primarni klju ; Strani klju

  • Preslikavanje ER modela u relacije

    VEZA JEDAN: MNOGO

    Primarni klju entiteta sa strane veze JEDAN doda se kao strani klju u entitet sa strane veze VIE

    VEZA MNOGO: MNOGO

    Doda se novi entitet, koji sadri primarne kljueve obaju rubnih entiteta.

    Ti atributi zajedno tvore sloeni primarni klju novonastalog entiteta.

  • Razbijanje M:N veza

    Veza m:n u ER modelu se moe razbiti uvoenjem novog posrednikog entiteta.

    Primjer

    Vezu vie na vie moemo razbiti uvoenjem entiteta najam,koji sadri atribut datum_najma

  • Preslikavanje ER modela u relacije

    VEZA JEDAN:VIE

    Primarni klju entiteta sa strane veze JEDAN doda se kao strani klju u entitet sa strane veze VIE.

    VEZA VIE:VIE

    Doda se novi entitet, koji sadri primarne kljueve obaju rubnih entiteta.

    Ti atributi zajedno tvore sloeni primarni klju novonastalog entiteta.

  • Zadatak Studenti svake akademske godine upisuju godinu

    studija. Pritom biraju neke od ponuenih izbornih predmeta tako da zbroj njihovih ECTS-bodova u svakom semestru bude 30. Predmeti moraju biti izabrani najkasnije do 15. rujan. Fakultet je organiziran u zavode. Svaki nastavnik lan je tono jednog zavoda. Svake akademske godine zavod nudi nekoliko izbornih predmeta za studente i osigurava nastavnike koji e predavat te predmete. Pritom svaki predmet ima smo jednog nastavnika. Na kraju akademske godine fakultet pohvaljuje studente koji su postigli najbolje ocjene iz pisanih predmeta.

  • Zadatak

    Analizom ovih reenica otkrivamo sljedede entitete, veze i atribute.

    Tipovi entitet su: STUDENT, PREDMET, NASTAVNIK, ZAVOD. Veze: UPISAO izmeu STUDENT i PREDMET,

    PRIPADA izmeu NASTAVNIK i ZAVOD, NUDI izmeu ZAVOD i PREDMET, PREDAJE izmeu NASTAVNIK i PREDMET.

    Atributi su: (studentova) GODINA STUDIJA, IME, PREZIME, JMBAG,za predmet: IFRA PREDMETA, SEMESTAR, ECTS-BODOVI, DATUM UPISA, OCJENA, za zavod: IME ZAVODA, OPIS DJELATNOSTI, za nastavnika: PLADA, OIB, IME, PREZIME, BROJ SOBE.

  • Rjeenje

  • Zadatak

    Da bi prijavio ispit student mora ispuniti osnovne podatke na prijavnici (datum prijave, ocjena), podatke o studentu (ime, prezime, datum roenja, jmbg) te podatke o predmetu (ifra, naziv predmeta).

    ER?

    Relacijski model?

  • ER

  • Relacijski model

  • Zadatak 5.

    Faktura je dokument koji se alje kupcu kako bi mogao izvriti pladanje kupljene robe. Da bi se napravila faktura moraju postojati osnovni podaci o kupcu, podaci o fakturi , kao i podaci o kupljenim artiklima

    Faktura se sastoji i od Stavke fakture s pojedinanim artiklima, koliinama i cijenama.

    Definirati sve entitete, atribute i veze za proces Fakturiranja kupcima.

  • Zadatak 6.

    Profesionalni programer Marko Markovi odluio je napraviti program za evidentiranje svojih kreditnih kartica koje ukljuuje i praenje trokova, odnosno utroka novca po osnovu plaanja karticama. Raunalno praenje kreditnih kartica ukljuuje slijedee korake:

    popis svih kartica koje se koriste to podrazumijeva evidentiranje naziva kartice, banke koja je izdala karticu, roka do kojeg kartica vrijedi, ogranienja (limita) po karticama i sl.

    kategoriziranje po nainu koritenja (meunarodne, samo domae, samo za odreene trgovine i sl.)

    za svako plaanje po kartici evidentirati iznos, datum i opis plaanja

    za svaku izvrenu uplatu na karticu evidentirati iznos, datum uplate i opis.

  • Zadatak

    Sveuilite treba napraviti bazu podataka za evidentiranje razliitih meunarodnih projekata. Za svaki projekt treba imati podatke o nazivu projekta, datumu poetka i svretka projekta, vrijednosti projekta u eurima, vrsti projekta (TEMPUS, FP7, Eureka, Vijede Europe, CARD ...). Takoer je nuno evidentirati tko financira projekt (naziv donatorske institucije, sjedite, drava), tko je koordinator projekta ispred sveuilita (ime, prezime, titula, funkcija, fakultet...). Na projektu, pored koordinatora, uestvuje vedi broj nastavnika sa sveuilita i potrebno je evidentirati za svaki projekt tko uestvuje u njemu (ime, prezime, titula, funkcija, fakultet...).

    Napraviti model podataka s pripadajudim entitetima, atributima i vezama izmeu entiteta.

  • ER

  • Zadatak

    Na fakultetu su evidentirani podaci o kandidatima koji su se prijavili na razradbeni ispit i njihovim rezultatima. Evidentiraju se podaci o:

    - kandidatu (JMBG, ime, prezime, mjesto roenja) zavrena srednja kola (ifra, naziv, adresa), mjesto (potanski broj mjesta), opdina (ifra opdine i naziv opdine u kojoj se kola nalazi)

    - za svakog kandidata ocjena iz pojedinih predmeta iz srednje kole (ifra i naziv predmeta, razred i ocjena). ifra odreuje predmet u nekom razredu (godini), npr. Matematika u 1.razredu i Matematika u 2. razredu imaju razliite ifre. Isti predmeti u razliitim kolama imaju istu ifru npr. Matematika iz 1.razreda ima istu ifru za sve kole

    - podaci o zadacima na razradbenom ispitu redni broj zadatka, tekst zadatka, toan odgovor (A, B, C, D ili E)

    - za svakog kandidata odgovori koje je dao na zadatke (odgovor za svaki pojedini zadatak mogu biti A, B, C, D, E ili nita).

  • Zadatak 7. U bazi podataka potrebno je evidentirati podatke o zrakoplovima,

    aerodromima i letovima. Zrakoplov je identificiran svojim jedinstvenim registracijskim brojem

    (npr. N6061U). Za zrakoplov se evidentiraju godina proizvodnje i tip zrakoplova.

    Za svaki tip zrakoplova evidentira se ifra tipa i naziv tipa zrakoplova (npr. ifra: 123, naziv tipa: "Airbus-A319") te najveda ukupna dozvoljena teina pri polijetanju.

    Za svaki aerodrom se evidentira ifra i naziv aerodroma. Zrakoplov prema namjeni moe biti ili putniki ili teretni (jedno

    iskljuuje drugo). Za svaki pojedini zrakoplov, ovisno o njegovoj namjeni, evidentira se je li u zrakoplov ugraena dodatna oprema: za svaki pojedini putniki zrakoplov evidentira se ima li ugraenu internu televiziju, ima li ureaj za satelitsku komunikaciju, a za svaki pojedini teretni zrakoplov broj dodatno ugraenih klimatiziranih kontejnera za prijevoz ivotinja i je li ugraen katapult za izbacivanje tereta padobranom.

  • Nastavak Evidentiraju se letovi samo putnikih zrakoplova. Let je

    identificiran ifrom i datumom leta (npr. "OU763", 1.6.2001), a za let se evidentira s kojeg aerodroma zrakoplov polijede, na koji aerodrom slijede te vrijeme polijetanja i vrijeme slijetanja. Evidentira se koji zrakoplov leti na kojem letu.

    Evidentiraju se kategorije cijena karata. Svaka kategorija cijena ima svoju ifru (jedinstveno identificira kategoriju) i naziv (npr. "poslovna", "ekonomska", "s popustom za zaposlenika kompanije", "s popustom za osobe mlae od 27 godina", itd).

    Putnik kupuje kartu tono odreene kategorije cijene za odreeni let. Putnik ne moe za jedan let kupiti vie od jedne karte. Za svakog putnika se evidentira jmbg (jedinstveno odreuje putnika), prezime i ime.