Mitä on ER-mallinnus? Opi esimerkin avulla
⚡ Älykäs yhteenveto
Entiteetti-suhteiden mallintaminen on graafinen lähestymistapa tietokannan suunnitteluun, jossa reaalimaailman objektit esitetään entiteetteinä, kuvataan ne ominaisuuksilla ja tallennetaan niiden yhteys suhteiden kautta, jolloin luodaan selkeä suunnitelma ennen taulukoiden rakentamista.

Mitä on ER-mallinnus?
Entiteettisuhdemalli (ER Modeling) on graafinen lähestymistapa tietokannan suunnitteluun. Se on korkean tason tietomalli, joka määrittelee tietoelementit ja niiden suhteen tietylle ohjelmistojärjestelmälle. ER-mallia käytetään edustamaan todellisia objekteja.
Entiteetti on todellisessa maailmassa oleva asia tai objekti, joka on erotettavissa ympäröivästä ympäristöstään. Esimerkiksi jokainen organisaation työntekijä on erillinen yksikkö. Seuraavassa on joitakin yksiköiden tärkeimmistä ominaisuuksista.
- Entiteetillä on joukko ominaisuuksia.
- Kokonaisuuden ominaisuuksilla voi olla arvoja.
Tarkastellaan ensimmäistä esimerkkiämme uudelleen. Organisaation työntekijä on entiteetti. Jos ”Peter” on ohjelmoija (työntekijä) organisaatiossa Microsoft, hänellä voi olla ominaisuuksia, kuten nimi, ikä, paino, pituus jne. On selvää, että näillä on hänelle merkityksellisiä arvoja.
Jokaisella attribuutilla voi olla arvoja. Useimmissa tapauksissa yhdellä attribuutilla on yksi arvo. Mutta attribuuteilla voi olla myös useita arvoja. Esimerkiksi Peterin iällä on yksi arvo. Mutta hänen ”puhelinnumerot”-ominaisuudellaan voi olla useita arvoja.
Entiteetit voivat olla toisiinsa suhteissa. Tarkastellaan yksinkertaisinta esimerkkiä. Oletetaan, että jokainen Microsoft Ohjelmoijalle annetaan tietokone. On selvää, että myös Peterin tietokone on olio. Peter käyttää kyseistä tietokonetta, ja Peter käyttää samaa tietokonetta. Toisin sanoen, Peterin ja hänen tietokoneensa välillä on molemminpuolinen suhde.
Entiteettisuhteiden mallintamisessa mallinnamme entiteettejä, niiden ominaisuuksia ja entiteettien välisiä suhteita.
Miksi käyttää ER-mallia?
Nyt saatat miettiä, miksi käyttää ER-mallinnusta, kun voimme yksinkertaisesti luo tietokanta ja kaikki sen objektit ilman ER-mallinnusta? Yksi tietokannan suunnittelun haasteista on se, että suunnittelijat, kehittäjät ja loppukäyttäjät näkevät tiedot ja sen käytön eri tavalla. Jos tämä tilanne jätetään tarkistamatta, voimme päätyä tuottamaan tietokantajärjestelmän, joka ei täytä käyttäjien vaatimuksia.
Kaikkien sidosryhmien (sekä teknisten että ei-teknisten käyttäjien) ymmärtämät viestintävälineet ovat ratkaisevan tärkeitä käyttäjien vaatimukset täyttävien tietokantajärjestelmien tuottamisessa. ER-mallit ovat esimerkkejä tällaisista työkaluista.
ER-kaaviot lisäävät myös käyttäjien tuottavuutta, koska ne voidaan helposti muuntaa relaatiotaulukoiksi.
Enhanced Entity Relationship (EER) -malli
Enhanced Entity Relationship (EER) -malli on korkean tason datamalli, joka tarjoaa laajennuksia alkuperäiseen Entity Relationship (ER) -malliin. EER-mallit tukevat yksityiskohtaisempaa suunnittelua. EER-mallinnus nousi esiin ratkaisuna erittäin monimutkaisten tietokantojen mallintamiseen.
EER käyttää UML-merkintätapaa. UML on lyhenne sanoista Yhtenäinen mallinnuskieli; se on yleiskäyttöinen mallinnuskieli, jota käytetään oliopohjaisten järjestelmien suunnittelussa. Entiteetit esitetään luokkakaavioina. Suhteet esitetään entiteettien välisinä assosiaatioina. Alla oleva kaavio havainnollistaa ER-kaaviota käyttäen UML-merkintä.
Case-tutkimus: ER-kaavio "MyFlix"-videokirjastolle
Työskentelemme nyt MyFlix Video Library -tietokannan kanssa ymmärtääksemme ER-kaavioiden käsitteen. Käytämme tätä tietokantaa kaikessa tämän opetusohjelman käytännön työssä.
MyFlix on liiketoimintayksikkö, joka vuokraa elokuvia jäsenilleen. MyFlix on tallentanut tietueensa manuaalisesti. Johto haluaa nyt muuttaa a DBMS.
Katsotaanpa vaiheita EER-kaavion kehittämiseksi tälle tietokannalle:
- Tunnista entiteetit ja määritä niiden väliset suhteet.
- Jokaisella entiteetillä, attribuutilla ja suhteella tulisi olla asianmukaiset nimet, jotka myös ei-tekniset henkilöt ymmärtävät helposti.
- Suhteet eivät saa olla suoraan yhteydessä toisiinsa. Suhteiden tulee yhdistää kokonaisuuksia.
- Jokaisella tietyn entiteetin attribuutilla tulee olla yksilöllinen nimi.
”MyFlix”-kirjaston yksiköt
Yksiköt, jotka sisällytetään meidän ER-kaavio ovat:
- Jäsenet – tämä yksikkö säilyttää jäsentietoja.
- Elokuvat – tämä yksikkö sisältää tietoja elokuvista.
- Luokat – tämä yksikkö sisältää tietoja, jotka luokittelevat elokuvat eri luokkiin, kuten "Draama", "Toiminta" ja "Eeppinen" jne.
- Elokuvavuokraukset – tämä yksikkö säilyttää tietoja jäsenille vuokratuista elokuvista.
- Maksut – tämä yksikkö säilyttää tietoja jäsenten tekemistä maksuista.
Entiteettien välisten suhteiden määrittäminen
Jäsenet ja elokuvat
Seuraava pätee näiden kahden kokonaisuuden välisiin vuorovaikutuksiin.
- Jäsen voi vuokrata useamman kuin yhden elokuvan tietyllä ajanjaksolla.
- Useampi kuin yksi jäsen voi vuokrata elokuvan tietyn ajanjakson aikana.
Yllä olevasta skenaariosta voimme nähdä, että suhteen luonne on monta-moneen. Relaatiotietokannat eivät tue monta-moneen-suhteita. Meidän on otettava käyttöön junction-entiteetti. Tämä on rooli, jota MovieRentals-entiteetti suorittaa. Sillä on yksi-moneen-suhde Jäsenet-taulukkoon ja toinen yksi-moneen-suhde Elokuvat-taulukkoon.
Elokuvat ja luokkakokonaisuudet
Seuraava koskee elokuvia ja luokkia.
- Elokuva voi kuulua vain yhteen kategoriaan, mutta kategoriassa voi olla useampi kuin yksi elokuva.
Voimme tästä päätellä, että kategorioiden ja elokuvataulukoiden välinen suhde on luonteeltaan yksi-moneen.
Jäsenet ja maksuyksiköt
Seuraava pätee jäseniin ja maksuihin.
- Jäsenellä voi olla vain yksi tili, mutta hän voi suorittaa useita maksuja.
Voimme tästä päätellä, että jäsenten ja maksuyksiköiden välinen suhde on luonteeltaan yksi-moneen.
Luo EER-malli käyttämällä MySQL Työpöytä
In MySQL Työpöytä, napsauta ”+”-painiketta.
Double Avaa ER-kaavioiden työtila napsauttamalla Lisää kaavio -painiketta.
Seuraava ikkuna tulee näkyviin.
Katsotaanpa kahta kohdetta, joiden kanssa työskentelemme.
- Taulukko-objekti
antaa meille mahdollisuuden luoda entiteettejä ja määritellä tiettyyn entiteettiin liittyvät ominaisuudet.
- Paikan suhde
-painikkeen avulla voimme määritellä entiteettien väliset suhteet.
Jäsenten entiteetillä on seuraavat ominaisuudet
- Jäsennumero
- Koko nimet
- Sukupuoli
- Syntymäaika
- Fyysinen osoite
- postiosoite
Luodaan nyt Jäsenet-taulukko
1. Vedä taulukko-objekti työkalupaneelista.
2. Pudota se työtilaan. Näkyviin tulee taulukko 1 -niminen entiteetti.
3. Double napsauta sitä. Alla oleva ominaisuusikkuna tulee näkyviin.
Seuraavaksi
- Muuta taulukko 1 muotoon Jäsenet.
- Muokkaa oletusarvoista idtable1-arvoa jäsenyysnumeroksi.
- Lisää seuraava kenttä napsauttamalla seuraavaa riviä.
- Tee sama kaikille Jäsenet-entiteetissä tunnistetuille määritteille.
Ominaisuudet-ikkunasi pitäisi nyt näyttää tältä.
Toista yllä olevat vaiheet kaikille tunnistetuille kokonaisuuksille.
Kaavion työtilasi pitäisi nyt näyttää alla esitetyltä.
Luodaan suhde jäsenten ja elokuvavuokraajien välille
- Valitse paikkasuhde olemassa olevien sarakkeiden työkalulla.
- Napsauta jäsenyysnumero-kohtaa Jäsenet-taulukossa.
- Napsauta viitenumeroa Elokuvavuokraukset-taulukossa.
Toista yllä olevat vaiheet muille suhteille. ER-kaaviosi pitäisi nyt näyttää tältä –









