Hoppa till innehållet

Databas

Från Wikipedia
(Omdirigerad från Databank)

En databas (tidigare databank) är en samling information som är organiserad på ett sådant sätt att det är lätt att söka efter och hämta enskilda bitar information, samt ofta även att ändra informationen. Ordet databas kan beteckna informationen som finns lagrad, eller den programvara (databashanterare) som förstår att tolka den ofta mycket komplexa datastrukturen som lagras på hårddisken. Databaser nås via ett så kallat gränssnitt.

När datorer började användas inom affärsvärlden på 1960-talet blev det viktigt att kunna spara data på ett säkert sätt. De första databaserna var hierarkiska där data lagras i en struktur anpassad till dåtidens linjära lagringsmedia som magnetband.

Det är en vanlig missuppfattning att data och databaser inte fanns innan datorernas intåg. Databaser har funnits sedan mycket lång tid tillbaka. Ända sedan man började samla in data och ordna den systematiskt, exempelvis i form av arkiv och kartotek. I och med att datorerna kom fick man möjlighet att behandla data maskinellt automatisk databehandling (ADB), tidigare något missvisande kallat administrativ databehandling.

Databastyper

[redigera | redigera wikitext]

Hierarkisk databas

[redigera | redigera wikitext]
Huvudartikel: hierarkisk databas

I en hierarkisk databas lagras data i en trädstruktur som gör den snabb att bearbeta men svår att manipulera. En av de mest framgångsrika hierarkiska databaserna är IBM:s Information Management System (IMS) som utvecklades för användning i Apolloprogrammet.

Relationsdatabas

[redigera | redigera wikitext]
Huvudartikel: relationsdatabas

Den moderna relationsdatabasen uppfanns av Edgar Codd 1970. En relationsdatabas består vanligtvis av en databas med flera tabeller, även kallade relationer. Informationen sparas i rader i tabellerna. Idag kan data av en mängd olika typer sparas, inte bara text och numeriska data utan också bilder, ljud och video.

Idag är alla de stora DBMS/databaserna, IBM:s DB2, Oracles Oracle, Microsofts SQL Server och svenska MySQL relationsdatabaser som använder dataspråket SQL – Structured Query Language – för att definiera och söka data.

Internets och World Wide Webs starka frammarsch på 1990-talet gjorde det möjligt att komma åt data i relationsdatabaser på webben via så kallade dataspråk som PHP och Sun Microsystems Java Server Pages (JSP).

Objektorienterad databas

[redigera | redigera wikitext]

På 1990-talet blev objektorienterade och XML-baserade databaser tillgängliga. En populär objektdatabas är Hibernate[1] som konverterar Java- och C-sharp-objekt så att de kan lagras i vanliga relationsdatabaser.

Faktabaserad databas

[redigera | redigera wikitext]

En nygammal databastyp är den faktabaserade databasen. Idén är databasen fylls med sanna påståenden, och att man med ett frågespråk ställer frågor till dessa faktum. Arkitekturen är snarlik de tabellbaserade SQL-databaserna, men har fördelen att man enklare kan relatera många objekt till varandra utan att ha mellanliggande uppslagstabeller.

Fakta lagras i form av tuplar ofta med tre eller fyra positioner, ofta identifierare, attribut, data och transaktionstidpunkt[2]. En lovande teknik för tre-tupler, tripplar, kallas Resource Description Framework, en standard framtagen av W3C där data beskrivs som länkade nätverk av tripplar och frågas med särskilda frågespråk, bland andra SPARQL.[uppdatering behövs]

Det amerikanska företaget Metadata Partners lanserade 2012 databasen Datomic, en distribuerad och faktabaserad transaktionsdatabas med tidsstämplar[3]. Transaktionerna är förinställda att vara spårbara bakåt i tiden och frågor kan därigenom ställas på tidigare versioner av data i databasen. Det går även att ställa frågor datasetet med hypotetiskt införda ändringar i data. Frågespråket är en variant av Prolog kallad Datalog, som portats till lisp-dialekten Clojure.

  1. ^ Hibernate, läst 29 juli 2012
  2. ^ Thinking in Datomic : Datoms are facts about entities not tables, läst 29 juli 2012. Arkiverad 8 augusti 2012 hämtat från the Wayback Machine.
  3. ^ ”Datomic Rationale” (på engelska). datomic.com. Arkiverad från originalet den 27 augusti 2012. https://web.archive.org/web/20120827070717/http://www.datomic.com:80/rationale.html. Läst 29 juli 2012.