Dokument 1 - flussufer.de

Werbung
Relationale Datenbanken - Überblick
AHS, LK Inf 13/1, Lue / SZR, Cs
Relationale Datenbanken
Daten können auf verschiedene Arten strukturiert abgespeichert werden, z.B. könnte man die Daten nach
einer Baumstruktur geordnet ablegen. Für große Datenmengen hat sich heutzutage das relationale
Datenmodell durchgesetzt, bei dem die Daten in Tabellen abgespeichert werden. „Relation“ ist eine
mathematische Bezeichnung für eine Tabelle. Daher der Name relationale Datenbanken.
Ein
Programmierer kann nicht nur die Daten einzelner Tabellen abfragen. Relationale Datenbanksysteme
besitzen auch die Fähigkeit Tabellen zu verknüpfen und auf diese Weise komplexere Informationen zu
generieren. Nahezu alle bekannten Datenbanksystem arbeiten heute nach dem relationalen Modell.
Datenbanksysteme
Computerprogramme zur Beschreibung, Speicherung und Wiedergewinnung
Datenmengen nennt man Datenbanksysteme. Bekannte Datenbanksysteme sind:
von
umfangreichen
_______________________________________________________________________________
SQL – Structured Query Language
SQL hat sich als Standardsprache für die Zugriffe auf relationale Datenbanken durchgesetzt und wird von
allen gängigen Datenbanksystemen unterstützt. SQL ist keine imperative Programmiersprache wie Java,
JavaScript oder VBA, sondern eine Art Abfragesprache mit der man Datenbanken erstellen und die Einträge
in Datenbanken abfragen kann.
Wenn man mit einer Programmiersprache wie z.B. Java oder PHP einen Datenbank-Client programmiert,
dann werden die SQL-Befehle zur Steuerung der Datenbank in die Programmiersprache „eingebettet“, d.h.
man wendet innerhalb der Programmiersprache SQL-Befehle an.
Organisation eines Datenbankmanagementsystems (DBMS):
Ein Eintrag in der Tabelle, der genau zu einer Zeile und einer Spalte gehört, heißt Datum (Einzahl von
Daten) oder Datenwert. Die Datumswerte in einer Zeile der Tabelle bilden zusammen einen Datensatz
(engl. record).
Front End und Back End
Die Software innerhalb eines Datenbanksystems, welche die Eingabe, Verwaltung und Ausgabe von Daten
ermöglicht, nennt man Datenbankmanagementsystem (DBMS). Das DBMS wird auch Back End
genannt, weil der Benutzer die Daten abfragt und sieht, ohne zu wissen, auf welchem Rechner sich die
Datenbank eigentlich befindet und um welches DBMS es sich dabei handelt. Mit dem Datenbank-Front End
führt der Benutzer hingegen die Abfrage und Manipulation der Datenbank durch. Damit er das kann, muss
ein Front End immer eine Verbindung („Connection“) zu „seinem“ Back End aufbauen. In euren Übungen
wird das in XAMPP enthaltene MySQL das Back End sein, und das Programm „MySQL Control Center“ ist
euer Front End. (Übrigens: Der Benutzer muss nicht notwendigerweise SQL können. Viele DatenbankBenutzer können kein SQL, z. B. in Reisebüros. In der Praxis ist es üblich, dass ein Programm die FrontEnd-Funktion übernimmt, das GUI-Elemente für die Benutzereingabe anzeigt und dann daraus SQLBefehle generiert. Im Internet ist es sogar ganz normal, dass die Benutzereingabe erst einmal an ein
anderes Programm, das auf dem Webserver liegt, übermittelt wird. Dieses generiert dann SQL-Befehle aus
der Benutzereingabe, kommuniziert mit dem DBMS und erzeugt anschließend HTML-Code, um dem
Benutzer das Ergebnis mitzuteilen. Das Programm ist meistens in PHP geschrieben.)
Der Zugriff vom Frontend auf das Backend erfolgt mit SQL
Alle Datenbank-Frontends benutzen SQL für die Abfrage und Manipulation ihres Back Ends. Das DBMS
kann man sich als eine unbekannte Maschine vorstellen, von der man nicht mehr weiß (und auch nicht mehr
wissen muss), als dass sie SQL-Befehle verarbeiten kann. SQL ist eine deskriptive Programmiersprache:
Mit SQL legt man nur fest, was das DBMS tun soll. Wie es das tut, bleibt dem DBMS überlassen. (Letztlich
wird die Maschine dafür Kontrollstrukturen benutzen müssen, weil ein Computer nichts anderes kann.)
Herunterladen