
- Register - pixelio/Rainer Sturm
Wenn Sie häufig im Internet unterwegs sind, werden Sie zu einer passenden Gelegenheit sicher schon den Begriff „Datenbank“ gelesen haben. In der Tat sind Datenbanken heutzutage etwas, dass nicht nur in Unternehmen mit großen IT-Systemen genutzt wird, sondern so ziemlich überall vorhanden. Das gilt ganz besonders für das Internet.
Eine Ansammlung von Daten
Primär handelt es sich zunächst um eine Ansammlung von Daten, die nach einem bestimmten Prinzip geordnet und strukturiert sind. Daten können in diesem Fall alle möglichen Dinge sein. Hierzu zählen Straßen, Hausnummern, Benutzernamen, Produktbezeichnungen oder auch Kundennummern. Hieraus ergibt sich ein Informationspool, der von Programmen aller Art genutzt, verändert und erweitert werden kann. Was ein Programm darf oder nicht darf, wird hierbei durch die Programmierung und die Zugriffsrechte bestimmt.
Viele Daten, die sich in einer Datenbank befinden, sind jedoch nicht zwingend sensibel, sondern haben einen Bezug auf das zugreifende Programm selbst. Im Endeffekt ist der Einsatz einer Datenbank also überall dort von Vorteil, wo größere Datenmengen abgelegt werden müssen. Durch die Beziehungsstruktur innerhalb einer Datenbank (mehr dazu später) erhält man nicht nur den Namen zur Kundennummer, sondern kann gleichzeitig alle anderen Daten, die mit dem Kunden in Verbindung stehen.
Datenbanken sind überall im Internet
Das Internet ist mittlerweile voll von Datenbanken. Sobald Sie sich irgendwo registrieren, beispielsweise in einem Forum, können Sie davon ausgehen, dass im Hintergrund eine Datenbank tätig ist, die ihren Benutzernamen und ihre Daten speichert. Das gilt ebenso für Ihre Beiträge oder Zugriffsrechte innerhalb des Forums. Da Datenbanken darauf optimiert sind, die Anfragen von Programmen schnell zu bearbeiten, sind diese absolut notwendig, um Foren, Onlineshops und andere Internetplattformen zu betreiben.
Traditionell findet man Datenbanken zudem in Warenwirtschafts- und Personalverwaltungssystemen von Unternehmen. Dies sind jedoch nur wenige Beispiele. Prinzipiell wäre ein Großteil der Angebote im Internet nicht funktionsfähig, wenn es keine Datenbanken gäbe. Generell gilt auch, dass die persönlichen Daten die sie, durch ihre Anmeldung in einer Datenbank, hinterlegen auch entsprechend geschützt und verschlüsselt sind.
Die Funktionsweise einer relationalen Datenbank
Je nach Funktionsweise werden Datenbanken in mehrere Kategorien unterteilt. Für uns sind jedoch nur die relationalen und die objektrelationalen Datenbanken von Bedeutung. Die Unterschiede zwischen diesen beiden Typen sind jedoch für die grobe Umschreibung nur im unwesentlichen relevant. Generell können Sie sich eine Datenbank als einen Haufen vernetzter Excel-Tabellen vorstellen. Denken Sie beispielsweise an eine Tabelle, die den Namen „Benutzer“ trägt und in den Spalten die Felder Benutzername, Passwort und Email beinhaltet. In jeder Zeile werden dann die Daten eines Benutzers festgehalten. Eine solche Zeile nennt man auch einen Datensatz.
Stellen Sie sich nun vor, dass es noch eine zweite Tabelle gibt. Diese heißt Aufträge und beinhaltet alle Aufträge, die je von allen Benutzern aufgegeben wurden. Generell stehen darin ein Benutzername, eine Auftragsnummer, ein Artikel und dessen Bestellmenge. In der Datenbank können nun der Benutzername der Auftragstabelle mit dem der Benutzertabelle verknüpft werden. Das heißt, dass nicht für jeden Auftrag alle Benutzerdaten neu gespeichert werden, sondern dass die Datenbank über diese Beziehung (Relation) immer die bereits gespeicherten Daten des Benutzers abrufen kann. Da ein Benutzer unendlich viele Aufträge vergeben kann, ein Auftrag aber nur einen Benutzer besitzt, sprechen wir hier von einer 1:n Beziehung.
Um diese gesicherten Daten abzufragen, verwendet man die Structured Query Language (SQL). Diese Sprache ist darauf ausgelegt zu präzisieren, welche Daten man genau aus dem Beziehungsgeflecht der Datenbank abfragen will. So können Sie beispielsweise nicht nur alle Benutzer abfragen, sondern auch einen einzelnen Benutzer und alle seine Aufträgen. Da Aufträge jedoch aus mehreren Artikeln bestehen, ergibt sich an diesem Punkt eine Designschwäche, denn mit dem oben dargestellten Schema lässt sich höchstens ein Artikel pro Auftrag abspeichern. Dies lässt sich jedoch nicht so einfach wie oben lösen, da ein Auftrag unendlich viele Artikel besitzen kann und ein Artikel ebenso in unendlich vielen Aufträgen vorhanden sein kann. Dies nennt man eine n:m Beziehung.
Um diese aufzuspalten, sind zwei weitere Tabellen erforderlich. Die erste Tabelle würde die Artikel selbst mit einer Artikelnummer beinhalten, während die zweite nur aus der Artikelnummer, der Bestellmenge und der dazugehörigen Auftragsnummer besteht. Da die Bestellmenge in der Tabelle enthalten ist, kann es keine mehrmalige Zuweisung des Artikels an einen Auftrag geben, wodurch sich ein eindeutiges Bild ergibt. Hierdurch schaffen Sie ein Beziehungsgeflecht, über das sie nun abfragen können, wie oft ein Artikel von einem Benutzer bestellt wurde. Durch die Abfragemöglichkeiten, die Ihnen SQL hierbei bietet, werden ganz neue Wege geschaffen, um Daten bequem auszuwerten und miteinander zu vergleichen. Außerdem können sich Programme ebenfalls dieser Informationen bedienen.
