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.

  • ๐Ÿ” Osnovni koncept: ER dijagrami definiraju strukturu baze podataka kroz tri kljuฤne komponente - entitete, atribute i odnose - osiguravajuฤ‡i jasnu mapuping izmeฤ‘u podatkovnih objekata i njihovih interakcija.
  • ๐Ÿงฑ Strukturni simboli: Pravokutnici oznaฤavaju entitete, elipse predstavljaju atribute, a rombovi ilustriraju odnose; spojne linije oznaฤavaju logiฤke veze, s podcrtanim atributima koji oznaฤavaju primarne kljuฤeve.
  • โš™๏ธ Klasifikacija entiteta: Entiteti su grupirani u skupove, a svaki je identificiran jedinstvenim kljuฤevima ili atributima. Slabi entiteti nemaju neovisne kljuฤeve i oslanjaju se na jake entitete za identifikaciju, koristeฤ‡i dvostruke pravokutnike i isprekidane podcrte.
  • ๐Ÿ”— Definicija veze: Odnosi izraลพavaju povezanosti izmeฤ‘u entiteta (npr. โ€žStudent se upisuje na teฤajโ€œ) i kategorizirani su prema kardinalnosti - jedan-prema-jedan, jedan-prema-mnogo, viลกe-prema-jedan ili viลกe-prema-mnogo.
  • ๐Ÿงฉ Vrste atributa: Atributi mogu biti jednostavni, sloลพeni, izvedeni ili viลกevrijednosni, definirajuฤ‡i razliฤita svojstva podataka kao ลกto su imena, datumi i izraฤunata polja.
  • ๐Ÿงญ Koraci za izradu ERD-a: Identificirajte entitete, uspostavite odnose, odredite kardinalnosti, dodijelite atribute i definirajte primarne kljuฤeve prije konstrukcije cijelog dijagrama.
  • ๐Ÿ“ˆ Praksa optimizacije: Uklonite redundancije, oznaฤite sve komponente i odrลพavajte jedinstvene pojave entiteta radi jasnoฤ‡e, osiguravajuฤ‡i da dijagram podrลพava sve potrebne zahtjeve za pohranu podataka.

Dijagram odnosa entiteta

ล 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.

Primjeri ER dijagrama
Primjer dijagrama odnosa 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.

Komponente ER dijagrama

Komponente ER dijagrama

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

primjeri entiteta u dbms-ovima

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.

Entitetska

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.

Slabi entiteti

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.

Odnos

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.

Znaฤajke

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.

kardinalnost

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.

Kardinalnost jedan na jedan

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.

Kardinalnost jedan prema viลกe

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.

Mnogi prema jednoj kardinalnosti

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.

Kardinalnost od mnogih prema mnogima

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:

Napravite dijagram odnosa entiteta

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

Identifikacija entiteta

Korak 2) Identifikacija odnosa

Imamo sljedeฤ‡a dva odnosa:

  • Uฤenik je dodijeljena teฤaj
  • Profesor donosi teฤaj

Identifikacija odnosa

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

Identifikacija kardinalnosti

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

Koraci za stvaranje dijagrama odnosa entiteta

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:

Napravite ERD dijagram

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

Pitanja i odgovori

ER dijagram vizualno predstavlja strukturu baze podataka definiranjem entiteta, njihovih atributa i odnosa. Pomaลพe dizajnerima, programerima i dionicima da osiguraju dosljednost, integritet i uฤinkovitost modeliranja podataka prije poฤetka implementacije.

Dvije glavne vrste su konceptualni ER dijagrami (koji opisuju odnose i entitete visoke razine bez detalja implementacije) i fiziฤki ER dijagrami (koji detaljno opisuju stvarne strukture baze podataka, tipove podataka, kljuฤeve i ograniฤenja za implementaciju).

Za izradu ER dijagrama: (1) Identificirajte kljuฤne entitete iz svojih zahtjeva, (2) Odredite odnose izmeฤ‘u entiteta, (3) Dodijelite kardinalnosti na temelju poslovnih pravila, (4) Definirajte atribute za svaki entitet, (5) Identificirajte primarne kljuฤeve i (6) Nacrtajte dijagram koristeฤ‡i odgovarajuฤ‡u notaciju.

Izbor ovisi o vaลกem kontekstu. Chen notacija je najbolja za konceptualni dizajn i akademska okruลพenja, dok je Crow's Foot notacija poลพeljnija za logiฤki/fiziฤki dizajn u industrijskim okruลพenjima. Veฤ‡ina modernih alata za baze podataka podrลพava Crow's Foot notaciju.

Jaki entitet ima svoj primarni kljuฤ i moลพe postojati neovisno. Slabi entitet nema primarni kljuฤ i ovisi o jakom entitetu za svoju identifikaciju, koristeฤ‡i kombinaciju primarnog kljuฤa vlasnika i vlastitog djelomiฤnog kljuฤa (diskriminatora).

U platformama za upravljanje bazama podataka u oblaku, ER dijagrami vode automatizirano pruลพanje, skaliranje i orkestraciju upita. Omoguฤ‡uju alatima temeljenima na umjetnoj inteligenciji da usklade strukture podataka s predviฤ‘anjima radnog optereฤ‡enja i zahtjevima korisnika u stvarnom vremenu, poboljลกavajuฤ‡i uฤinkovitost sustava.

Iako generativna umjetna inteligencija moลพe predloลพiti poฤetne ER modele iz poslovnih zahtjeva ili postojeฤ‡ih skupova podataka, ljudski nadzor ostaje kljuฤan za validaciju odnosa, provoฤ‘enje ograniฤenja, osiguravanje logiฤke koherentnosti i provjeru usklaฤ‘enosti sa stvarnim poslovnim pravilima u produkcijskim sustavima.

Odnosi "mnogo-prema-mnogo" ne mogu se izravno implementirati u relacijskim bazama podataka. Morate stvoriti asocijativni entitet (spojnu tablicu) koji razdvaja odnos M:N na dva odnosa 1:N. Ova spojna tablica sadrลพi strane kljuฤeve koji referenciraju oba izvorna entiteta.

Saลพmite ovu objavu uz: