Entity relationship model

Entitet


Entitet može biti stvaran objekt, bilo živ ili neživ, kojega možemo opisati. Na primjer, u bazi podatka škole, učenik, učitelj, razred i predmet može se promatrati kao entitete. Svi ti entiteti imaju neke atribute ili svojstva kojima ih opisujemo.

Skup entiteta su objekti jednake ili slične vrste. Tako skup eniteta Učenici može sadržavati sve učenike u školi; slično skup eniteta Profesori može sadržavati sve profesore u školi iz svih predmeta.

Atributi


Entiteti su opisani pomoću svojih svojstava koje zovemo atributi. Svi atributi imaju vrijednosti. Npr. entitet Učenik ima atribute ime, razred, starost.

Postoji skup vrijednosti (domena) koje možemo dodjeliti atributu. Npr. ime učenika ne može imati brojčanu vrijednost. Ona se mora sastojati od slova. Starost učenika ne može biti negativna, itd.

Vrste atributa: - jednostavni atributi (ne mogu biti podijeljeni) - složeni atributi (npr. ime i prezime) - izvedeni atributi (ne postoje fizički u bazi tako npr. starost može biti izvedena iz datuma rođenja)

Relacije između entiteta


Relacija jedan prema više ili 1:N (engl. One to Many)

Relacija jedan prema jedan ili 1:1 (engl. One to One)

Relacija više prema više ili M:N (engl. Many to Many)

Relacije 1:N


Relacija 1:N odnosno jedan prema više je najvažnija vrsta odnosa između tablica. U tom slučaju jednom zapisu prvog entiteta odgovara više zapisa drugog entiteta.

U gotovo svim slučajevima je zajednički atribut po kojem se spajaju tablice na strani jedan glavni ključ.

Zajednički atribut na strani drugog entiteta je strani ključ.

Relacije 1:N



Relacije 1:1


U relaciji 1:1 odnosno jedan prema jedan, svakom zapisu entiteta s jedne strane odgovara jedan zapis entiteta s druge strane.

Ovakva vrsta relacija nije uobičajena i koristi se samo u posebnim slučajevima.

Najčešći razlozi zbog kojih se koristi relacija jedan prema jedan su: - ograničen broj atributa u tablici baze podataka - neki atributi tablice se moraju bolje zaštititi od preostalih atributa - nekoliko atributa tablice su nužna samo kao podskup zapisa istog entiteta.

Relacije 1:1



Relacije M:N


U relaciji M:N odnosno više prema više, za slogove obje tablice postoji više slogova u drugoj tablici.

U većini baza podataka ne možemo izravno uspostaviti relaciju više prema više.

Ovu relaciju ostvarujemo umetanjem prometne tablice (engl. Junction table) između tablica za koje želimo ostvariti relaciju više prema više.

Između prometne tablice i druge dvije tablice koje ostvarujemo relaciju jedna prema više.

Relacije M:N





Hvala na pozornosti!


Pitanja?