Pitsataksi tietokanta

Tietokanta avustaa kansainvälisen pitsataksi yrityksen toimintaa. Se sisältää tietoa yrityksen tuotetyypeistä (relaatio ProductType) ja niiden annoksista (relaatio Product). Tuotetyypistä voi olla monta erilaista annoskokoa, esimerkiksi pieni, normaali ja suuri. Annokset identifioidaan tuotetyypin sisäisesti ModelID attribuutilla. Tuotetyypit kuuluvat tuoteryhmiin. Tuoteryhmille on määritelty listausjärjestys, jonka mukaisesti tuoteryhmät järjestetään hinnastoon. Tämä järjestystekijä annetaan relaatiossa Category.

Tietokanta sisältää myös tietoa käytettävistä raaka-aineista (relaatio Material) ja niiden käytöstä tuotteisa (relaatio Contents). Joitakin raaka-aineita myydään myös lisukkeina annoksiin. Raaka-aineen lisukehinnan määrittelee attribuutti AddOnPrice. Kaikki hinnat ovat euroina.

Yritys on monikielinen ja hinnastoja on saatavissa usealla kielellä. Kaikkien tuotteiden, raaka-aineiden ja tuoteryhmien eri kieliset nimet on tallennettu relaatioon ObjectName. Relaatiossa Object on tuotetyyppien, tuoteryhmien ja raaka-aineiden tunnukset. Relaatio takaa, ettei samaa tunnusta käytetä eri kohteille. Asiakastiedot on tallennettu relaatioon Customer. Relaatio Ordered sisältää tilausten tiedot (relaation kummallinen nimi johtuu siitä, että luonnollisempi nimi Order on SQL:n varattu sana). Relaatio pitää sisällään sekä tiedot jo toimitetuista, että vielä toimittamattomista tilauksista. Relatioissa ItemOrdered ja AddOn on tiedot tilausten sisällöstä.  Tilaus annetaan toimitettavaksi jollekin yrityksen läheteistä. Näiden tiedot on tallennettu relaatioon DeliveryBoy. Tilauksen toimitukset kirjataan relaatioon Delivery. Tässä relaatiossa on tietoja sekä jo hoidetuista että hoitamattomista toimituksista. Attribuutin DeliveredBy arvo ei voi olla tyhjä, vaan se kytkee aina toimituksen lähettiin. Attribuutille WhenDelivered annetaan tyhjästä poikkeava arvo kun toimitus on hoidettu.

Tietokannassa on tietoja myös yhtiön autoista. Autokohtaiset tiedot on tallennettu relaatioon Car. Relaatio Driver pitää sisällään tietoa autojen käyttäjistä. Jos lähetti on joutunut yhtiön autolla onnettomuuteen, tiedot näistä kirjataan relaatioon Accident. Attribuutti Role relaatiossa Accident ilmoittaa oliko lähetti onnettomuuden aiheuttaja vaiko syytön osapuoli. Autot katsastetaan säännöllisesti vuosittain. Tiedot katsastuksista kirjataan relaatioon Inspection. Katsastuksissa löytyneet viat kirjataan relaatioon Problem.