Model dijagrama odnosa entiteta (ER) s primjerom DBMS-a
⚡ Pametni sažetak
Model dijagrama entiteta i odnosa (ER) s primjerom DBMS-a ilustrira strukturiranu metodu za vizualno predstavljanje podataka i njihovih međusobnih veza unutar relacijskih baza podataka. Predložio ju je Peter Chen, a pruža konceptualnu osnovu modeliranja za precizno definiranje entiteta, atributa, odnosa i njihovih kardinalnosti.

Što je ER dijagram?
Dijagram entiteta i odnosa (ER) moćan je vizualni alat za dizajniranje struktura relacijskih baza podataka. Prvi ga je predložio Peter Chen 1976. godine, a pruža konceptualnu osnovu modeliranja koja precizno definira entitete, atribute, odnose i njihove kardinalnosti. Ovaj vodič pokriva sve, od osnovnih koncepata do naprednih tehnika, pomažući vam da savladate dizajn sheme baze podataka.
ER dijagrami sadrže različite simbole koji koriste pravokutnike za predstavljanje entiteta, ovale za definiranje atributa i oblike dijamanata za predstavljanje odnosa.
Na prvi pogled, ER dijagram izgleda vrlo slično dijagramu toka. Međutim, ER dijagram uključuje mnoge specijalizirane simbole, a njihova značenja čine ovaj model jedinstvenim. Svrha ER dijagrama je predstavljanje infrastrukture okvira entiteta.

Povijest ER modela
Peter Chen je predložio ER dijagram 1976. godine u svom ključnom radu „Model entiteta i odnosa: Prema jedinstvenom prikazu podataka“. Njegov je cilj bio stvoriti jedinstvenu konvenciju koja bi se mogla koristiti i za relacijske baze podataka i za mreže. Chen je zamislio ER model kao konceptualni pristup modeliranju koji bi premostio jaz između zahtjeva stvarnog svijeta i tehničke implementacije baze podataka.
Od tada se ER model razvijao s raznim sustavima notacije, uključujući Chen notaciju (izvornu), Crow's Foot notaciju (popularnu u modernim alatima) i pristupe temeljene na UML-u. Unatoč tim varijacijama, temeljni koncepti ostaju dosljedni u svim implementacijama.
Zašto koristiti ER dijagrame?
ER dijagrami pružaju brojne prednosti za dizajn i razvoj baza podataka:
- Vizualna komunikacija: Pružaju jasan vizualni prikaz koji mogu razumjeti i tehnički i netehnički dionici.
- Nacrt za razvoj: Oni točno pokazuju kako bi se tablice trebale povezivati i koja će polja svaka tablica sadržavati.
- Spremno za prijevod: ER dijagrami se mogu izravno prevesti u relacijske tablice, što vam omogućuje brzu izgradnju baza podataka.
- Sprečavanje grešaka: Pomažu u prepoznavanju nedostataka u dizajnu i redundancija prije implementacije, štedeći vrijeme i resurse.
- Dokumentacija: Oni služe kao trajna dokumentacija koja pomaže novim članovima tima da razumiju arhitekturu sustava.
- Analiza sustava: Pomažu u identificiranju svih entiteta koji postoje u sustavu i odnosa među njima.
Komponente ER dijagrama
Svaki ER dijagram izgrađen je od tri ključne komponente: entiteta, atributa i odnosa. Razumijevanje svake komponente i načina na koji one međusobno djeluju ključno je za stvaranje učinkovitih dizajna baza podataka.
Primjeri ER dijagrama
Na primjer, u sveučilišnoj bazi podataka možemo imati entitete za studente, tečajeve i predavače. Entitet student može imati atribute poput broja upisa, imena i ID-a odjela. Mogu imati odnose s tečajevima i predavačima.
entiteti
Entitet predstavlja bilo koji objekt iz stvarnog svijeta - živi ili neživi - koji se može jasno identificirati i o kojem se podaci mogu pohraniti. To može biti fizička stvar, činjenica o poduzeću ili događaj koji se događa u stvarnom svijetu. Entiteti mogu uključivati ljude, mjesta, objekte, događaje ili koncepte.
Primjeri entiteta po kategorijama:
- Osoba: Zaposlenik, student, pacijent, kupac
- Mjesto: Trgovina, zgrada, ured, skladište
- Objekt: Stroj, proizvod, automobil, knjiga
- Događaj: Prodaja, registracija, obnova, transakcija
- Koncept: Račun, Tečaj, Odjel, Projekt
Skup entiteta
Skup entiteta je skupina sličnih entiteta koji dijele zajedničke atribute. Na primjer, svi studenti na sveučilištu tvore skup entiteta "Student". Entiteti su u ER dijagramima predstavljeni pravokutnicima, s nazivom entiteta napisanim unutra.
Entiteti su predstavljeni svojim svojstvima, koja se nazivaju i atributima. Svi atributi imaju svoje zasebne vrijednosti. Na primjer, studentski entitet može imati ime, dob i razred kao atribute.
Jaki entiteti u odnosu na slabe entitete
Entiteti se klasificiraju kao jaki ili slabi na temelju njihove sposobnosti samostalnog postojanja. Razumijevanje ove razlike ključno je za pravilan dizajn baze podataka.
Jaki entitet ima svoj primarni ključ i može postojati neovisno. Na primjer, entitet "Student" može se jedinstveno identificirati pomoću Student_ID-a bez ovisnosti o bilo kojem drugom entitetu.
Slab entitet nema vlastiti primarni ključ i ovisi o jakom entitetu (nazvanom entitet vlasnik) za svoju identifikaciju. Koristi djelomični ključ (diskriminator) u kombinaciji s primarnim ključem vlasnika kako bi se postigla jedinstvenost. Na primjer, u bankarskom sustavu, entitet „Transakcija“ ovisi o entitetu „Račun“ - sam broj transakcije nije jedinstven u cijeloj bazi podataka, ali u kombinaciji s brojem računa postaje jedinstven.
| Snažan entitet | Slab entitet |
|---|---|
| Ima svoj primarni ključ | Nema primarni ključ; koristi parcijalni ključ |
| Predstavljen jednim pravokutnikom | Predstavljen dvostrukim pravokutnikom |
| Primarni ključ je podcrtan punom linijom | Djelomični ključ je podcrtan isprekidanom linijom |
| Može postojati neovisno | Ovisi o vlasništvu entiteta za postojanje |
| Povezano s vezom s jednim dijamantom | Povezano s dvostrukim dijamantom (identifikacijski odnos) |
| Primjer: Student, Zaposlenik, Proizvod | Primjer: Transakcija, Ovisno, Stavka_narudžbe |
Odnos
Odnos predstavlja povezanost između dva ili više entiteta. Odnosi se obično identificiraju pomoću glagola ili glagolskih fraza koje opisuju kako entiteti međusobno djeluju. U ER dijagramima odnosi su prikazani pomoću oblika dijamanta. Primjer: Tom radi na odjelu za kemiju.
Entiteti sudjeluju u odnosima. Često možemo identificirati odnose s glagolima ili glagolskim izrazima.
Primjeri:
- Prisustvujete ovom predavanju
- Ja držim predavanje
- Student pohađa predavanje
- Predavač drži predavanje
Značajke
Atribut je svojstvo ili karakteristika koja opisuje entitet ili odnos. Atributi pružaju detaljne informacije koje svaku instancu entiteta čine jedinstvenom i smislenom. U ER dijagramima atributi su predstavljeni pomoću ovala (elipsa) povezanih s njihovim roditeljskim entitetom linijom.
Na primjer, entitet Student može imati atribute kao što su ID_studenta, Ime, Datum_rođenja, E-pošta i Broj_telefona.
Vrste atributa
| Vrsta atributa | Description | Primjer |
|---|---|---|
| Jednostavno (Atomic) | Ne može se dalje podijeliti na manje komponente | Broj telefona, OIB, e-pošta |
| Mješavina | Može se podijeliti na manje podatribute | Puno ime (ime, srednje ime, prezime), adresa (ulica, grad, poštanski broj) |
| Izveden | Vrijednost se izračunava iz drugih atributa; ne pohranjuje se izravno | Dob (izvedena iz datuma rođenja), Ukupna cijena |
| Viševrijednosno | Može sadržavati više vrijednosti za jedan entitet | Telefon Numbers, E-mail adrese, Vještine |
| Ključni atribut | Jedinstveno identificira svaku instancu entiteta (primarni ključ) | ID_studenta, ID_zaposlenika, ISBN |
Savjet za ključeve: U ER dijagramima, ključni atributi su prikazani s podcrtanim nazivima. Izvedeni atributi su prikazani isprekidanim ovalima, a viševrijednosni atributi su prikazani dvostrukim ovalima.
Kardinalnost (vrste odnosa)
Kardinalnost definira numerička ograničenja odnosa - točnije, koliko instanci jednog entiteta može biti povezano s instancama drugog entiteta. Razumijevanje kardinalnosti ključno je za dizajniranje učinkovitih struktura baze podataka.
1. Jedan na jedan (1:1)
Jedan entitet iz skupa A može biti povezan s najviše jednim entitetom iz skupa B i obrnuto.
Primjer: Jednom studentu je dodijeljen točno jedan studentski ID, a svaki studentski ID pripada točno jednom studentu.
2. Jedan-prema-više (1:N)
Jedan entitet iz skupa A može biti povezan s više entiteta iz skupa B, ali svaki entitet u skupu B povezan je samo s jednim entitetom u skupu A.
Primjer: Jedan razred sastoji se od više učenika.
3. Više-na-jedan (N:1)
Više entiteta iz skupa A može biti povezano s jednim entitetom iz skupa B.
Na primjer, mnogo učenika pripada istom razredu.
4. Mnogi-prema-mnogima (M:N)
Više entiteta iz skupa A može biti povezano s više entiteta iz skupa B i obrnuto.
Na primjer, studenti kao grupa povezani su s više članova fakulteta, a članovi fakulteta mogu biti povezani s više studenata.
Simboli i oznake ER dijagrama
ER dijagrami koriste standardizirane simbole za predstavljanje različitih komponenti. Iako postoji nekoliko sustava notacije, dva najkorištenija su Chenova notacija i notacija Crow's Foot.
Chenova notacija
Chenova notacija, koju je razvio Peter Chen 1976. godine, koristi geometrijske oblike za predstavljanje različitih elemenata:
| Simbol | Ime | predstavlja |
|---|---|---|
| Pravokutnik | Entitetska | Snažan entitet (npr. Student, Proizvod) |
| Double Pravokutnik | Slab entitet | Entitet ovisan o drugom (npr. transakcija) |
| Elipsa/Oval | Atribut | Svojstvo entiteta (npr. naziv, ID) |
| Double elipsa | Viševrijednosni atribut | Atribut s više vrijednosti (npr. Telefon Numbers) |
| Isprekidana elipsa | Izvedeni atribut | Izračunata vrijednost (npr. dob od datuma rođenja) |
| Dijamant | Odnos | Povezanost između entiteta (npr. upisa) |
| Double Dijamant | Utvrđivanje odnosa | Odnos sa slabim entitetom |
| Linija | Veza | Povezuje komponente zajedno |
| Podcrtani tekst | Glavni ključ | Jedinstveni identifikator za entitet |
Notacija vrane noge
Notacija "crow's Foot" (također poznata kao IE notacija) češće se koristi u modernim alatima za dizajn baza podataka. Koristi različite završetke redaka za predstavljanje kardinalnosti i posebno je učinkovita za prikaz strane "mnogo" u odnosima.
| Simbol Description | Značenje |
|---|---|
| Jedna okomita crta (|) | Obavezno Jedan (točno jedan) |
| Krug s linijom (O|) | Neobavezno Jedan (nula ili jedan) |
| Vranina stopala s linijom (>|) | Obavezno Mnogo (jedan ili više) |
| Vranina stopala s krugom (>O) | Neobavezno Mnogo (nula ili više) |
Chen notacija u odnosu na Crow's Foot: Kada koristiti koju
| Aspekt | Chenova notacija | Notacija vrane noge |
|---|---|---|
| Najbolje za | Konceptualno modeliranje, akademska upotreba | Fizičko/logičko modeliranje, upotreba u industriji |
| Prikaz atributa | Vizualno prikazuje sve atribute | Navodi atribute unutar okvira entiteta |
| kardinalnost | Koristi brojeve (1, N, M) | Koristi vizualne simbole |
| Složenost | Može postati pretrpano | Kompaktniji i čišći |
| Podrška za alate | Ograničena podrška za moderne alate | Široko podržano u alatima |
Kako stvoriti dijagram odnosa entiteta (ERD)
U ovom vodiču za ER dijagram (ERD) naučit ćemo kako izraditi ER dijagram. Slijede koraci za izradu ER dijagrama:
Proučimo ih pomoću primjera dijagrama odnosa entiteta:
Na sveučilištu se student upisuje na tečajeve. Student mora biti dodijeljen barem jednom tečaju. Svaki tečaj predaje jedan profesor. Kako bi se održala kvaliteta nastave, profesor može održati samo jedan tečaj.
Korak 1) Identifikacija entiteta
Imamo tri entiteta:
- student
- Tečaj
- Profesor
Korak 2) Identifikacija odnosa
Imamo sljedeća dva odnosa:
- Učenik je dodijeljena tečaj
- Profesor donosi tečaj
Korak 3) Identifikacija kardinalnosti
Iz opisa problema znamo da:
- Student može biti dodijeljen višekratnik tečajevi
- Profesor može predavati samo jedan tečaj
Korak 4) Identificirajte atribute
Morate proučiti datoteke, obrasce, izvješća i podatke koje organizacija trenutno održava kako biste identificirali atribute. Također možete provesti intervjue s raznim dionicima kako biste identificirali entitete. U početku je važno identificirati atribute bez njihovog mapiranja na određeni entitet.
Nakon što imate popis atributa, morate ih mapirati na identificirane entitete. Osigurajte da je atribut uparen s točno jednim entitetom. Ako mislite da bi atribut trebao pripadati više od jednog entiteta, upotrijebite modifikator kako biste ga učinili jedinstvenim.
Nakon što je mapiranje gotovo, identificirajte primarne ključeve. Ako jedinstveni ključ nije lako dostupan, izradite ga.
| Entitetska | Glavni ključ | Atribut |
|---|---|---|
| student | Studentska iskaznica | Ime studenta |
| Profesor | ID_zaposlenika | Ime Profesora |
| Tečaj | ID_tečaja | Naziv tečaja |
Za entitet kolegija, atributi mogu biti Trajanje, Bodovi, Zadaci itd. Radi jednostavnosti, razmotrili smo samo jedan atribut.
Korak 5) Izradite ERD
Moderniji prikaz primjera dijagrama entiteta i odnosa:
Najbolje prakse za učinkovite ER dijagrame
Slijedite ove smjernice za izradu jasnih, održivih i učinkovitih ER dijagrama:
- Uklonite redundanciju: Uklonite duplicirane entitete, atribute ili odnose.
- Koristite jasne konvencije imenovanja: Koristite dosljedna, opisna imena. Izbjegavajte kratice.
- Provjeri u skladu sa zahtjevima: Osigurajte da dijagram podržava sve potrebe za pohranom podataka.
- Neka bude jednostavno: Izradite više dijagrama na različitim razinama umjesto jednog pretrpanog dijagrama.
- Koristite boju štedljivo: Dosljedno koristite boje za isticanje kategorija.
- Pretpostavke dokumenta: Uključite bilješke koje objašnjavaju pretpostavke o poslovnim pravilima.
- Revpogled sa zainteresiranim stranama: Neka poslovni korisnici i tehnički tim pregledaju dijagram.
- Kontrola verzija: Održavajte verzije kako se dizajn razvija.
ER dijagrami u odnosu na UML dijagrame klasa
Iako se i ER dijagrami i UML dijagrami klasa koriste za modeliranje podataka, oni služe različitim svrhama i kontekstima. Razumijevanje kada koristiti koji od njih važno je za učinkovit dizajn sustava.
| Aspekt | ER dijagram | UML dijagram klasa |
|---|---|---|
| Glavna svrha | Dizajn baze podataka | Dizajn softvera/objekta |
| fokus | Podaci i odnosi | Objekti, metode i ponašanja |
| Metode/Operama | Nije podržano | Potpuna podrška |
| Nasljeđivanje | Ograničeno (samo u EER-u) | Potpuna podrška |
| Uporaba u industriji | Administratori baza podataka, analitičari podataka | Razvojni inženjeri softvera, arhitekti |















