Mikä on tietokanta?
Tietokanta on tietotekniikassa käytetty termi tietovarastolle.
Se on kokoelma tietoja, joilla on yhteys toisiinsa. Tietokannan ei välttämättä
tarvitse olla sähköisessä muodossa, vaan sellaista voidaan pitää
esimerkiksi kynällä ja paperilla. Kalenterikin on tietokanta.
Tietokanta saattaa edustaa jotain selvästi rajattua kohdetta
reaalimaailmasta. Tällainen kohde voi olla esimerkiksi yrityksen
keräämät tiedot asiakkaistaan.
Tietokantojen koot voivat vaihdella suuresti, yhteen tiedostoon
tallennetuista taulukoista hyvin suuriin tietokantoihin joissa on
useita miljoonia tietueita lukuisista kiintolevyistä koostuvilla
levypakoilla. Tietokantaan voidaan tallentaa eri formaateissa olevaa
tietoa, esimerkiksi tekstiä, ääntä ja videokuvaa.
Tietokantojen historia
Ensimmäiset nykyisten tietokantojen edeltäjät kehitettiin
1960-luvulla. Alan pioneeri oli Charles Bachman.
Relaatiotietokantamallin ja käsittelyteorian kehitti Edgar F. Codd
vuonna 1970. Codd työskenteli IBM:n tutkimuslaboratoriossa ja hän
johti ensimmäisten relaatiotietokantojen testiversioiden kehitystyötä.
Vuosina 1973-1976 IBM laboratoriossa kehitettiin relaatiotietokannan
prototyyppiä nimeltä System R. IBM:n kaupallinen tietokantatuote
DB2 julkaistiin 1982.
Tietokannat on käytännöllisintä luokitella tuetun
ohjelmointimallin mukaan. Muutamat malleista ovat olleet laajalti käytössä
jo jonkin aikaa. Hierarkkinen malli toteutettiin ensimmäisenä, sen
jälkeen verkkomalli, sitten relaatiomalli ohitti ne niin kutsutun
"Flat-File"-mallin kanssa, joka oli helppo toteuttaa
vaatimattomiinkin alustoihin. Hierarkkinen, verkko ja
Flat-tiedostomalli eivät perustu vahvaan teoreettiseen pohjaan niin
kuin relaatiomalli, vaan ne ovat syntyneet laitteiston ja
ohjelmointiteknisten rajoitteiden vaikutuksesta.
Olio-ohjelmoinnin yleistyttyä myös tietokantoja on kehitetty
vastaamaan oliomallin asettamiin tarpeisiin. On kehitetty puhtaita
oliotietokantoja sekä perinteisiin relaatiokantoihin on lisätty
olio-ohjelmointia tukevia ominaisuuksia. Jälkimmäisistä käytetään
nimeä olio-relaatiotietokannat.