ER-malli – peruskäsitteitä

Esittelyt

Er-malli määrittelee tietokannan käsitteellisen näkymän. Se toimii reaalimaailman entiteettien ja niiden välisten assosiaatioiden ympärillä. Näkymätasolla ER-mallia pidetään hyvänä vaihtoehtona tietokantojen suunnittelussa.

Entiteetti

Entiteetti voi olla reaalimaailman objekti, joko elollinen tai eloton, joka on helposti tunnistettavissa. Esimerkiksi koulun tietokannassa opiskelijoita, opettajia, luokkia ja tarjottuja kursseja voidaan pitää entiteetteinä. Kaikilla näillä entiteeteillä on joitakin attribuutteja tai ominaisuuksia, jotka antavat niille identiteetin.

Entiteettijoukko on kokoelma samantyyppisiä entiteettejä. Entiteettijoukko voi sisältää entiteettejä, joiden attribuuteilla on samanlaiset arvot. Esimerkiksi Opiskelijat-joukko voi sisältää kaikki koulun opiskelijat; samoin Opettajat-joukko voi sisältää kaikki koulun opettajat kaikista tiedekunnista. Entiteettijoukkojen ei tarvitse olla epäyhtenäisiä.

Attribuutit

Entiteetit esitetään niiden ominaisuuksien avulla, joita kutsutaan attribuuteiksi. Kaikilla attribuuteilla on arvot. Esimerkiksi opiskelija-oliolla voi olla attribuutteina nimi, luokka ja ikä.

Astribuuteille voidaan antaa tietty alue tai arvoalue. Esimerkiksi oppilaan nimi ei voi olla numeerinen arvo. Sen on oltava aakkosellinen. Opiskelijan ikä ei voi olla negatiivinen jne.

Attribuuttien tyypit

  • Yksinkertainen attribuutti – Yksinkertaiset attribuutit ovat atomisia arvoja, joita ei voi jakaa enempää. Esimerkiksi opiskelijan puhelinnumero on 10 numeron atominen arvo.

  • Yhdistelmäattribuutti – Yhdistelmäattribuutit koostuvat useammasta kuin yhdestä yksinkertaisesta attribuutista. Esimerkiksi opiskelijan täydellinen nimi voi koostua etunimi_nimi ja sukunimi_nimi.

  • Derived attribute (Johdettu attribuutti) – Derived attributes (johdetut attribuutit) ovat attribuutteja, joita ei ole fyysisessä tietokannassa, mutta niiden arvot on johdettu muista tietokannassa olevista attribuuteista. Esimerkiksi osaston keskimääräistä_palkkaa ei pitäisi tallentaa suoraan tietokantaan, vaan se voidaan johtaa. Toisena esimerkkinä ikä voidaan johtaa syntymätiedoista.

  • Single-value-attribuutti – Single-value-attribuutit sisältävät yhden arvon. Esimerkiksi – Social_Security_Number.

  • Multi-value-attribuutti – Multi-value-attribuutit voivat sisältää useamman kuin yhden arvon. Esimerkiksi henkilöllä voi olla useampi kuin yksi puhelinnumero, sähköpostiosoite jne.

Nämä attribuuttityypit voivat tulla yhteen esimerkiksi –

  • yksinkertaiset yksiarvoiset attribuutit
  • yksinkertaiset moniarvoiset attribuutit
  • koosteiset yksi-…valued attributes
  • composite multi-valued attributes

Entity-Set and Keys

Key on attribuutti tai attribuuttien kokoelma, joka yksilöi entiteetin yksiselitteisesti entiteettien joukossa.

Esimerkiksi opiskelijan roll_number tekee hänestä tunnistettavan opiskelijoiden joukosta.

  • Superavain – Joukko attribuutteja (yksi tai useampi), jotka yhdessä tunnistavat olion oliojoukossa.

  • Kandidaattiavain – Minimaalista superavainta kutsutaan kandidaattiavaimeksi. Entiteettijoukolla voi olla useampi kuin yksi ehdokasavain.

  • Primääriavain – Primääriavain on yksi tietokannan suunnittelijan valitsemista ehdokasavaimista, joka yksilöi entiteettijoukon yksiselitteisesti.

Suhde

Ominaisuuksien välistä yhteyttä kutsutaan suhteeksi. Esimerkiksi työntekijä työskentelee_osastolla, opiskelija ilmoittautuu kurssille. Tässä Works_at ja Enrolls kutsutaan suhteiksi.

Relationship Set

Tyyppiltään samanlaisten suhteiden joukkoa kutsutaan suhteiden joukoksi. Kuten olioilla, myös suhteilla voi olla attribuutteja. Näitä attribuutteja kutsutaan kuvaileviksi attribuuteiksi.

Suhteen aste

Suhteeseen osallistuvien entiteettien määrä määrittelee suhteen asteen.

  • Binary = aste 2
  • Ternary = aste 3
  • n-ary = aste

Karttauskardinaalisuudet

Kardinaalisuus määrittelee yhden oliojoukon olioiden lukumäärän, joka voidaan assosioida toisen oliojoukon olioiden lukumääriin suhdesuhdejoukon kautta.

  • Yksi yhteen – Yksi entiteetti entiteettijoukosta A voidaan liittää enintään yhteen entiteettijoukon B entiteettiin ja päinvastoin.

  • One-to-many – Yksi entiteetti entiteettijoukosta A voidaan liittää useampaan kuin yhteen entiteettijoukon B entiteettiin, mutta entiteettijoukon B entiteetti voidaan liittää enintään yhteen entiteettiin.

  • Monesta yhteen – Useampi kuin yksi entiteetti entiteettijoukosta A voidaan assosioida korkeintaan yhteen entiteettijoukon B entiteettiin, mutta entiteettijoukon B entiteetti voidaan assosioida useampaan kuin yhteen entiteettiin entiteettijoukosta A.

  • Many-to-many – Yksi entiteetti kokonaisuudesta A voidaan assosioida useampaan kuin yhteen entiteettiin kokonaisuudesta B ja päinvastoin.

Advertisements

Advertisements

Vastaa

Sähköpostiosoitettasi ei julkaista.