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,ping savladavate 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 |
|---|---|---|
| Pravokutni | Entitetska | Snaลพan entitet (npr. Student, Proizvod) |
| Double Pravokutni | 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 mapiranjaping ih odreฤenom entitetu.
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 kartaping Nakon ลกto je gotovo, identificirajte primarne kljuฤeve. Ako jedinstveni kljuฤ nije lako dostupan, stvorite 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 |















