Baze podataka
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
- 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)
Sada treba pogledati koji su najbolji načini za povezivanje tablica. O tome više u narednom poglavlju.