Arvo (value) Taulun sarakkeessa esiintyvä yksittäinen arvo, esim. luku 5.

Samankaltaiset tiedostot
Tietokantojen suunnittelu, relaatiokantojen perusteita

HELIA 1 (17) Outi Virkki Tiedonhallinta

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Relaatiomalli ja -tietokanta

Tietovarastojen suunnittelu

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIETOVARASTOJEN SUUNNITTELU

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

HELIA 1 (12) Outi Virkki Tiedonhallinta

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

HELIA 1 (20) Outi Virkki Tiedonhallinta

2. Käsiteanalyysi ja relaatiomalli

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Luento 3 Tietokannan tietosisällön suunnittelu

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

TIETOKANNAT JOHDANTO

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Tietokantakurssit / TKTL

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

TIETOKANNAN SUUNNITTELU

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

HELIA 1 (14) Outi Virkki Tiedonhallinta

Fyysinen suunnittelu

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

FYYSINEN SUUNNITTELU

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

Tietokantojen perusteet

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

FYYSINEN SUUNNITTELU

Hovi Huotari Lahdenmäki TIETO- KANTOJEN SUUNNITTELU & INDEKSOINTI

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Normalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5

3. Käsiteanalyysi ja käsitekaavio

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

HELIA 1 (14) Outi Virkki Tiedonhallinta

SQL - STRUCTURED QUERY LANGUAGE

HELIA 1 (15) Outi Virkki Tiedonhallinta

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Tietokannan suunnittelu

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

HELIA 1 (11) Outi Virkki Tiedonhallinta

Luento 2: Tiedostot ja tiedon varastointi

Käsiteanalyysi prosessina ja tarveanalyysi

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

Tietokannan suunnittelu

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

CSE-A1200 Tietokannat

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokanta (database)

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

UML - unified modeling language

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

TK Palvelinympäristö

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Kari Aalto Saariston IT

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

SELECT-lauseen perusmuoto

Tietokannan suunnittelu

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

D B. Tiedostojen käsittely

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

A TIETOKANNAT, 3 op Syksy TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

HELIA TIKO-05 1 (20) ICT03D Tieto ja tiedon varastointi O.Virkki

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokannan suunnittelusta Harri Laine 1

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Transkriptio:

Page 1 of 14 Tulostuspäivä: Liite 4 Termit Alikäsite (sub-entity, supertype) Pääkäsitteen sisällä oleva käsite, joka perii pääkäsitteen tiedot ja yhteydet. Alikäsitteellä voi lisäksi olla omia tietoja ja yhteyksiä. Alikäsitteen sisällä voi olla toisia alikäsitteitä. Vrt. aliluokka, erikoistaminen, yleistäminen, yliluokka. Aliluokka (sub class) Yleistyksen yhteydessä yleisemmän luokan aliluokka eli siis erikoistus. Vrt. alikäsite, erikoistaminen, yleistäminen, yliluokka. Allas (pool) Ks. tietokantapuskuriallas. ANSI (American National Standards Institute) Arvo (value) Taulun sarakkeessa esiintyvä yksittäinen arvo, esim. luku 5. Arvojoukko (domain) Sarakekohtainen sallittujen arvojen joukko. Voidaan määritellä CREATE TABLE -lauseessa tai joissakin tuotteissa erillisellä CREATE DOMAIN - lauseella. Assosiaatio (association) Yhteys kahden käsitteen (luokan) välillä. Assosiatiivinen käsite (associative entity) Moni-moneen-yhteydestä syntynyt käsite. Attribuutti (attribute) 1. Relaatiomallissa otsake, joka ilmaisee arvon merkityksen relaation monikossa; relaatiotietokantatuotteissa tauluissa on vastaavana terminä sarake. 2. Käsiteanalyysissä tarkoittaa käsitteen tietoa. 3. Luokan osa, joka sisältää arvon. Avainehdokas (candidate key) Taulusarake, jonka arvon tulee olla yksilöivä. Avaineheys (entity integrity) Coddin relaatiomallin eheyssääntö, jonka mukaan taulun perusavaimen arvo on pakollinen, eikä siis saa puuttua. Hoidetaan NOT NULL - määreellä CREATE TABLE -lauseessa. Avaimen täydellisyys (entity integrity) Ks. avaineheys. Bittikarttaindeksi (bitmap index) Tavanomaisen b-puun sijasta indeksoidun sarakkeen tiedoista syntyy bittijono kutakin erilaista arvoa varten. Soveltuu sarakkeille, joissa on kohtuullisen vähän erilaisia arvoja - edellyttäen, että tauluun tulee harvoin lisäyksiä, päivityksiä ja poistoja. Nopeita tietynlaisissa monimuotoisissa kyselyissä, sopivat siksi tietovarastokantoihin. Ei kaikissa relaatiokannoissa.

Page 2 of 14 BOM (Bill of Materials, tuoterakenne) Käsitemallin rakenne, jossa on käsitteen monimoneen-yhteys itseensä purettuna moni-moneen-käsitteeksi. Relaatiokannassa isätaulu sekä lapsitaulu, josta on kaksi viiteavainta isätauluun. B-puu (B-tree) Yleisin indeksityyppi, johon kopioidaan aakkos- tai numerojärjestyksessä yksi tai useampia sarakkeita (yleensä) yhdestä taulusta. Alimmalta lehtisivutasolta on osoitin kuhunkin tauluriviin. Lehtisivutasolle on vielä oma indeksipuunsa, jonka ylintä tasoa kutsutaan juurisivuksi. BT-predikaatti (Boolean Term predicate, BT predicate) Jos predikaatin perusteella voidaan hylätä rivi, predikaatti on BT, muutoin non-bt. Non-BT-predikaatit voivat tehdä WHERE-lausekkeen liian vaikeaksi optimointiohjelmalle: saantipolku ei ole paras mahdollinen. Jos WHERE-lausekkeessa ei ole yhtään OR-operaattoria, kaikki predikaatit ovat BT. CASE (Computer Aided Software Engineering) CASE-ohjelmistoilla voidaan laatia käsitemalli kuvauksineen sekä generoida siitä halutun tietokantajärjestelmän taulujen ja indeksien perustamiskäskyt. CPU-jonoaika Ohjelma joutuu odottamaan, sillä korkeammalla prioreettitasolla toimivat ohjelmat ovat varanneet kaikki suorittimet. Data mart Yhdestä operatiivisesta järjestelmästä poimittu "pienempi" tietovarasto, suomeksi käytetty termejä paikallisvarasto, alitietovarasto ja otoskanta. Usein aihealuekohtainen tai organisaatio-yksikkö-kohtainen (esim. osastotasolla). Data mart voi olla joko johdettu isommasta tietovarastosta (alitietovarasto) tai sitten erillinen ja itsenäinen. DBMS (Data Base Management System) Ks. TKHJ. Denormalisointi (denormalization) Normalisoinnista tinkiminen tietoja toistamalla. Melko yleistä tietovarastokannoissa; tarpeen joskus hakujen nopeuttamiseksi myös operatiivisissa kannoissa. Default Ks. oletusarvo. Dimensio (dimension) Tähtimallissa ulottuvuudet tallennetaan dimensiotauluihin. Dimensio kuvaa jotakin seurattavaa näkökulmaa, kuten tuotetta, asiakasta, kalenteria tai organisaatioyksikköä. Dimensioissa on usein hierarkiaa. EER-kaavio (Enhanced ER diagram) ER-kaavion laajennus, jolla voidaan kuvata mm. periytymistä. Ehdollinen yhteys Kahden käsitteen välinen yhteys, jonka mukaan esiintymän ei ole pakko liittyä toiseen esiintymään. Kuvataan käsitekaaviossa yhteysviivalla olevalla pienellä ympyrällä. Eheys (integrity) Tietokannan tila, jossa tietoihin liittyvät rajoitukset ja säännöt ovat voimassa. Eheysehto (integrity constraint) Ehto, joka säätää tietokannan sallitut tilat (tauluissa yhtäaikaa sallitut rivit).

Page 3 of 14 Erikoistaminen (specialization) Käsitteen yleistäminen toisesta näkökulmasta: pääkäsitteestä (yliluokasta) erikoistetaan alikäsite (aliluokka). ER-kaavio (ER diagram) Ks. Käsitemalli. Esiintymä (occurrence) Käsitteen tietojen mukainen reaalimaailman todellisten arvojen joukko; vrt. taulun rivi. Esim. Asiakas-käsitteen esiintymiä ovat yksittäiset, yksilöidyt asiakkaat. Fakta (fact) Tähtimallin tai kuution "keskellä" oleva osa, johon liittyy yleensä useita dimensioita. Tähtimallissa tallennetaan useimmiten tapahtuman tyyppisiä tietoa faktatauluun (esim. myynti- tai kirjanpitotapahtumia). Faktatauluissa on yleensä numerotietoa, kuten myynti, kpl, verot tai saldo. Näitä tietoja summataan dimensiotietojen rajausten perusteella. Faktataulut saattavat kasvaa hyvin suuriksi dimensioihin verrattuna. FETCH SQL-kohdistinkäsittelyssä rivin nouto kyselyn (virtuaalisesta) tulostaulusta ohjelman muuttujiin. Funktionaalinen riippuvuus (functional dependency) Kenttä A on funktionaalisesti riippuvainen kentästä B, jos A:ta kohti on korkeintaan yksi B:n arvo kunakin ajanhetkenä. Käytetään normalisoinnissa. Hajaluku (random read) Ohjelma viittaa ei-peräkkäisiin taulu- tai lehtisivuihin; kaikki sivut ovat yhtä suosittuja. Vastakohta peräkkäisluku, välimuotoja harppova peräkkäiskäsittely ja kuumat sivut. Hakupolku Ks. saantipolku. Herätin (trigger) Herätin eli triggeri on tietokantaan tallennettu ohjelmamoduuli, joka käynnistyy automaattisesti tauluun kohdistuvasta SQL-käskystä. Eri SQL-käskyille on omat triggerinsä: UPDATE-, INSERT- ja DELETE- triggerit. Triggerit kirjoitetaan SQLkielellä ja yleensä jollakin proseduraalisella laajennoksella, kuten SQL Serverin Transact-SQL- tai Oraclen PL/SQL-kielellä tai esim. Javalla (käytettävät kielet ovat tuotekohtaisia). Hieno siivilä Yksinkertainen tarkistus, jonka avulla taulun mahdollinen denormalisointitarve voidaan paljastaa jo siinä vaiheessa, kun liitoslausetta ollaan kirjoittamassa. Ks. luku 16. Ilmentymä (instance) Ks. esiintymä. I/O (Input/Output operation) Yleensä sama kuin disk I/O: keskusyksikkö pyytää sivua levypalvelimelta (input, disk read) tai lähettää päivitetyn sivun levypalvelimille (output, disk write). Tietokantasivujen kirjoitus on yleensä asynkronista eikä siis suoranaisesti vaikuta vasteaikaan. Tietokantasivujen hajaluku on synkronista, mutta peräkkäisluku yleensä asynkronista. Hajalukuakin on kahta tyyppiä: jos pyydetty sivu on levypalvelimen välimuistissa (read cache), ohjelma joutuu odottamaan noin yhden millisekunnin - muutoin sivu haetaan pyörivältä kiintolevyltä, jolloin ohjelma joutuu odottamaan noin 10 millisekuntia. Kiintolevylle asti joutuvien hajalevylukujen määrä on nykyään ykeensä vasteajan suurin osatekijä. Huom! Käyttöjärjestelmän mittaama I/O-

Page 4 of 14 määrä sisältää levykirjoitukset ja yksi asynkroninen levyluku voi tuoda keskusmuistiin kymmeniä sivuja. TKHJ:n mittaama synkronisten levylukujen määrä on relevantimpi suure, mutta sekin sisältää ne levyluvut, jotka löytävät etsimänsä sivun levypalvelimen välimuistista. Indeksi (index) Tietorakenne, jonka avulla voidaan nopeuttaa tietyt ehdot täyttävien taulurivien hakua. Yleisin indeksityyppi on B-puu-indeksi. Toinen indeksityyppi on bittikarttaindeksi. Indeksirivi Virtuaalinen käsite, jota käytetään VQUBE-pikaennusteessa. Indeksi nähdään minitauluna, jossa on yhtä monta riviä kuin taulussa, johon se viittaa. Indeksin yläsivut jätetään huomiotta, samoin tutkittavan indeksiviipaleen ensimmäisen indeksirivin paikallistaminen. Indeksiviipale Indeksin osa (normaalisti peräkkäisistä riveistä koostuva), jonka TKHJ tutkii, kun se ei lue läpi koko indeksiä. Index matching TKHJ lukee indeksistä yhden tai useamman predikaatin rajaaman viipaleen. Index only Nopeutensa ansiosta yhä suositumpi saantipolku: tulosrivi rakennetaan indeksin lehtisivun riveistä, taulusivuja ei lueta ollenkaaan. Nopeutus on erityisen suuri, jos taulusta olisi luettava useita taulurivejä, jotka eivät ole peräkkäin (samalla taulusivulla tai peräkkäisillä taulusivulla). Kaksi edellytystä: riittävästi indeksisarakkeita (paksu indeksi) ja optimointiohjelma, joka ymmärtää, että taulusivuja ei tarvitse lukea. Index screening TKHJ ei lue tauluriviä, jos se toteaa indeksirivin luettuaan, että rivi ei läpäise predikaattia. Isä-lapsi-yhteys Yksi-moneen-yhteys kahden käsitteen tai taulun välillä. Esim. Lasku- Laskurivi: tiettyä laskua ("isä") kohti voi olla useita laskurivejä ("lapsi") ja yhtä laskuriviä kohti on yksi lasku. Isätaulu (parent table, master table, referenced table) Yksi-moneen-yhteyden taulu, jossa yhtä riviä kohti voi olla monta riviä lapsitaulussa (lapsitaulussa on viiteavain isätauluun). Johdettu tieto (derived data) Käsitteen tieto, joka on laskettu toisten tietojen avulla; vastakohtana ns. perustieto. Taulun sarake, joka on laskettu toisten sarakkeiden avulla. Juurisivu (root page) B-puun ylin taso, viittaa välitason sivuille. Karakteristinen käsite (characteristic entity) Riippuva käsite, joka liittyy yksi-moneenyhteydellä yhteen toiseen käsitteeseen. Esim. Projektikokous-käsite, joka liittyy Projektikäsitteeseen. Kardinaliteetti Erilaisten arvojen määrä sarakkeessa tai sarakeyhdistelmässä. Karkea siivilä Yksinkertainen tarkistus, jonka avulla voidaan paljastaa ilmeisen puutteellinen indeksointi tietylle SELECT-lauseelle jo siinä vaiheessa, kun ohjelmaa ollaan kirjoittamassa.

Page 5 of 14 Keinoavain (artifical key) Ks. surrogaatti. Kiintolevy (disk drive) Pyörivä levy, joka voi suorittaa vain yhden palvelupyynnön (luku tai kirjoitus) kerrallaan. Nykyään usein laitteiston hitain osa - palveluaika on pitkä ja jonoaika voi olla hyvin pitkä, jos kiintolevy on ylikuormitettu (drive busy yli 25 %) Kohde ks. käsite. Kohdealue (Slice of reality, Universe of Discourse). Osa reaalimaalimaa, joka on käsiteanalyysin eli mallintamisen kohteena. Kolmen tähden indeksi (three-star index) Paras mahdollinen indeksi tietylle SELECTlauseelle. Ks. luku 12. Kooste (aggregation) Luokka koostuu toisesta luokasta, esim. Auto koostuu osista. Vahvassa koosteessa (composition) osien elinkaari on sama kuin kokonaisuuden elinkaari. Kursori (kohdistin, cursor) Upotetun SQL-kielen konstruktio, jonka avulla tulostaulu siirretään sovellusohjelmalle rivi kerrallaan FETCH-kutsujen myötä. Kuuma sivu 1. Sivu, johon viitataan usein ja joka pysyy sen vuoksi altaassa; hyvä asia. 2. Sivu, jota päivitetään usein ja joka aiheuttaa sen vuoksi lukko-odotuksia (jos käytetään sivulukitusta); paha asia. Kuuma rivi Aiheuttaa lukko-odotuksia (rivilukitus). Kysely (query) Tietokantaan SQL-kielellä tehty haku, joka tuo hakuehdoissa määritellyt rivit. Laajemmin ottaen myös päivitys-, lisäys- ja poisto-käskyt sisällytetään kyselytermin alle. Käsite (entity). Kohdealueen objekti, asia, henkilö, käsite tai paikka, josta halutaan tallentaa tietoa tietokannassa myöhempää käyttöä varten. Tiedot (attribuutit) kuvaavat käsitettä; perusavaintieto yksilöi käsitteen esiintymät. Käsitteet määritellään käsiteanalyysissä. Relaatiotietokannassa käsitettä vastaa termi taulu ja olioanalyysissä termi luokka. Käsiteanalyysi (conceptual analysis, data modeling) Menetelmä, jolla mallinnetaan kohdealuetta ja muodostetaan käsitemalli. Perustuu alunperin P. Chenin ERmallinnusmenetelmään (Entity Relationship Modelling). Käsitekaavio Ks. Käsitemalli. Käsitemalli (conceptual model, ER-Diagram). Käsiteanalyysin tuloksena syntyvä (graafinen) kaavio, joka kuvaa kohdealuetta. Käsitemalli toimii yhteisenä viitealustana käyttäjien ja tietokantasuunnittelijoiden kesken. Toisaalta käsitemalli toimii tulevan tietokannan piirustuksina. Käsitemalli on tuote- ja tietokantariippumaton looginen tietosisällön kuvaus. Käsitemalli sisältää käsitteitä, niiden välisiä yhteyksiä sekä käsitteisiin liittyviä ja niitä kuvaavia tietoja. Käyttöoikeus (access right) Oikeus käyttää tietokantaa tai yleisemmin tietojärjestelmän tiedostoja ja ohjelmia esimerkiksi lukemalla, päivittämällä tai muuttamalla muiden

Page 6 of 14 käyttöoikeuksia. Lapsitaulu (referencing table, dependent table, detail table) Isä-lapsi-suhteen eli yksimoneen-suhteen taulu, jossa on monta riviä yhtä isä-taulun riviä kohti. Lapsitaulussa on isätaulun perusavaimeen viittava viiteavain. Lehtisivu (Leaf page). B-puu-indeksin alin taso. Lehtisivut on ketjutettu indeksin avaimen mukaisessa järjestyksessä. Indeksin luonnin jälkeen lehtisivut ovat pääosin myös fyysisesti vierekkäin. Lehtisivulla olevat rivit viittaavat suoraan tietokannan taulusivuille. Levy-I/O Ks. I/O. Liitos (join) Relaatioalgebran operaatio, jossa sarakkeita haetaan useammasta taulusta (tai liittämällä taulu itseensä) Relaatiokannoissa liitos tehdään SQL-kielellä. Alalajeja ovat ulkoliitos ja luonnollinen liitos. Liitosmenetelmä (Join Method) Optimointiohjelman valitsema liitoksen toteutustapa, esim. silmukkaliitos (nested loop) tai lomitusliitos (merge scan). Lomitusliitos (merge scan) Taulu tai taulut lajitellaan tarvittaessa yhdenmukaiseen järjestykseen ja tulosrivit etsitään lukemalla tauluja tai työtiedostoja limittäin. Ks. Liitosmenetelmä. LRU-algoritmi (Least Recently Used) Altaissa ja välimuisteissa aikojen alusta lähtien käytetty perussääntö: uusi sivu kirjoitetaan kauimmin käyttämättä olleen sivun päälle. Lukitusaste Taulusivun tai taulurivin lukitusaste on X %, jos se on lukittu X % ajasta. Lukko-odotuksia alkaa esiintyä, kun jonkin sivun tai rivin lukitusaste on yli 10 % (ruuhkatunnin keskiarvo). Eräät TKHJ:t lukitsevat myös lehtisivun tai indeksirivin. Lukko (lock) Loogisen eheyden turvaava sarjallistamisen väline, joka yleensä kohdistuu taulusivuun tai tauluriviin. Tavallisesti kolme voimakkuustasoa: Share, Update ja exclusive. Jos yksi ohjelma on lukinnut tietyn taulusivun tai taulurivin, ainakin muut tämän sivun tai rivin päivittämistä yrittävät ohjelmat joutuvat odottamaan, kunnes ensimmäinen ohjelma vapauttaa X-lukon vahvistuskohdassa. Lumihiutalemalli (snowflake schema) Tähtimallin variaatio, jossa myös dimensiot on normalisoitu eli tiedon toisteisuutta on vältetty. Näin dimensioista syntyy lisää tauluja, mistä syystä rakenne muistuttaa lumihiutaletta. Lumihiutalemallia pidetään usein monimutkaisempana ja suorituskyvyltään hitaampana kuin tähtimallia. Luokka (class) Oliomallinnuksessa termi luokka vastaa käsiteanalyysin termiä käsite. Määrittää samankaltaisten olioiden rakenteen ja käyttäytymisen. Luokkakaavio (class diagram) Oliomallinnuksessa käytetty luokkien ja niiden välisten suhteiden esittämisessä käytetty notaatio. Luonnollinen perusavain (natural key) Käsitteen tai taulun perusavain, joka sisältää jotakin informaatiota, kuten tilinumero, tuotekoodi tai henkilötunnus. Toinen perusavaintyyppi on surrogaatti.

Page 7 of 14 Läpiluku (full scan) Haku, jossa käydään läpi taulun tai indeksin kaikki rivit. Läpäisykerroin (filter factor) Predikaatin ominaisuus, jonka arvo riippuu taulun sisällöstä: läpäisykerroin on X %, jos X % lähtötaulun riveistä läpäisee predikaatin. Vaikuttaa ratkaisevasti sekä optimointiohjelman että ihmisen tekemiiin SQL-keston ennusteisiin - ja tietysti myös todellisiin kestoihin. Ihminen voi mitata tietyn predikaatin läpäisykertoimen tietyllä hetkellä (SELECT COUNT). Optimointiohjelma arvioi läpäisykertoimien arvot tilastotaulujen avulla. Mallintaminen (modeling) Ks. käsiteanalyysi. MC (number of matching columns). Indeksin käyttötapaa kuvaava saantipolun ominaisuus, jonka selitteet yleensä raportoivat: indeksiviipaleen rajaukseen osallistuvien sarakkeiden määrä. Jos MC = 3, indeksin kolme ensimmäistä saraketta rajaavat tutkittavan indeksiviipaleen. Merge scan Ks. lomitusliitos. Metamalli (meta model) Mallinnus (esim. käsitemalli), joka kuvaa jotakin tietomallia (ks. Tietomalli). Esimerkiksi käsitemallin metamalli sisältäisi mm. seuraavia käsitteitä: käsite, yhteys, tieto ja kuvaus. Metatieto (metadata) Tietoa tiedosta. Tietojen kuvauksia ja määritelmiä. Metatiedot voidaan tallettaa metatietojärjestelmään (kuvaustietokantaan), josta käytetään myös nimitystä tietohakemisto (data dictionary) tai englanniksi Repository. Metodi (method) Operaation toteutus. Moniarvoinen tieto (multivalued attribute) Normalisointisääntöjen mukaan (1. NF) yksi tietoalkio ei saisi koostua listasta, esim. puhelinnumero ei saisi sisältää kuin yhden arvon. Monikko (tuple) Relaatiomallin termi taulun riville. Järjestetty arvojen lista, jossa on yksi arvo kutakin relaatiokaaviossa nimettyä attribuuttia kohden. Moni-indeksihaku (multiple index access, index ANDing, index Oring) Saantipolkutyyppi, jossa ensin kerätään osoittimia useasta indeksistä (tai yhden indeksin eri viipaleista). TKHJ lukee taulurivit vasta, kun se on muodostanut osoitinjoukon, joka viittaa näihin tulosriveihin. Naula (spike) Yksittäinen operatiivinen tapahtuma, jonka paikallisvaste tai SQL-aika on poikkeuksellisen pitkä (vertaa: tapahtumatyypin keskimääräinen paikallisvaste tai SQLaika). Normaalimuoto (normal form) Normalisoinnin välimuoto. Yleisimmät normaalimuodot ovat ensimmäinen, toinen ja kolmas normaalimuoto. Lisäksi on teoreettisemmat Boyce- Codd-normaalimuoto sekä neljäs ja viiden normaalimuoto. Ks. Normalisointi. Normalisointi (normalization) Tietokantojen suunnitteluun liittyvä menetelmä, jonka avulla tietojen toistaminen minimoidaan. Normalisoitaessa taulu jaetaan kahteen (tai useampaan) osaan; normalisointi siis johtaa taulujen määrän kasvamiseen. Operatiiviset järjestelmät pyritään usein normalisoimaan, etuna muutosjoustavuus,

Page 8 of 14 tietokannan eheys ja päivitysten suorituskyky sekä minimoitu levytilan tarve (levytilan nykyisillä hinnoilla tämä seikka ei tosin ole kovin merkityksellinen). Normalisointi saattaa hidastaa hakuja liitosten tarpeen lisääntyessä. Tietovarastokannoissa ja varsinkin paikallisvarastossa (data mart) denormalisoidaan usein hakujen nopeuttamiseksi. Normalisointi jakautuu teoriassa viiteen vaiheeseen (ks. Normaalimuoto). Käytännössä operatiiviset kannat pyritään normalisoimaan kolmanteen normaalimuotoon. NULL Tyhjäarvo eli tuntematon arvo. Jos tallennettaessa riviä tauluun sarakkeelle ei anneta arvoa, tallentuu tauluun ko. sarakkeen kohdalle erityinen NULL-merkintä. Taulun perustamisen yhteydessä voi määritellä, onko NULL sallittu (NOT NULL -määre). Näkymä (view) Virtuaalinen taulu, joka ei sisällä rivejä vaan on ikäänkuin ikkuna tauluihin. Näkymä määritellään CREATE VIEW -lauseella, jossa annetaan SELECTkysely. Ominaisuus (property) Synonyymi käsitteen tiedolle (ks. Tieto). Oletusarvo (default) Taulun määrittelyn yhteydessä sarakekohtaisesti DEFAULTmääreellä annettu arvo, tulee tauluun syötettävän rivin puuttuvan arvon kohdalle. Olio (object) Yksilöitävissä oleva asia tai käsite, jolla on oma identiteetti (object ID, OID). OID:n perusteella olio voidaan erottaa muista olioista. Vastaava termi käsiteanalyysissä on esiintymä. Olioluokka (object class) Ks. Luokka. Olio-relaatiotietokanta Alunperin relaatiomallin mukainen tietokannan hallintajärjestelmä, johon on lisätty olio-ominaisuuksia, kuten esim. uusia tietotyyppejä ja periytymistä. Esim. Oracle 8 -versiota kutsuttiin nimellä Object-Relational Database. Oliotietokanta Ns. puhtaat oliotietokannat ovat tietokannan hallintajärjestelmiä, jotka perustuvat olio-ajatteluun. Ne eivät noudata relaatiomallia eivätkä esim. normalisointisääntöjä. Tietokantaa käsitellään olio-pohjaisilla kielillä samantyyppisin tavoin kuin muitakin tietorakenteita eikä erillisiä relaatiotietokantakäskyjä tarvita. Puhtaat oliotietokannat eivät ole saavuttaneet suurta jalansijaa markkinoilla, sen sijaan relaatiotietokantoja on laajennettu olio-ominaisuuksilla (ks. olio-relaatiotietokanta). Operaatio (operation) Palvelu tai toiminto, jota käyttämällä olion saa tekemään jonkin asian. Operaation toteutus on yleensä metodi. Operatiivinen tietokanta Tietokanta, joka palvelee operatiivista perussovellusta. Operatiivinen tietokanta on usein ajantasainen ja edellyttää virittämistä hyvän vastausajan saamiseksi. Raportointia ja tietojen analysointia varten tarvitaan usein lisäksi tietovarastokantoja. Optimointiohjelma (optimizer) Relationaalisen TKHJ:n osa, joka valitsee saantipolun kullekin SQL-lauseelle. Optimointiohjelma ennustaa mahdollisten saantipolkujen keston (levyaika ja CPU-aika) ja valitsee vaihtoehdon, jonka ennustettu kesto on lyhyin. Käytetään myös termiä optimoija. Paikallisvaste (local response time) Tapahtuman vasteaika ilman työaseman ja palvelimen välisiä siirto- ja odotusaikoja, palvelimen vasteaika.

Page 9 of 14 Paksu indeksi (fat index, covering index) Indeksi, johon on lisätty WHERE-lauseen hakusarakkeiden lisäksi haettavat sarakkeet haun nopeuttamiseksi. Paksun indeksin avulla voidaan välttää itse taulun lukeminen kokonaan (katso index only). Paksu taulu (fat table) Taulu, johon on lisätty sarakkeita toisesta taulusta tai joka on muodosetettu yhdistämällä yksi tai useampia tauluja. Taulun paksuntamisella lyhennetään yleensä SELECT-lauseiden kestoa, mutta levytilantarve voi olla suurempi kuin usean taulun ratkaisussa. Usein yksi-yhteen-yhteydellä yhdistetyt taulut kannattaa korvata yhdellä paksulla taululla.taulun paksuntaminen voi merkitä denormalisointia. Periytyminen (inheritance) Erikoistetut käsitteet (luokat) saavat yleisempien käsitteiden ominaisuudet. Vrt. alikäsite, aliluokka, erikoistaminen, yleistäminen, yliluokka. Perusavain (primary key). Sarake tai joukko sarakkeita, jotka yksilöivät käsitteen esiintymät tai taulun rivit. Kun taululle on määritelty perusavain, huolehtii tietokannan hallintajärjestelmä siitä, että tauluun ei tule tupla-arvoja ko. sarakkeeseen (eikä siis tuplarivejä). Tietokannan hallintajärjestelmä perustaa lisäksi automaattisesti yksilöivän indeksin perusavaimelle. Peräkkäisluku. Ohjelma lukee rivejä, jotka ovat enimmäkseen fyysisesti peräkkäin. Huomattavasti nopeampaa kuin hajaluku lähinnä kahdesta syystä: (1) jos yhdellä sivulla on kymmenen riviä, yhden sivun luku kiintolevyltä tuo keskusmuistiin kymmenen riviä; (2) jos yhdellä kiintolevyn uralla on kahdeksan saman taulun sivua, nämä kahdeksan sivua luetaan kiintolevyltä yhdellä pyörähdyksellä. Lisäksi peräkkäisluku voi limittyä CPU-ajan kanssa (peräkkäisennakkoluku) ja seuraavia sivuryhmiä voidaan siirtää rinnakkain usealta kiintolevyltä levypalvelimen välimuistiin. Pikaennuste Yksinkertainen kaava SQL-kutsun keston ennustamiseen - esimerkiksi VQUBE (Very Quick Upper-Bound Estimate), jossa on vain kaksi muuttujaa. Tarkoitettu mahdollisesti hitaiden saantipolkujen vaivattomaan paljastamiseen jo ohjelman toteutusvaiheeessa. Sopii myös indeksointi-vaihtoehtojen karkeaan vertailuun. Mitatut kestot ovat joskus huomattavasti lyhyempiä kuin VQUBE-laskelmien arvot. Poissulkeva yhteys (exclusive relationship) Käsiteanalyysissä voidaan merkitä tiettyyn käsitteeseen tulevia yhteyksiä toisensa poissulkeviksi, jolloin yhteen ko. käsitteeseen liittyvään esiintymään voi kuulua vain yksi toisensa poissulkevista yhteyksistä. Esimerkiksi auton voi omistaa joko yritys tai henkilö mutta eivät molemmat. Predikaatti (predicate) SQL-lauseen WHERE-lausekkeessa oleva hakuehto. Proseduuri (procedure) Tietokantaan tallennettava objekti, joka sisältää suoritetettavia SQL-lauseita sekä usein muutakin, ei-proseduraalista ohjelmakoodia. Proseduuria voi kutsua ohjelmasta Exec-komennolla ja välittää sille parametreja. Puskuriallas (buffer pool) Ks. tietokantapuskuriallas. Pääkäsite (super entity, super-type entity) Käsite, jonka sisällä on yksi tai useampi alikäsite. Alikäsitteet perivät pääkäsitteen tiedot ja yhteydet. Vrt. erikoistaminen, yleistäminen, yliluokka. RAID 5 (Redundant Array of Inexpensive Disks, level 5) Yleisesti käytetty tiedon

Page 10 of 14 tallennustapa: loogiset taltiot hajautetaan (striping) esimerkiksi seitsemälle kiintolevylle (jotka muodostavat RAID-ryhmän, RAID array, RAID rank) esimerkiksi niin, että ensimmäinen 32 kilotavun jakso kirjoitetaan kiintolevylle 1, toinen kiintolevylle 2 ja niin edespäin. Lisäksi kirjoitetaan redundanttia pariteettitietoa (joka jakautuu ryhmän kaikille aktiivisille levyille) siten, että yhden kiintolevyn rikkoutuessa sen tiedot voidaan rakentaa RAID-ryhmän varataltiolle. RAIDin vastakohta on JBOD (Just a Bunch of Disks). RAID 10 RAID 5:n vaihtoehto, sopii tietokantoihin, joissa on paljon hajapäivityksiä (rivien lisäyksiä, päivityksiä ja poistoja): RAID 0 (peilaus) + RAID 1 (striping). Pariteettitiedon asemesta muuttunut sivu kirjoitetaan kahdelle kiintolevylle. Sivu voidaan lukea kummalta levyltä tahansa. Hajapäivitysten aiheuttama levykuormitus (drive busy) on pienempi kuin RAID 5 -ratkaisussa, mutta levytilaa tarvitaan enemmän. Reaalimaailma (real world) Ks. kohdealue. Relaatio (relation) Relaatiomallin termi taululle; rakenteeltaan samanlaisten monikoiden (vrt. rivi) joukko. Relaatiotietokanta (relational database) 1. Relaatiomallia noudattava, tietokannan hallintajärjestelmän avulla muodostettu tietokanta. 2. Relationaalinen tietokannan hallintajärjestelmä, relaatiotietokantatuote (esim. Oracle, DB2). Relaatiokaava Relaatiokannan taulurakennetta kuvaava kaavio. Relaatiomalli (relational model) E. F. Coddin v. 1970 julkaisema tietomalli, joka määrittelee, miten tiedot tulisi tallettaa tietokantaan ja miten niitä käsitellä. Joukkooppiin, matematiikkaan ja predikaattilogikkaan perustuva malli, joka on ollut lähtökohtana kaikissa relaatiotietokantatuotteissa. Relaatiomalli määrittelee tietokannan rakenteen, käsittelyn ja eheyssäännöt. Riippuvuus (relationship) Ks. yhteys. Rivi (Row) Relaatiomallin monikon vastine relaatiotietokannassa. Taulu koostuu riveistä; "vanha" termi on tietue. Ryvästävä indeksi (clustering index, clustered index) Taululle perustettu ryvästävä indeksi aiheuttaa sen, että TKHJ pyrkii pitämäään myös taulun rivit fyysisessä järjestyksessä (INSERT-kutsulla lisätty uusi rivi viedään ryvästävän indeksin määräämälle kotisivulle, jos tällä sivulla on tilaa eikä se ole lukittu). Taululla voi olla vain yksi ryvästävä indeksi. Kaikki tuotteet eivät tue ryvästävää indeksiä, mutta taulurivit saadaan haluttuun järjestykseen taulun uudelleenjärjestelyllä. Saantipolku (access path) Optimointiohjelman valitsema menetelmä tulostaulun rakentamiseksi SQL-lauseelle. Esim. yhden taulun SELECT-lauseelle tietyn indeksin käyttö tietyllä tavalla tai taulun läpiluku; tai liitoksessa näiden lisäksi taulujärjestys ja liitosmenetelmä. Sarake (column) Taulussa eri riveillä samaan arvoalueen määrittelyyn liittyvien arvojen lista. Silmukkaliitos (nested loop) Yksi optimoijan käyttämistä liitosmenetelmistä. Uloimmasta taulusta (tai sen indeksistä) haetaan uloimman taulun ne rivit, jotka

Page 11 of 14 läpäisevät uloimman taulun paikallispredikaatit. Kullekin uloimmalle taulun riville haetaan sisemmässä silmukassa liitospredikaatin määrittelemät sukulaisrivit seuraavasta taulusta. Taulujärjestyksen päättää optimointiohjelma. Sipaisu (touch) Tietokantajärjestelmä tutkii yhden indeksirivin (ks. indeksirivi) tai yhden taulurivin. Käsitteen tarkoitus on SQL-kutsun keston pikaennustaminen (VQUBEmenetelmällä). Sisäkkäiset silmukat (nested loop) Ks. silmukkaliitos. SQL (Structured Query Language) Lähes kaikkien relaatiotietokantatuotteiden tukema tietokannan määrittely- ja käsittelykieli. Kehitetty 70-luvulla IBM:n laboratoriossa D.D. Chamberlainin tutkimusryhmässä. Voimakas, ei-proseduraalinen tietokantakieli. SQLkielellä tehdään taulujen määrittely, tietojen haku, päivitys ja poisto sekä valtuusmääritykset ja tapahtumankäsittelyn ohjausta. SQL:ää voi käyttää vuorovaikutteisesti työsemalla tai upotettuna ohjelmointikieleen. SQL-kielestä on useita standardeja, kuten SQL-86, SQL-92 ja SQL-99. Surrogaatti (surrogate key). Surrogaatti eli keinoavain kuvaa perusavainta, joka ei sisällä kuvaavaa luonnollista tietoa vaan on keinotekoinen, yleensä juokseva numero. Etuna on se, että surrogaatin arvo ei koskaan muutu, mikä helpottaa päivitystilanteita. Paljon käytetty tietovarastokannoissa, etenkin tähtimallissa; alkanut yleistyä myös operatiivisissa kannoissa. Suunnitteluputki Tietokannan suunnittelussa tarvittavat päävaiheet, eli käsiteanalyysi, tarveanalyysi, normalisointi, taulujen muodostaminen ja virittäminen. Tarveanalyysi Menetelmä, jonka avulla täydennetään käsitemallia ja tarkistetaan sen toimivuus. Tarveanalyysissä käydään läpi suunniteltuja tietotarpeita käsitemallia vasten. Taulu (table) Relaatiomallin relaation vastine relaatiotietokannassa. Taulu koostuu sarakeotsikoista ja tietojen arvoja sisältävistä riveistä (nolla tai useampi rivi); samaan rivin määrittelyyn liittyvien rivien monijoukko. Taulukko (table) 1. Tarkoittaa tietokantojen yhteydessä samaa kuin taulu (ks. Taulu). Esim suomenkielisessä Accesissa käytetään taulukko-termiä. Suosittelemme taulutermiä, jotta ei sekoitettaisi tässä olevia määritelmiä 1 ja 2; 2. Taulukkolaskimen tietojen esitymuoto, jossa tietoon viitataan tiedon sijaintipaikan avulla eli koordinaateilla, kuten esimerkiksi (B, 20). (Taulussa tietoon ei viitata koordinaateilla vaan tietoa haetaan sen sisällön perusteella) Tieto Tässä kirjassa tarkoittaa käsitteen ominaisuutta eli attribuuttia. Tietokannan hallintajärjestelmä (Database Management System) Ks. TKHJ. Tietokanta (Database) 1. Loogisesti yhteen kuuluvat tiedot; 2. Tietokannan hallintajärjestelmän kannalta tekninen taulukokoelma. Saattaa olla eri määritelmä eri TKHJ:lla. Tietokantasivu Yksi hajalevyluku tuo yhden sivun levypalvelimelta keskusyksikön puskurialtaaseen. Peräkkäisennakkoluku siirtää esimerkiksi 32 sivua kerrallaan. Yleisiä

Page 12 of 14 sivukokoja ovat 4, 8, 16 ja 32 kilotavua. Tietokanta-allas, ks. tietokantapuskuriallas. Tietokantapuskuriallas (database buffer pool) Keskusmuistissa oleva alue, johon tallennetaan levyltä luettuja tietokantasivuja levyhakujen vähentämiseksi. Voi sisältää nykyään esimerkiksi ne sivut, joihin on viitattu viimeisen minuutin aikana (katso LRU). Sivu, johon viitataan ainakin kerran minuutissa, pysyy tällöin keskusmuistissa aamusta iltaan. Tietomalli (data model) Mallinnusmenetelmä, jota käytetään reaalimailman tai tietokannan mallintamisessa. Yleisimpiä käytännössä ovat ER-malli eli käsitemalli, relaatiomalli ja oliomalli. Tietoriippumattomuus (data independence) Relaatiokantojen ominaisuus, että tietokannan rakennetta voi tietyssä määrin muuttaa koskematta ohjelmiin. Esimerkiksi voidaan lisätä, muuttaa tai poistaa indeksejä ilman että ohjelmia tai kyselyjä tarvitsee muuttaa. Tietotyyppi (datatype) Taulun sarakkeen tietomuoto; annetaan taulun perustamisen yhteydessä. Eräitä tavanomaisia tietotyyppejä ovat char, varchar2, decimal, float, integer ja date. Tietovarasto (Data Warehouse, DW) Aihealuekohtainen, yhdenmukainen ja aikaan sidottu tietokanta, joka tukee päätöksentekoa. Suunnitellaan tukemaan erilaisia vaihtelevia kyselyjä ja raporttitarpeita. Tietovarastoon ladataan usein tietoja useista operatiivisista järjestelmistä yhdenmukaistaen erilaiset kooditukset ja säilyttäen myös historian. Tämä mahdollistaa trendianalyysin (esim. verrataan eri kuukausien myyntejä). Tietovarastointi (Data Warehousing). Prosessi, jonka avulla erillisistä operatiivisista tietokannoista saadaan tiedot siirrettyä ja yhdistettyä yhtenäiseksi, integroiduksi tietovarastoksi, jota voidaan käyttää monenlaisilla helppokäyttöisillä kysely- ja raporttivälineillä. Prosessiin kuuluvat työn organisointi ja läpivienti, suunnittelumenetelmät sekä tarvittavat työkalut. Tietue (record) Ks. rivi. TKHJ (tietokannan hallintajärjestelmä) Ohjelmisto, jonka avulla voidaan perustaa, käyttää ja hallinnoida tietokantoja. Aiemmin oli käytössä verkkomallisia ja hierarkkisia TKHJ:iä, nykyisin valtaosa uusista sovelluksista rakennetaan relaationaalisilla TKHJ:illä. Top-down lähestymistapa "Ylhäältä alas -suunnittelu", käsiteanalyysin yhteydessä tapa lähteä mallintamaan kohdealuetta ensin karkealla tasolla ja edeten sitten vähitellen yksityskohtiin. Triggeri Ks. Herätin. Tulostaulu SELECT-lauseen määrittelemä tulosrivijoukko, usein järjestetty. Tuoterakenne Ks. BOM.

Page 13 of 14 Tyhjä-arvo Ks. NULL. Tähtimalli (star schema, star join) Tietovarastotietokannan suunnittelumenetelmä, jota käytetään nimenomaan paikallistietovaraston (data mart) suunnittelussa. Tähtimalli ikäänkuin simuloi moniuloitteisuutta relaatiokannassa. Tähtimallin mukainen relaatiokannan rakennekaavio muistuttaa tähteä ja on dimensioiden osalta denormalisoitu (sisältää tietojen toisteisuutta). Tähtimallin mukainen kanta on rakenteeltaan selkeä ja helposti ymmärrettävä ja sen suunnittelussa on ajateltu nimenomaan raportointia ja kyselyjä. UML (Unified Modeling Language) Oliomallintamisessa käytetty standardinotaatio, joka sisältää mm. luokkakaavion. Ks. luku 7. Uudelleenjärjestely (reorganization) 1. Tietokannan rakenteen uudistaminen; 2. (table reorganization) taulun uudelleenluonti siten, että taulurivit ovat toivotussa järjestyksessä ja kullakin taulusivulla on haluttu määrä tyhjää tilaa lisäyksiä varten (jos TKHJ:ssa ryvästävä indeksi); 3. (index reorganization) indeksin uudelleenluonti siten, että indeksirivit ovat toivotussa järjestyksessä ja kullakin lehtisivulla on haluttu määrä tyhjää tilaa lisäyksiä varten - lisäksi lehtisivut ovat pääosin fyysisesti vierekkäin indeksin avaimen mukaisessa järjestyksessä. VQUBE (Very Quick Upper-Bound Estimate) Paljon käytetty pikaennustekaava SQLkäskyn keston karkeaan ennustamiseen. Vierasvain (foreign key) Ks. Viiteavain. Tässä kirjassa olemme suosineet termiä viiteavain. Vihje (hint) SQL-kutsussa tai BIND-optiossa annettu määritys, joka ohjaa optimoijaa. Voi esim. määrätä tietyn indeksin tai liitosmenetelmän. Vihjeiden syntaksi vaihtelee tuotekohtaisesti. Viiteavain (foreign key) Sarake tai sarakeyhdistelmä, joka viittaa taulusta toisen (tai saman) taulun perusavaimeen. Viiteavaimiin voi liittyä viite-eheysehtoja. Kun käsitemallista muodostetaan taulut, syntyy yhteyksistä viiteavaimia. Viite-eheys (referential integrity) Tietokannan eheysehto, joka on voimassa, kun kunkin viittaavan taulun riveillä viiteavainten arvot ovat joko samoja kuin viitatussa taulussa olevia perusavainten arvoja tai tyhjiä. Viitattu taulu Ks. isätaulu. Vyörytyssääntö (cascading rule) Poiston tai muutoksen vaikutukset lapsitauluihin heijastava sääntö. Välimuisti (read cache) Levypalvelimen puolijohdemuistin (keskusmuistin) alue, johon tallennetaan viimeksi kiintolevyiltä luettuja sivuja levylukujen vähentämiseksi. Nykyään usein selvästi suurempi kuin keskusyksikön keskusmuistin puskuriallas. Voi sisältää sivut, joihin on viitattu hajaluvulla esimerkiksi viimeisen 20 minuutin aikana (vertaa write cache). Write cache Levypalvelimen puolijohdemuistialue, jossa tiedot säilyvät pariston avulla useita päiviä (non-volatile storage, NVS). TKHJ kirjoittaa aika ajoin (esimerkiksi

Page 14 of 14 muutaman kerran sekunnissa) päivittyneitä sivuja levypalvelimelle, joka tallentaa ne aluksi tälle alueelle. Kauimmin käyttämättä olleet (katso LRU) sivut kirjoitetaan kiintolevyille. Write cache voi sisältää sivut, joita on päivitetty viimeisen minuutin aikana. Jos jotakin sivua päivitetään tällöin useita kertoja minuutissa, se voi pysyä write cache - muistissa aamusta iltaan. Mitä suurempi write cache, sitä vähemmän päivitykset kuormittavat kiintolevyjä. Ydinkäsite (independent entity) Käsite, jonka esiintymiä voidaan tallettaa riippumatta muiden esiintymien olemassaolosta. Ydinkäsitteellä on yleensä yksiosainen perusavain. Yhteys (relationship) Kahden käsitteen välinen, merkitystä sisältävä kytkentä. Tyypit: yksi-yhteen, yksi-moneen ja moni-moneen. Yksilö Ks. Käsite. Yleistys (generalization) Yhteys, jossa yhdellä käsittellä (luokalla) on ominaisuuksia, jotka toiset erikoistetut käsitteet (aliluokat) perivät. Erikoistettu käsite on siten yhteensopiva yleisemmän käsitteen kanssa. Vrt. periytyminen. Yliluokka (super class) Luokka, jossa on attribuutteja ja/tai metodeja, jotka yksi tai useampi aliluokka perii. Yläsivu (non-leaf page) Indeksin (B-puu) sivu, joka ei ole lehtisivu.