Entiteettisuhdetietomalli (ER) on ollut olemassa yli 35 vuotta. Se soveltuu hyvin tietokantojen kanssa käytettävään tietomallinnukseen, koska se on melko abstrakti ja siitä on helppo keskustella ja selittää. ER-mallit on helppo kääntää relaatioiksi. ER-mallit, joita kutsutaan myös ER-skeemaksi, esitetään ER-kaavioilla.

ER-mallinnus perustuu kahteen käsitteeseen:

  • Entiteetit, jotka määritellään taulukoiksi, jotka sisältävät tiettyä tietoa (dataa)
  • Suhteet, jotka määritellään entiteettien välisinä assosiaatioina tai vuorovaikutussuhteina

Tässä on esimerkki siitä, miten näitä kahta käsitettä voidaan yhdistää ER-tietomallissa:

Loppupuolella tätä lukua käytämme esimerkkitietokantaa nimeltä COMPANY-tietokanta havainnollistamaan ER-mallin käsitteitä. Tämä tietokanta sisältää tietoja työntekijöistä, osastoista ja projekteista. Tärkeitä huomioitavia seikkoja ovat:

  • Yhtiössä on useita osastoja. Jokaisella osastolla on yksilöllinen tunniste, nimi, toimiston sijainti ja tietty työntekijä, joka johtaa osastoa.
  • Osasto valvoo useita projekteja, joista jokaisella on yksilöllinen nimi, yksilöllinen numero ja budjetti.
  • Kullakin työntekijällä on nimi, tunnistenumero, osoite, palkka ja syntymäaika. Työntekijä kuuluu yhteen osastoon, mutta voi osallistua useisiin projekteihin. Meidän on kirjattava työntekijän aloituspäivä kussakin projektissa. Meidän on myös tiedettävä kunkin työntekijän suora esimies.
  • Haluamme pitää kirjaa kunkin työntekijän huollettavista. Jokaisella huollettavalla on nimi, syntymäaika ja suhde työntekijään.

Entiteetti, entiteettijoukko ja entiteettityyppi

Entiteetti on reaalimaailman objekti, jolla on itsenäinen olemassaolo ja joka voidaan erottaa muista objekteista. Entiteetti voi olla

Entiteetit voidaan luokitella niiden vahvuuden perusteella. Entiteettiä pidetään heikkona, jos sen taulukot ovat olemassaolosta riippuvaisia.

  • Tämä tarkoittaa, että se ei voi olla olemassa ilman suhdetta toiseen entiteettiin
  • Sen ensiöavain on johdettu vanhemman entiteetin ensiöavaimesta
    • YHTIÖ-tietokannassa oleva puoliso -taulu on heikko entiteetti, koska sen ensiöavain on riippuvainen Employee-taulusta. Ilman vastaavaa työntekijätietuetta puoliso-tietuetta ei olisi olemassa.

Yksikköä pidetään vahvana, jos se voi olla olemassa erillään kaikista siihen liittyvistä yksiköistä.

  • Ytimet ovat vahvoja yksiköitä.
  • Taulukko, jossa ei ole vierasavainta tai taulukko, joka sisältää vierasavaimen, joka voi sisältää nollia, on vahva entiteetti

Muutama termi, joka kannattaa tuntea, on entiteettityyppi (entity type), joka määrittelee kokoelman samankaltaisia entiteettejä.

Entiteettijoukko (entity set) on kokoelma entiteettityyppisiä entiteettejä tiettynä ajankohtana. Entiteettisuhdekuviossa (ERD) entiteettityyppi esitetään laatikossa olevalla nimellä. Esimerkiksi kuvassa 8.1 oliotyyppi on EMPLOYEE.

Kuva 8.1. ERD, jossa on entiteettityyppi EMPLOYEE.

Olemassaoloriippuvuus

Entiteetin olemassaolo on riippuvainen siihen liittyvän entiteetin olemassaolosta. Se on olemassaolosta riippuvainen, jos sillä on pakollinen vierasavain (eli vierasavainattribuutti, joka ei voi olla nolla). Esimerkiksi COMPANY-tietokannassa Spouse-olio on olemassaolo-riippuvainen Employee-oliosta.

Kind of Entities

Sinun tulisi tuntea myös erilaiset oliotyypit, kuten riippumattomat oliot, riippuvaiset oliot ja ominaisuusoliot. Nämä kuvataan alla.

riippuvaiset entiteetit

Riippuvaiset entiteetit, joita kutsutaan myös ytimiksi, ovat tietokannan selkäranka. Niihin muut taulukot perustuvat. Ytimillä on seuraavat ominaisuudet:

  • Ne ovat tietokannan rakennuspalikoita.
  • Erimmäisavain voi olla yksinkertainen tai yhdistetty.
  • Erimmäisavain ei ole vierasavain.
  • Erimmäisavain ei ole riippuvainen toisesta entiteetistä.

Viitaten takaisin COMPANY-tietokantaamme, esimerkkejä riippumattomasta entiteetistä ovat esimerkiksi Asiakas-, Työntekijä- tai Tuotetaulukko.

Riippuvaiset entiteetit

Riippuvaiset entiteetit, joihin viitataan myös johdetuiksi entiteeteiksi (derived entiteeteiksi), ovat merkityksensä osalta riippuvaisia toisista tauluista. Näillä olioilla on seuraavat ominaisuudet:

  • Riippuvaisia olioita käytetään kahden ytimen yhdistämiseen toisiinsa.
  • Näiden sanotaan olevan olemassaoloriippuvaisia kahdesta tai useammasta taulusta.
  • Monista moniin -suhteet muuttuvat assosiatiivisiksi taulukoiksi, joissa on vähintään kaksi vierasavainta.
  • Suhteisiin voi sisältyä muitakin attribuutteja.
  • Vierasavain yksilöi jokaisen assosioituneen taulun.
  • Primääriavaimelle on kolme vaihtoehtoa:
    1. Käytä yhdistelmää assosioituneiden taulujen vierasavaimista, jos ne ovat yksikäsitteisiä
    2. Käytä yhdistelmää vierasavaimista ja määrittelevästä sarakkeesta
    3. Luo uusi yksinkertainen primääriavain

Ominaisuusoliot

Ominaisuusoliot antavat lisätietoja toisesta taulusta. Näillä olioilla on seuraavat ominaisuudet:

  • Ne edustavat moniarvoisia attribuutteja.
  • Ne kuvaavat muita olioita.
  • Neillä on tyypillisesti yksi monelle -suhde.
  • Vierasavainta käytetään luonnehditun taulun tarkempaan tunnistamiseen.
  • Vaihtoehdot ensisijaiselle avaimelle ovat seuraavat:
    1. Käytä yhdistelmää, joka muodostuu vieraasta avaimesta ja määrittelevästä sarakkeesta
    2. Luo uusi yksinkertainen ensisijainen avain. COMPANY-tietokannassa nämä voisivat olla:
      • Työntekijä (EID, Nimi, Osoite, Ikä, Palkka) – EID on yksinkertainen ensisijainen avain.
      • TyöntekijäPuhelin (EID, Puhelin) – EID on osa yhdistettyä ensisijaista avainta. Tässä EID on myös vierasavain.

Attribuutit

Jokaista entiteettiä kuvataan joukolla attribuutteja (esim. Työntekijä = (Nimi, Osoite, Syntymäaika (Ikä), Palkka).

Kullakin attribuutilla on nimi, ja se liittyy entiteettiin ja laillisten arvojen alueeseen. Tietoa attribuutin toimialueesta ei kuitenkaan esitetä ERD:ssä.

Kuviossa 8.2 esitetyssä oliosuhdekuviossa jokainen attribuutti esitetään soikiolla, jonka sisällä on nimi.

Kuvio 8.2. Attribuutin nimi. Miten attribuutit esitetään ERD:ssä.

Astribuuttien tyypit

On olemassa muutamia attribuuttien tyyppejä, jotka sinun on syytä tuntea. Osa niistä on syytä jättää ennalleen, mutta joitakin on mukautettava, jotta niiden esittäminen relaatiomallissa olisi helpompaa. Tässä ensimmäisessä osassa käsitellään attribuuttien tyyppejä. Myöhemmin keskustelemme attribuuttien korjaamisesta, jotta ne sopisivat oikein relaatiomalliin.

Yksinkertaiset attribuutit

Yksinkertaiset attribuutit ovat atomisten arvojen alueilta piirrettyjä attribuutteja; niitä kutsutaan myös yksiarvoisiksi attribuuteiksi. COMPANY-tietokannassa esimerkki tästä olisi: Nimi = {John} ; Ikä = {23}

Yhdistelmäattribuutit

Yhdistelmäattribuutit ovat attribuutteja, jotka koostuvat attribuuttien hierarkiasta. Käyttämällä tietokantaesimerkkiämme, joka on esitetty kuvassa 8.3, osoite voi koostua numerosta, kadusta ja lähiöstä. Tämä kirjoitetaan siis seuraavasti: → Address = {59 + ’Meek Street’ + ’Kingsford’}

Kuva 8.3. Esimerkki yhdistelmäattribuuteista.

Moniarvoiset attribuutit

Moniarvoiset attribuutit ovat attribuutteja, joilla on joukko arvoja jokaiselle oliolle. Esimerkki moniarvoisesta attribuutista COMPANY-tietokannasta, kuten kuvassa 8.4 nähdään, ovat työntekijän asteet: BSc, MIT, PhD.

Kuva 8.4. Esimerkki moniarvoisesta attribuutista.

Johdetut attribuutit

Johdetut attribuutit ovat attribuutteja, jotka sisältävät muista attribuuteista laskettuja arvoja. Esimerkki tästä on nähtävissä kuvassa 8.5. Ikä voidaan johtaa attribuutista Syntymäaika. Tässä tilanteessa Birthdatea kutsutaan tallennetuksi attribuutiksi, joka tallennetaan fyysisesti tietokantaan.

Kuva 8.5. Esimerkki johdetusta attribuutista.

avain

Tärkeä olion rajoitus on avain. Avain on attribuutti tai attribuuttien ryhmä, jonka arvojen avulla voidaan yksilöidä yksikäsitteisesti yksittäinen entiteetti entiteettijoukossa.

Avainten tyypit

Avaimia on useita erilaisia. Ne kuvataan alla.

Kandidaattiavain

Kandidaattiavain on yksinkertainen tai yhdistetty avain, joka on yksilöllinen ja minimaalinen. Se on yksilöllinen, koska millään kahdella taulukon rivillä ei voi olla samaa arvoa missään vaiheessa. Se on minimaalinen, koska jokainen sarake on välttämätön ainutlaatuisuuden saavuttamiseksi.

YRITYS-tietokantamme esimerkin mukaan, jos olio on Employee(EID, Etunimi, Sukunimi, SIN, Osoite, Puhelin, Syntymäaika, Palkka, DepartmentID), mahdollisia ehdokasavaimia ovat:

  • EID, SIN
  • Etunimi ja sukunimi – olettaen, että yrityksessä ei ole ketään muuta samannimistä
  • Sukunimi ja DepartmentID – olettaen, että kaksi henkilöä, joilla on sama sukunimi, ei työskentele samalla osastolla

Yhdistelmäavain

Yhdistelmäavain muodostuu kahdesta tai useammasta attribuutista, mutta avaimen on oltava minimaalinen.

Käyttäen esimerkkiä ehdokasavain-osiosta, mahdollisia yhdistelmäavaimia ovat:

  • Etunimi ja sukunimi – olettaen, että yrityksessä ei ole ketään muuta samannimistä
  • Sukunimi ja osaston tunnus – olettaen, että kaksi henkilöä, joilla on sama sukunimi, ei työskentele samalla osastolla

Primääriavain

Primääriavain on tietokannan suunnittelija valitsee kandidaattiavaimen, jota käytetään koko entiteettien joukon yksilöintimekanismina. Sen on yksilöitävä yksikäsitteisesti taulun tuplat, eikä se saa olla nolla. Ensisijainen avain osoitetaan ER-mallissa alleviivaamalla attribuutti.

  • Suunnittelija valitsee kandidaattiavaimen, joka yksilöi yksikäsitteisesti taulukon tuplat. Se ei saa olla nolla.
  • Tietokannan suunnittelija valitsee avaimen, jota käytetään koko oliojoukon tunnistusmekanismina. Tätä kutsutaan ensisijaiseksi avaimeksi. Tämä avain osoitetaan alleviivaamalla attribuutti ER-mallissa.

Seuraavassa esimerkissä EID on ensisijainen avain:

Työntekijä(EID, Etunimi, Sukunimi, Y-tunnus, Osoite, Puhelin, Syntymäaika, Palkka, Osastotunnus)

Toissijainen avain

Toissijainen avain

Toissijainen avain on attribuutti, jota käytetään puhtaasti hakutarkoituksiin (voi olla koostettu), esim:

Vaihtoehtoinen avain

Vaihtoehtoiset avaimet ovat kaikki ehdokasavaimet, joita ei ole valittu ensisijaiseksi avaimeksi.

Vieras avain

Vieras avain (Foreign key, FK) on taulun attribuutti, joka viittaa toisen taulun ensisijaiseen avaimeen TAI se voi olla nolla. Sekä vieraan että ensisijaisen avaimen on oltava samaa tietotyyppiä.

Oheisessa COMPANY-tietokantaesimerkissä DepartmentID on vieras avain:

Employee(EID, Etunimi, Sukunimi, Y-tunnus, Osoite, Puhelin, Syntymäaika, Palkka, DepartmentID)

Nulls

Null on tietotyypistä riippumaton erikoismerkki, joka tarkoittaa joko tuntematonta tai soveltumatonta. Se ei tarkoita nollaa tai tyhjää. Nollan ominaisuuksia ovat mm:

  • Ei tietosisältöä
  • Ei sallittua ensisijaisessa avaimessa
  • Tulee välttää muissa attribuuteissa
  • Voi edustaa
    • Tuntematonta attribuutin arvoa
    • Tuntemattoman attribuutin arvoa
    • Tuntemattoman arvoa
    • Tuntemattoman arvoa
    • Tuntemattoman arvoa
    • Tuntemattoman arvoa
    • Tuntemattoman arvoa, attribuutin arvoa
    • Tilaa ”ei sovellettavissa”
  • Voi aiheuttaa ongelmia käytettäessä funktioita, kuten COUNT, AVERAGE ja SUM
  • Voi aiheuttaa loogisia ongelmia linkitettäessä relaatiotaulukoita

Huom: Vertailuoperaation tulos on nolla, kun jompikumpi argumentti on nolla. Aritmeettisen operaation tulos on nolla, kun jompikumpi argumentti on nolla (lukuun ottamatta funktioita, jotka eivät huomioi nollia).

Esimerkki nollan käytöstä

Kuvassa 8.6 olevan palkkataulukon (Salary_tbl) avulla voit seurata esimerkkiä siitä, miten nollaa voidaan käyttää.

Kuva 8.6. Palkkataulukko null-esimerkkiä varten, tekijä A. Watt.

Aluksi etsitään kaikki työntekijät (emp#) Myynti (sarakkeessa jobName), joiden palkka palkkioineen on suurempi kuin 30 000.

  • SELECT emp# FROM Salary_tbl
  • WHERE jobName = Sales AND
  • (provisio + palkka) > 30,000 -> E10 ja E12

Tulos ei sisällä E13:a, koska provisiosarakkeessa on nolla-arvo. Varmistaaksemme, että rivi, jolla on nolla-arvo, otetaan mukaan, meidän on tarkasteltava yksittäisiä kenttiä. Lisäämällä työntekijän E13 provisio ja palkka, tuloksena on nolla-arvo. Ratkaisu on esitetty alla.

Suhteet

Suhteet ovat liima, joka pitää taulukot yhdessä. Niitä käytetään yhdistämään toisiinsa liittyviä tietoja taulukoiden välillä.

Suhteiden vahvuus perustuu siihen, miten toisiinsa liittyvän olion ensisijainen avain on määritelty. Heikko eli ei-identifioiva suhde on olemassa, jos liittyvän entiteetin ensisijainen avain ei sisällä vanhemman entiteetin ensisijaista avainkomponenttia. Yritystietokannan esimerkkejä ovat:

  • Customer(CustID, CustName)
  • Order(OrderID, CustID, Date)

Vahva eli identifioiva suhde on olemassa, kun liittyvän entiteetin ensiöavain sisältää emoyksikön ensiöavainkomponentin. Esimerkkejä ovat:

  • Kurssi(CrsCode, DeptCode, Description)
  • Luokka(CrsCode, jakso, luokka-aika…)

Suhteiden tyypit

Alempana on kuvauksia erityyppisistä suhteista.

Yksi moniin (1:M) -suhde

Yksi moniin (1:M) -suhteen pitäisi olla normi missä tahansa relaatiotietokannan suunnittelussa ja sitä esiintyy kaikissa relaatiotietokantaympäristöissä. Esimerkiksi yhdellä osastolla on monta työntekijää. Kuvassa 8.7 on esitetty yhden tällaisen työntekijän suhde osastoon.

Kuva 8.7. Esimerkki yhdestä moniin -suhteesta.

Yksi yhteen (1:1) -suhde

Yksi yhteen (1:1) -suhde on yhden entiteetin suhde vain yhteen toiseen entiteettiin ja päinvastoin. Sen pitäisi olla harvinainen missä tahansa relaatiotietokannan suunnittelussa. Itse asiassa se voi osoittaa, että kaksi entiteettiä kuuluu itse asiassa samaan tauluun.

Esimerkki COMPANY-tietokannasta on, että yksi työntekijä liittyy yhteen puolisoon ja yksi puoliso liittyy yhteen työntekijään.

Monesta moneen (M:N) -suhteet

Monesta moneen -suhteen osalta kannattaa ottaa huomioon seuraavat seikat:

  • Suhdetta ei voi toteuttaa sellaisenaan relaatiomallissa.
  • Suhde voidaan muuttaa kahdeksi 1:M-suhteeksi.
  • Se voidaan toteuttaa pilkkomalla ja tuottamalla joukko 1:M-suhteita.
  • Se käsittää yhdistetyn entiteetin toteuttamisen.
  • Luo kaksi tai useampia 1:M-suhteita.
  • Yhdistetyn entiteettitaulun on sisällettävä vähintään alkuperäisten taulujen ensisijaiset avaimet.
  • Linkitystaulussa on vieraan avaimen arvojen useita esiintymiä.
  • Lisäattribuutteja voidaan määrittää tarpeen mukaan.
  • Luolemalla komposiittientiteetti tai siltaentiteetti voidaan välttää M:N-suhteelle ominaiset ongelmat. Esimerkiksi työntekijä voi työskennellä monissa projekteissa TAI projektissa voi työskennellä useita työntekijöitä, riippuen liiketoimintasäännöistä. Tai opiskelijalla voi olla monta luokkaa ja luokassa voi olla monta opiskelijaa.

Kuvassa 8.8 on esitetty toinen M:N-suhteen toinen näkökulma, jossa työntekijällä on eri alkamispäivät eri projekteissa. Siksi tarvitsemme JOIN-taulun, joka sisältää EID:n, koodin ja aloituspäivämäärän.

Kuva 8.8. Esimerkki, jossa työntekijällä on eri aloituspäivämäärät eri projekteissa.

Esimerkki M:N-binäärisuhdetyypin kartoittamisesta

  • Tunnista jokaiselle M:N-binäärisuhteelle kaksi suhdetta.
  • A ja B edustavat kahta R:ään osallistuvaa oliotyyppiä.
  • Luo uusi relaatio S edustamaan R:ää.
  • S:n on sisällettävä A:n ja B:n PK:t. Nämä yhdessä voivat olla S-taulukon PK:t TAI nämä yhdessä toisen yksinkertaisen attribuutin kanssa uudessa R-taulukossa voivat olla PK.
  • Primääriavainten (A ja B) yhdistelmästä tulee S:n primääriavain.

Yksilöllinen suhde (rekursiivinen)

Yksilöllisellä suhteella, jota kutsutaan myös rekursiiviseksi, tarkoitetaan suhdetta, jossa saman oliojoukon esiintymien välillä on suhde. Tässä suhteessa primääri- ja vierasavain ovat samat, mutta ne edustavat kahta entiteettiä, joilla on eri roolit. Katso esimerkki kuvasta 8.9.

Joillekin unaarisessa suhteessa oleville entiteeteille voidaan luoda erillinen sarake, joka viittaa saman entiteettijoukon ensisijaiseen avaimeen.

Kuva 8.9. Esimerkki unaarisesta suhteesta.

Ternaariset suhteet

Ternaarinen suhde on suhdetyyppi, johon liittyy kolmen taulukon välisiä monista moniin -suhteita.

Kuvassa 8.10 on esimerkki ternäärisen suhdetyypin kartoittamisesta. Huomaa, että n-ary tarkoittaa usean taulukon suhdetta. (Muista, että N = monta.)

  • Luo jokaiselle n-ary (> 2) -suhteelle uusi relaatio kuvaamaan suhdetta.
  • Uuden relaation ensiöavain on yhdistelmä niiden osallistuvien entiteettien ensiöavainten yhdistelmästä, jotka pitävät hallussaan N:n (monta) puolta.
  • Useimmissa n-alkuisen suhteen tapauksissa kaikilla osallistuvilla olioilla on moni-puoli.

Kuva 8.10. Esimerkki ternaarisesta suhteesta.
vaihtoavain: kaikki ehdokasavaimet, joita ei ole valittu ensisijaiseksi avaimeksiehdokasavain: yksinkertainen tai yhdistetty avain, joka on ainutkertainen (kahdella taulukon rivillä ei saa olla samaa arvoa) ja minimaalinen (jokaista saraketta tarvitaan)

tunnusomaiset entiteetit: entiteetit, jotka antavat lisätietoa toisesta taulusta

yhdistelmäattribuutit: attribuutit, jotka koostuvat attribuuttien hierarkiasta

yhdistelmäavain: koostuu kahdesta tai useammasta attribuutista, mutta sen on oltava minimaalinen

riippuvaiset entiteetit: nämä entiteetit ovat merkitykseltään riippuvaisia muista taulukoista

johdetut attribuutit: attribuutit, jotka sisältävät muista attribuuteista laskettuja arvoja

johdetut entiteetit: vrt. riippuvaiset entiteetit

EID: työntekijän tunniste (ID)

entiteetti: reaalimaailmassa oleva asia tai objekti, jolla on itsenäinen olemassaolo ja joka voidaan erottaa muista objekteista

entiteettisuhdetietomalli (engl. Entity Relationship) (englanniksi: ”entity relationship”, ER) Tietomallia (englanniksi: ”entity relationship”): sanotaan myös nimellä ”ER Schema” (suom. ER-skema); esitellään ”ER-skema” -kuviolla. Nämä soveltuvat hyvin tietokantojen kanssa käytettävään tietomallinnukseen.

entiteettisuhdeskeema: ks. entiteettisuhdetietomalli

entiteettijoukko: kokoelma entiteettityyppisiä entiteettejä tiettynä ajankohtana

entiteettityyppi: kokoelma samankaltaisia entiteettejä

ulkomaa-avain (FK, foreign key): Taulukon attribuutti, joka viittaa ensisijaiseen avaimeen jossakin toisessa taulukossa TAI voi olla nolla

eriytymätön entiteetti:

ydin: ks. riippumaton entiteetti

avain: attribuutti tai attribuuttien ryhmä, jonka arvojen avulla voidaan yksilöidä yksikäsitteisesti yksittäinen entiteetti entiteettijoukossa

moniarvoiset attribuutit: attribuutit, joilla on joukko arvoja kullekin entiteetille

n-ary: useat taulukot suhteessa toisiinsa

null: erityinen, tietotyypistä riippumaton symboli, joka tarkoittaa joko tuntematonta tai soveltumatonta; se ei tarkoita nollaa tai tyhjää

rekursiivinen suhde: ks. unaarinen suhde

suhteet: entiteettien väliset assosiaatiot tai vuorovaikutukset; käytetään yhdistämään toisiinsa liittyviä tietoja taulukoiden välillä

suhteen vahvuus: perustuu siihen, miten liittyvän entiteetin ensisijainen avain on määritelty

sekundääriavain attribuutti, jota käytetään yksinomaan hakutarkoituksiin

yksinkertaiset attribuutit: piirretään atomisista arvoalueista

SIN: sosiaalivakuutusnumero

yksilöarvoiset attribuutit: ks. yksinkertaiset attribuutit

tallennettu attribuutti: tallennetaan fyysisesti tietokantaan

yksilöity suhde (englanninkielinen termi): suhdetoimintatyyppi, joka käsittää useiden (many to many) suhteiden muodostamisen kolmesta (three) eri (taulukoiden) välillä.

unäärinen suhde: suhde, jossa saman oliojoukon esiintymien välillä on suhde.

  1. Mihin kahteen käsitteeseen ER-mallinnus perustuu?
  2. Kuvassa 8.11 esitetty tietokanta koostuu kahdesta taulusta. Vastaa tämän kuvan avulla kysymyksiin 2.1-2.5.
    Kuva 8.11. Director- ja Play-taulukot kysymystä 2 varten, tekijä A. Watt.
    1. Tunnista kummankin taulukon ensisijainen avain.
    2. Tunnista vierasavain PLAY-taulukossa.
    3. Tunnista kandidaattiavaimet molemmissa taulukoissa.
    4. Piirrä ER-malli.
    5. Onko PLAY-taulukossa viittaus eheys? Miksi vai miksi ei?
  3. Määrittele seuraavat termit (saatat joutua käyttämään Internetiä joidenkin termien löytämiseen):
    skeema
    isäntäkieli
    tiedon alakieli
    tietomäärittelykieli
    unäärinen relaatio
    ulkoinen avain
    virtuaalinen relaatio
    yhteensopivuus
    yhteenliittymäavain
    yhteenliittymäavain
    linkkitaulu
  4. RRE-kuorma-autoyhtiön tietokantaan kuuluu kuvassa 8 esitetyt kolme taulua.12. Vastaa kuvion 8.12 avulla kysymyksiin 4.1-4.5.
    Kuva 8.12. Truck-, Base- ja Type-taulukot kysymystä 4 varten, laatinut A. Watt.
    1. Tunnista kunkin taulukon ensisijainen ja vieras avain (-avaimet).
    2. Onko TRUCK-taulussa entiteetti- ja viite-eheys? Miksi tai miksi ei? Selitä vastauksesi.
    3. Millainen suhde on TRUCK- ja BASE-taulujen välillä?
    4. Miten monta entiteettiä TRUCK-taulu sisältää?
    5. Tunnista TRUCK-taulun ehdokasavain(t).
      Kuva 8.13. Asiakas- ja BookOrders-taulukot kysymystä 5 varten, tekijä A. Watt.
  5. Esitellään, että käytössäsi on kuvan 8.13 mukainen tietokanta, joka koostuu kahdesta taulukosta. Käytä kuviota 8.13 vastataksesi kysymyksiin 5.1-5.6.
    1. Tunnista ensisijainen avain kummassakin taulussa.
    2. Tunnista vierasavain BookOrders-taulussa.
    3. Onko kummassakaan taulussa ehdollisia avaimia?
    4. Piirrä ER-malli.
    5. Käytetäänkö BookOrders-taulussa viitteellistä eheyttä? Miksi vai miksi ei?
    6. Sisältävätkö taulukot tarpeetonta tietoa? Jos on, niin mikä(t) taulukko(t) ja mitä redundantti tieto on?
  6. Luettele kuvassa 8.14 olevan opiskelijat-taulukon osalta kaikki mahdolliset ehdokasavaimet. Miksi valitsit nämä?
    Kuva 8.14. Opiskelijan taulukko kysymystä 6 varten, tekijä A. Watt.
    Kuvio 8.15. Koulutietokannan ERD kysymyksiä 7-10 varten, laatinut A. Watt.

    Käytä kuvassa 8.15 esitettyä koulutietokannan ERD:tä vastataksesi kysymyksiin 7-10.

  7. Tunnista kaikki ERD:ssä olevat ytimet sekä riippuvaiset ja luonteenomaiset entiteetit.
  8. Mitkä taulukoista edistävät heikkoja suhteita? Vahvoja suhteita?
  9. Katsottaessa kutakin kuvassa 8.15 esitetyn koulun tietokannan taulua, millä attribuutilla voisi olla NULL-arvo? Miksi?
  10. Mitkä taulukoista on luotu monista moniin -suhteiden tuloksena?

Katso myös liite B: Esimerkkejä ERD-harjoituksista

Attribuutio

Tämä tietokantojen suunnittelun luku (mukaan lukien kuvat, ellei toisin mainita) on johdannaiskopio teoksesta Data Modeling Using Entity-Relationship Model, jonka on kirjoittanut Nguyen Kim Anh ja joka on lisensoitu Creative Commons Nimeämislisenssillä 3.0 -lisenssi

Jäljempänä olevan materiaalin on kirjoittanut Adrienne Watt:

  1. Nulls-osio ja esimerkki
  2. Keskeiset termit
  3. Harjoitukset

.

Vastaa

Sähköpostiosoitettasi ei julkaista.