Eine Datenbank wird in [Elmasri1989] definiert als "a collection of related data", bzw. genauer:
"[...] a database has some source from which data are derived, some degree of interaction with events in the real world, and an audience that is actively interested in the contents of the database".Der Begriff Datenbank bezieht sich also ausdrücklich nur auf die Sammlung gespeicherter Daten.
Unter den verschiedenen Typen von Datenbanken hat sich wegen seiner Flexibilität heute das relationale Modell weitgehend durchgesetzt. Ein Relationales Datenbanksystem (RDBMS) modelliert was mathematisch als Relationen bezeichnet wird in Form von Tabellen. Deren Elemente sind Skalare; im Sinn des relationalen Modells nicht weiter zerlegbare Datentypen, die nach einem bei Erstellung der Datenbank festgelegten Format aufgebaut sind. Jede Relation bzw. Tabelle enthält einen primären Schlüssel, der in jeder Tabelle einzigartig sein muss und damit zum eindeutigen Auffinden jedes Elements dienen kann. Das RDBMS manipuliert die Daten seiner Tabellen mittels Operationen der relationalen Algebra; definiert sind dabei RESTRICT, PROJECT, PRODUCT, UNION, INTERSECT, DIFFERENCE, JOIN und DIVIDE [Date1990 nach Künneth1999]. Zur Formulierung dieser Operationen wie auch des Datenformats benutzen heutige Systemne meist die im nächsten Abschnitt vorgestellte "Datenbanksprache" SQL.
SQL wurde Mitte der 70er Jahre von IBM zur Verwendung in ihrem
Datenbanksystem "System R" entwickelt, das Akronym SQL stand dabei
ursprünglich für "Structured Query Language".
Ursprünglich zur internen Verwendung bei IBM gedacht wurde das System
jedoch bald auch an Kunden weitergegeben, und hatte dabei so viel Erfolg,
dass auch andere Hersteller SQL als Basis ihrer Datenbanksysteme
übernahmen.
SQL ist sowohl Datenbank- oder Abfragesprache als auch
Datenbeschreibungssprache, d.h. es eignet sich sowohl zum Anlegen
und Beschreiben neuer Datenbanken als auch zur Abfrage derselben. Die
Syntax ist relativ wortreich und stark an das Englische angelehnt, die
Kommandos und ihre Parameter haben of die Form einfacher Sätze:
CREATE TABLE korpus (...) legt z.B. eine Tabelle namens
"korpus" an,
SELECT * FROM korpus WHERE word="test" wählt Datensätze aus
dieser Tabelle aus, die im Feld "word" das Wort "test" enthalten, usw.
SQL ist von den Gremien ANSI (American National Standards Institute) und
ISO (International Standards Organization) normiert, daher sind SQL-Befehle
auf allen standardgemäßen Datenbanksystemen gleich einsetzbar. Die interne
Organiation der Daten, die je nach Hersteller und DBMS-Kern variieren kann,
wird so durch eine "High Level Language" versteckt. Wichtiger noch als die
direkte Interaktion mit dem Benutzer ist dabei die Möglichkeit,
SQL-Statements in Anwendungsprogramme einzubinden, die damit mächtige
Datenbankfunktionen zur Verfügung haben, ohne an das DBMS eines Herstellers
gebunden zu sein.