Što je ER modeliranje?
Model odnosa entiteta (ER Modeling) grafički je pristup dizajnu baze podataka. To je model podataka visoke razine koji definira podatkovne elemente i njihov odnos za određeni softverski sustav. ER model koristi se za predstavljanje objekata iz stvarnog svijeta.
Entiteta je stvar ili objekt u stvarnom svijetu koji se razlikuje od okoline. Na primjer, svaki zaposlenik u organizaciji je zaseban entitet. Slijede neke od glavnih karakteristika entiteta.
- Entitet ima skup svojstava.
- Svojstva entiteta mogu imati vrijednosti.
U ovom vodiču naučit ćete-
- Model poboljšanih odnosa entiteta (EER)
- Zašto koristiti ER model?
- Entiteti u knjižnici "MyFlix"
- Utvrđivanje odnosa među entitetima
Razmotrimo ponovno naš prvi primjer. Zaposlenik u organizaciji je entitet. Ako je "Peter" programer ( zaposlenik ) u Microsoftu, može imati atribute ( svojstva) kao što su ime, dob, težina, visina itd. Očito je da oni imaju vrijednosti koje su za njega relevantne.
Svaki atribut može imati vrijednosti . U većini slučajeva pojedinačni atributi imaju jednu vrijednost. Ali moguće je i da atributi imaju više vrijednosti . Na primjer, Petrovo doba ima jednu vrijednost. Ali njegovo svojstvo "telefonski brojevi" može imati više vrijednosti.
Entiteti mogu imati međusobne odnose . Razmotrimo najjednostavniji primjer. Pretpostavimo da je svaki Microsoftov programer dobio računalo. Jasno je da je i Petrovo računalo entitet. Peter koristi to računalo, a isto računalo koristi i Peter. Drugim riječima, između Petera i njegovog računala postoji međusobni odnos.
U modeliranju odnosa entiteta modeliramo entitete, njihove atribute i odnose među entitetima.
Model poboljšanih odnosa entiteta (EER)
Poboljšani entitetni odnos (EER) model je podatkovni model na visokoj razini koji pruža proširenja na izvorni entitetski odnos (ER). EER modeli podržavaju dizajn više detalja. EER modeliranje pojavilo se kao rješenje za modeliranje vrlo složenih baza podataka.
EER koristi UML notaciju. UML je kratica za Unified Modeling Language; to je jezik za modeliranje opće namjene koji se koristi pri dizajniranju objektno orijentiranih sustava. Entiteti su predstavljeni kao dijagrami razreda. Odnosi su predstavljeni kao asocijacije između entiteta. Dijagram prikazan u nastavku ilustrira ER dijagram koji koristi UML notaciju.
Zašto koristiti ER model?
Sad možete pomisliti zašto koristiti ER modeliranje kad možemo jednostavno stvoriti bazu podataka i sve njene objekte bez ER modeliranja? Jedan od izazova s kojima se susreće prilikom dizajniranja baze podataka jest činjenica da dizajneri, programeri i krajnji korisnici imaju tendenciju različito promatrati podatke i njihovu upotrebu. Ako se ova situacija ne provjeri, na kraju možemo stvoriti sustav baze podataka koji ne udovoljava zahtjevima korisnika.
Komunikacijski alati koje razumiju svi dionici (tehnički i netehnički korisnici) presudni su u izradi sustava baza podataka koji udovoljavaju zahtjevima korisnika. ER modeli su primjeri takvih alata.
ER dijagrami također povećavaju produktivnost korisnika jer se lako mogu prevesti u relacijske tablice.
Studija slučaja: ER dijagram za videoteku "MyFlix"
Hajde sada da radimo sa sustavom baze podataka MyFlix Video Library kako bismo lakše razumjeli koncept ER dijagrama. U ostatku ovog vodiča koristit ćemo ovu bazu podataka za sve ručne radove
MyFlix je poslovni subjekt koji iznajmljuje filmove svojim članovima. MyFlix svoje zapise pohranjuje ručno. Uprava sada želi preći na DBMS
Pogledajmo korake za razvoj EER dijagrama za ovu bazu podataka-
- Identificirajte entitete i utvrdite odnose koji postoje među njima.
- Svaki entitet, atribut i odnos trebali bi imati odgovarajuća imena koja mogu lako razumjeti i netehnički ljudi.
- Odnosi se ne smiju izravno međusobno povezivati. Odnosi bi trebali povezati entitete.
- Svaki atribut u danom entitetu trebao bi imati jedinstveni naziv.
Entiteti u knjižnici "MyFlix"
Entiteti koji će biti uključeni u naš ER dijagram su;
- Članovi - ovaj će entitet sadržavati podatke o članovima.
- Filmovi - ovaj će entitet sadržavati informacije o filmovima
- Kategorije - ovaj će entitet sadržavati informacije koje filmove svrstavaju u različite kategorije kao što su "Drama", "Action" i "Epic" itd.
- Iznajmljivanje filmova - ovaj će entitet sadržavati informacije o filmovima koji se iznajmljuju članovima.
- Plaćanja - ovaj će entitet sadržavati podatke o plaćanjima članova.
Utvrđivanje odnosa među entitetima
Članovi i filmovi
Sljedeće vrijedi u vezi s interakcijama između dva entiteta.
- Član može unajmiti više od jednog filma u određenom razdoblju.
- Film u određenom razdoblju može unajmiti više članova.
Iz gornjeg scenarija možemo vidjeti da je priroda veze mnogo prema mnogima. Relacijske baze podataka ne podržavaju veze mnogo prema mnogo. Moramo uvesti spojnu cjelinu . To je uloga koju ima entitet MovieRentals. Ima odnos jedan prema više sa tablicom članova, a drugi odnos jedan prema mnogima sa stolom za filmove.
Filmovi i kategorije entiteta
Sljedeće vrijedi za filmove i kategorije.
- Film može pripadati samo jednoj kategoriji, ali kategorija može imati više od jednog filma.
Iz toga možemo zaključiti da je priroda odnosa između kategorija i tablice filmova jedna prema mnogima.
Članovi i subjekti za plaćanja
Sljedeće vrijedi za članove i isplate
- Član može imati samo jedan račun, ali može izvršiti veći broj uplata.
Iz toga možemo zaključiti da je priroda odnosa između članova i platnih subjekata jedan prema više.
Sada omogućava stvaranje EER modela pomoću MySQL Workbencha
U MySQL radnom stolu kliknite gumb - "+"
Dvaput kliknite gumb Dodaj dijagram da biste otvorili radni prostor za ER dijagrame.
Pojavljuje se sljedeći prozor
Pogledajmo dva predmeta s kojima ćemo raditi.
Objekt tablice omogućuje nam stvaranje entiteta i definiranje atributa povezanih s određenim entitetom.
Gumb veze mjesta omogućuje nam definiranje odnosa između entiteta.
The članskoj subjekt će imati sljedeće atribute
- Članski broj
- Puna imena
- Spol
- Datum rođenja
- Fizička adresa
- poštanska adresa
Stvorimo sada tablicu članova
1. Povucite objekt tablice s ploče s alatima
2. Bacite ga u područje radnog prostora. Pojavljuje se entitet imenovan tablicom 1
3.Dvostruko kliknite na njega. Pojavljuje se prozor sa svojstvima prikazan u nastavku
Sljedeći ,
- Promijenite tablicu 1 u Članovi
- Uredite zadani idtable1 na member_number
- Kliknite sljedeći redak da biste dodali sljedeće polje
- Učinite isto za sve atribute identificirane u entitetu članova.
Prozor vaših svojstava sada bi trebao izgledati ovako.
Ponovite gornje korake za sve identificirane entitete.
Vaš radni prostor dijagrama sada bi trebao izgledati poput prikazanog u nastavku.
Omogućimo stvaranje odnosa između članova i iznajmljivanja filmova
- Odaberite odnos mjesta koristeći i postojeće stupce
- Kliknite broj_člana u tablici Članovi
- Kliknite reference_number u tablici MovieRentals
Ponovite gornje korake za ostale veze. Vaš ER dijagram sada bi trebao izgledati ovako -
Sažetak
- Puni oblik ER su dijagrami entiteta i odnosa. Oni igraju vrlo važnu ulogu u procesu dizajniranja baze podataka. Služe kao netehnički komunikacijski alat za tehničke i netehničke ljude.
- Entiteti predstavljaju stvari iz stvarnog svijeta; mogu biti konceptualni kao prodajni nalog ili fizički poput kupca.
- Svi entiteti moraju dobiti jedinstvena imena.
- ER modeli također omogućuju dizajnerima baza podataka da identificiraju i definiraju odnose koji postoje među entitetima.
Cijeli ER model priložen je u nastavku. Možete ga jednostavno uvesti u MySQL Workbench
Kliknite ovdje za preuzimanje ER modela