Baze podataka

Sjedište: CARNET - Arhiva 2021 Loomen
E-kolegij: III. Gimnazija Osijek - Informatika 4
Knjiga: Baze podataka
Otisnuo/la: Gost (anonimni korisnik)
Datum: četvrtak, 26. prosinca 2024., 03:34

1. Osnovni pojmovi

—Baza podataka je organiziran i uređen skup međusobno povezanih podataka pohranjenih u računalu temeljem kojeg se mogu dobiti različiti izvještaji, statistički podaci, pregledi i sl. Sastavljena je od jedne ili više tablica, ali bez nepotrebne zalihosti (redundancije = umnožavanje).

—Tablica je osnovna jedinica za organizirano spremanje podataka unutar baze podataka. U tablicu se upisuju podaci o članovima baze koji imaju slična svojstva i mogu se vrlo precizno opisati.

1.1. Zašto baza podataka

Baze podataka nam omogućavaju čuvanje velike količine podataka (recimo: —društvene mreže, e-dnevnik, on-line trgovina, LMS, …). Ti podaci mogu biti:

  • Osnovni podaci o korisnicima (ime, prezime, broj pametnog telefona, slika profila, …)
  • Poruke koje su korisnici razmjenjivali, podatke jesu li poruke dostavljene, pročitane, …
  • Fotografije, videozapise
  • Statusi i prava korisnika, …

Iz navedenog možemo zaključiti da osim tekstualnih i numeričkih podataka baza podataka mora moći sadržavati i multimedijske podatke.

Baze podataka omogućuju:

  • —lak pristup, unošenje i mijenjanje traženih podataka
  • —pohranjivanje velike količine podataka
  • —uštedu memorijskog prostora, jedinstvenost podataka
  • —jednostavno razvrstavanje i filtriranje
  • —brzo pretraživanje
  • —sigurnost i zaštitu podataka
  • —pristup različitih korisnika.

Da bi baza podataka dobro funkcionirala i ispunjavala svoju svrhu (pretraživanje, ...)  podaci moraju biti dobro organizirani. To se velikim tekstualnim dokumentima ili tablicama u Excelu ne moze osigurati.

—Bazu podataka u osnovi sačinjavaju jedna ili više TABLICA u koje spremamo podatke, ali tako da rad s podacima (dodavanje novih podataka, izmjena, brisanje i pretraživanje postojećih podataka) bude maksimalno učinkovit!
—Ponavljanje podataka (redundantni podaci) nam otežavaju pretraživanje jer zauzimaju puno prostora i i troše previše vremena.



1.2. Vrste baza podatka

Razlikujemo pet vrsta baza podataka:

  • —Plošne (npr. tablica u Excelu)
  • ——Hijerarhijske – zasnivaju se na hijerarhijskim strukturama podatka koji imaju oblik stabla
  • —Mrežne – zasnivaju se na mreži podataka povezanih tako da ne postoje ni podređeni ni osnovni segmenti
  • Objektne - zasnivaju se na objektno orijentiranim programskim jezicima; u njima su podaci vrlo složene strukture (objekti) - teško se filtriraju i pretražuju podaci
  • Relacijske

Današnje baze podataka pripradaju skupini relacijskih baza podataka. U njima su podaci raspoređeni u tablicama, koje su logički povezane primarnim i stranim ključevim. —Svaka tablica sastoji se od stupaca i redaka.

—
Primjer u nastavku će biti primjer relacijske baze podataka.

1.3. Entiteti i atributi

Osnovni elementi baze podataka nazivaju se ENTITETI. Entitet može biti:

  • Realan objekt (djelatnik, učenik, osoba, kuća, tvrtka, stroj, …)
  • Apstraktan sadržaj (radno mjesto, status, …)
  • Događaj (rođenje, uplata, upis, …)
  • Odnos (učenik – nastavnik, djelatnik – tvrtka, …)

Svaki entitet opisujemo njegovim svojstvima koje nazivamo atributima. —Svaki entitet može imati više atributa.Isto tako jedan atribut može vrijediti za više entiteta (npr. adresa može stajati i uz učenika i uz nastavnika. —Svaki atribut ima svoje ime i vrijednost  Vrijednsot atributa je podatak koji može biti tekstualni, numerički ili multimedijski.

—U stupce tablice pišemo sva “svojstva” (atribute) nekog subjekta (npr. naslov knjige, autor knjige, izdavač knjige, godina izdanja itd.). —Stupac u bazama podataka zovemo POLJE (eng. FIELD). Polje je podatak kojim se opisuje određeno svojstvo (atribut) subjekta ili objekta upisanih u tablici podataka.
—Redak u bazama podataka zovemo SLOG (eng. RECORD) i u njega se upisuju svi podaci o pojedinom članu baze. On objedinjuje sva svojstva (atribute) pohranjena poljima tablice.


1.4. Programi za rad s bazama podataka

—Bazom podatka upravlja sustav za upravljanje bazom podataka, skraćeno SUBP (eng. Database Management System – DBMS).
—DBMS je program koji omogućuje:

  • —Definiranje tablica i relacija
  • —Unošenje, uređivanje, prikazivanje, pretraživanje, sortiranje i filtriranje podataka
  • —Dohvat podataka
  • —Zaštita integriteta podataka
  • —Kontrola istovremenog pristupa podacima
  • —Zaštita od neovlaštenog korištenja
  • —Stvaranje izvještaja
  • —Kontrola baze podataka
  • Obnova baze u slučaju “pada”

—Ti su programi jedna od najčešće rabljenih vrsta poslovnih programa, npr. za računovodstvo, knjigovodstvo, obradu osobnih dohodaka, skladišno poslovanje i sl.
—Smatra se da se oko 60% svih poslovnih programa ubraja u skupinu baza podataka. To su na primjer: —MS Access, MySQL, dBase, Oracle, Paradox, …

—Sustav za upravljanje relacijskom bazom podataka naziva se RDBMS (Relational Database Management System – RDBMS)

1.5. Faze razvoja baze podataka

Slično kao kod programiranja za uspješno kreiranje baze podatak treba proći kroz ove faze:

  • —Planiranje
  • —Analiza potreba
  • —Dizajniranje
  • —Izgradnja
  • —Implementacija
  • —Uporaba i održavanje
  • —Dokumentacija - korisnička i projektna


2. Dizajniranje baze podataka

Dizajniranje (ili modeliranje) baze podataka je postupak kojim omogućavamo dobru organizaciju podataka bez nepotrebne redundancije te učinkovit rad s podacima.

Primjer:

Želimo pohraniti podatke o učenicima neke škole i pri tome trebamo pohraniti:

  • Ime učenika
  • Prezime učenika
  • Datum rođenja učenika
  • Razredno odjeljenje
  • Ime razrednika
  • Prezime razrednika
  • Školska godina
Jedno od mogućih rješenja je da sve podatke smjestimo u jednu tablicu:
Svi označeni podaci su zapravo redundantni podaci (ponavljaju se) i čine bazu nepreglednom. Ono što možemo napraviti je podatke —iz prethodne tablice razdvojiti u dvije skupine:
  • Podaci o učenicima (ime, prezime, datum rođenja, razredno odjeljenje)
  • Podaci o razredima (odjeljenje, ime razrednika i prezime razrednika)
Time smo definirali dva glavna —ENTITETA:
  • Podaci o učenicima
  • Podaci o razredima
Za svaki od navedenih entiteta možemo definirati njegove atribute. —U entitetu Podaci o učenicima atributi su:
  • ime, prezime,
  • datum rođenja,
  • razredno odjeljenje
—U entitetu Podaci o razredima atributi su:
  • odjeljenje,
  • ime razrednika i
  • prezime razrednika
—Ovim smo kreirali jedan mogući MODEL za problem koji rješavamo. —Svaki entitet postaje jedna TABLICA, a atributi entiteta postaju stupci te tablice.


No ovim modelom nismo riješili sve. —Što s školskom godinom iz prve tablice? Ono što se javlja kao problem je:
  • Razrednici mijenjaju razrede
  • Učenici prelaze iz nižeg u viši razred
Dakle problem još moramo poopćiti. Dodat će mo još neke entitete i njima pripadne atribute i time ćemo naš problem riješiti. —Entiteti će biti:
  • Učenici (atributi: ime, prezime, datum rođenja)
  • Nastavnici (atributi: ime, prezime)
  • Školske godine (atribut: oznaka školske godine)
  • Razredi (odjeljenje, školska godina, razrednik)
Prema tom modelu dobili bi ove tablice:
Sada treba pogledati koji su najbolji načini za povezivanje tablica. O tome više u narednom poglavlju.


2.1. Veze (relacije) među tablicama

—Postoje tri tipa veza među entitetima:

  • 1:1 (jedan na jedan, eng. One to One)
    jedan redak unutar prve tablice povezan je samo s jednim retkom unutar druge tablice i obrnuto (npr. škola ima samo jednog ravnatelja, a jedna osoba može biti ravnatelj samo jedne škole)
  • 1:N (jedan na više , eng. One to Many
   ♦ jedan redak unutar prve tablice povezan je s više redaka unutar druge tablice, ali podatak iz druge tablice povezan je s najviše jednim podatkom iz prve tablice (—npr. u jednoj školskoj godini ima više razrednih odjeljenja, ali jedno razredno odjeljenje pripada samo jednoj školskoj godini)
   
  • N:M (više na više , eng. Many to Many)

     jedan redak unutar prve tablice povezan je s više redaka unutar druge tablice i obrnuto (—npr. učenik tijekom školovanja ide u više različitih odjeljenja, u jedno razredno odjeljenje ide više učenika)

Veza N:M ne može se kreirati direktno između dvije tablice. Stoga moramo kreirati novui tablicu koju nazivamo TABLICA VEZA ili VEZNA TABLICA (eng. junction table, crossover table) koju koristimo kao vezu i ona ne mora imati primarni ključ. Na slici dolje tablica UceniciRazredi je vezna tablica!


2.2. Primarni i vanjski ključ

—Da bismo tablice povezali u svakoj tablici moramo imati jedan atribut koje će nam osigurati jedinstvenost svakog retka u tablici – npr. u tablici Nastavnici to ne može biti ni ime ni prezime nego nešto što je jedinstveno npr. OIB. —Takav jedinstven atribut naziva se primarni ključ (eng. Primary Key). Na slici su primarni ključevi zaokruženi  (IDxxxx).

Da bisimo tablice uspješno povezali u svaku tablicu dodajemo vanjski ili strani ključ (eng. Foreign Key). To su atributi koji poprimaju vrijednsoti primarnog ključa iz povezanih tablica. Uobičajeno je imenovati ih jednako.


2.3. Normalizacija

—Normalizacija je postupak modeliranja baze podataka kojim se izbjegava redundancija!

Postupkom normalizacije naša baza podataka izgledala bi kao ova slici. U tablicama su upisani podaci tako da možete vidjeti kako su tablice povezane.


3. Dodatni izvori znanja

Udžbenik:


Video:

  • (Baze podataka - uvod)


Ponavljanje gradiva:

Kvizovi: