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
- Olemassaoloriippuvuus
- Kind of Entities
- riippuvaiset entiteetit
- Riippuvaiset entiteetit
- Ominaisuusoliot
- Attribuutit
- Astribuuttien tyypit
- Yksinkertaiset attribuutit
- Yhdistelmäattribuutit
- Moniarvoiset attribuutit
- Johdetut attribuutit
- avain
- Avainten tyypit
- Kandidaattiavain
- Yhdistelmäavain
- Primääriavain
- Toissijainen avain
- Vaihtoehtoinen avain
- Vieras avain
- Nulls
- Esimerkki nollan käytöstä
- Suhteet
- Suhteiden tyypit
- Yksi moniin (1:M) -suhde
- Yksi yhteen (1:1) -suhde
- Monesta moneen (M:N) -suhteet
- Yksilöllinen suhde (rekursiivinen)
- Ternaariset suhteet
- Attribuutio
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.
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:
- Käytä yhdistelmää assosioituneiden taulujen vierasavaimista, jos ne ovat yksikäsitteisiä
- Käytä yhdistelmää vierasavaimista ja määrittelevästä sarakkeesta
- 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:
- Käytä yhdistelmää, joka muodostuu vieraasta avaimesta ja määrittelevästä sarakkeesta
- 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.
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’}
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.
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.
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ää.
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.
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.
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.
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.
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.
- Mihin kahteen käsitteeseen ER-mallinnus perustuu?
- Kuvassa 8.11 esitetty tietokanta koostuu kahdesta taulusta. Vastaa tämän kuvan avulla kysymyksiin 2.1-2.5.
- Tunnista kummankin taulukon ensisijainen avain.
- Tunnista vierasavain PLAY-taulukossa.
- Tunnista kandidaattiavaimet molemmissa taulukoissa.
- Piirrä ER-malli.
- Onko PLAY-taulukossa viittaus eheys? Miksi vai miksi ei?
- 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 - RRE-kuorma-autoyhtiön tietokantaan kuuluu kuvassa 8 esitetyt kolme taulua.12. Vastaa kuvion 8.12 avulla kysymyksiin 4.1-4.5.
- Tunnista kunkin taulukon ensisijainen ja vieras avain (-avaimet).
- Onko TRUCK-taulussa entiteetti- ja viite-eheys? Miksi tai miksi ei? Selitä vastauksesi.
- Millainen suhde on TRUCK- ja BASE-taulujen välillä?
- Miten monta entiteettiä TRUCK-taulu sisältää?
- Tunnista TRUCK-taulun ehdokasavain(t).
- 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.
- Tunnista ensisijainen avain kummassakin taulussa.
- Tunnista vierasavain BookOrders-taulussa.
- Onko kummassakaan taulussa ehdollisia avaimia?
- Piirrä ER-malli.
- Käytetäänkö BookOrders-taulussa viitteellistä eheyttä? Miksi vai miksi ei?
- Sisältävätkö taulukot tarpeetonta tietoa? Jos on, niin mikä(t) taulukko(t) ja mitä redundantti tieto on?
- Luettele kuvassa 8.14 olevan opiskelijat-taulukon osalta kaikki mahdolliset ehdokasavaimet. Miksi valitsit nämä?
Käytä kuvassa 8.15 esitettyä koulutietokannan ERD:tä vastataksesi kysymyksiin 7-10.
- Tunnista kaikki ERD:ssä olevat ytimet sekä riippuvaiset ja luonteenomaiset entiteetit.
- Mitkä taulukoista edistävät heikkoja suhteita? Vahvoja suhteita?
- Katsottaessa kutakin kuvassa 8.15 esitetyn koulun tietokannan taulua, millä attribuutilla voisi olla NULL-arvo? Miksi?
- 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:
- Nulls-osio ja esimerkki
- Keskeiset termit
- Harjoitukset
.