Relationale Datenbank
Was ist eine Datenbank?
Ein Datenbanksystem speichert und verwaltet die Gesamtheit aller Informationen geordnet und langfristig. Es besteht aus einer Datenbasis, oder auch Datenbank genannt, und einer Verwaltungssoftware, dem Datenbankmanagementsystem (DBMS).
Suchanfragen ermöglichen das gezielte Abrufen von Informationen. Dabei lassen sie sich so einschränken, dass nur die benötigten Daten angezeigt werden.
Neben der Speicherung und Verwaltung von Informationen gehören der Datenschutz durch Backups, die Benutzerverwaltung und der Zugriffsschutz durch Passwörter zu den Aufgaben von Datenbanksystemen.
Grundsätzlich gibt es verschiedene Datenbanksysteme. Die relevantesten sind die hierarchische, die dezentralisierte, die relationale und die objektorientierte Datenbank.
Relationales Datenbanksystem
Das am meisten genutzte Datenbankmodell ist das relationale Datenbankmodell. Dieses hat Edgar F. Codd bereits 1970 entwickelt.
Das Datenbanksystem läuft meist zentral über einen Server. Dies ermöglicht den gleichzeitigen Zugriff für viele verschiedene Clients, also Programme.
Anwendung finden relationale Datenbanken im Web-Conten-Management, Controlling, Rechnungswesen und bei Warenwirtschaftssystemen. Sowohl kleinere Unternehmen als auch große Online-Shops nutzen relationale Datenbanken zur Verwaltung von Artikelinformationen und Bestandsdaten.
Bekannte relationale Datenbankmodelle sind MySQL und Oracle.
Funktionsweise von relationalen Datenbanken
Wie der Name bereits verrät, werden bei einem relationalen Datenbanksystem die Informationen mehrerer Datenbanken verknüpft, demnach in Relation gesetzt.
Eine Relation beschreibt außerdem die mathematische Definition einer Tabelle. Diese bilden die Basis für die Datenbank.
Zunächst besteht ein Datensatz. Er wird auch als record bezeichnet und enthält jeweils eine Reihe von Attributen.
Attribute sind die Spalten jeder Zeile. Jedes Attribut kann einen definierten Wertebereich annehmen.
Gespeichert werden die Attributwerte in den Zeilen bzw. Tupeln. Sie beinhalten mehrere Datensätze und müssen jeweils über einen Schlüssel eindeutig identifizierbar sein. Dazu werden Mitarbeitenden oder Kunden oftmals Nummern zugewiesen.
Der zur Identifikation eines Tupels genutzte Schlüssel ist der Primärschlüssel und darf nur einmalig innerhalb einer Datenbank vorkommen. Es sollte minimal und konstant sein, da die Schlüsselwerte sich nicht ändern dürfen. Somit ist es beispielsweise nicht empfehlenswert, Namen von Personen als Schlüssel festzulegen. Da Namen mehr als einmal in einer Datenbank vorkommen können, ist die Vergabe von ID-Nummern sinnvoll. Mehrere Fremdschlüssel verweisen wiederum auf den Primärschlüssel.
Wird eine Suchanfrage gestartet, kann durch die Verbindung der verschiedenen Tabellen das angeforderte Ergebnis erzielt werden.
Datenbankmanagementsysteme
Das Datenbankmanagementsystem für relationale Datenbanken ist das RDBMS (Relational Database Management System). Es wird zur Erstellung, Pflege und Verwaltung der Datenbank benötigt.
SQL
Aufgrund dessen, dass mehrere unterschiedliche Clients auf die Datenbank zugreifen, wird eine einheitliche Sprache benötigt. Die Schnittstellensprache SQL ermöglicht die Abfrage von Daten.
Eine mögliche Abfrage könnte so aussehen:
SELECT angefragte Attribute
FROM Tabelle, aus der die Daten entnommen werden sollen
WHERE Einschränkungen
ORDER BY Attribute, nach denen sortiert werden soll
Das Ergebnis einer SQL Anfrage ist eine Tabelle. Sie zeigt beispielsweise alle männlichen Kunden, die über 50 Jahre alt sind, und ihre letzte Bestellung, sortiert nach dem Alter, an.
WHERE und ORDER BY sind optionale Elemente, erleichtern allerdings die Suche.
Normalisierung von relationalen Datenbanken
Das Ziel einer Normalisierung ist die Vermeidung von Redundanzen bzw. Doppelungen und Inkonsistenzen. Dadurch wird sie flexibler und benötigt weniger Speicherplatz.
Meist wird eine erste Normalisierung schon bei der Erstellung der Datenbank durchgeführt.
Generell gibt es 5 Phasen, wobei in der Praxis nur die ersten drei umgesetzt werden.
Basis der Normalformen ist jeweils die vorherige. Um beispielsweise der 2. Normalform zu entsprechen, müssen auch die Anforderungen der 1. erfüllt sein.
Als Beispiel eignet sich eine Datenbank mit Namen, ID und Klasse der Schüler*innen und Lehrpersonen sowie der jeweils erhaltenen bzw. vergebenen Note.
1. Normalform
Eine Datenbank befindet sich in der 1. Normalform, wenn die Informationen der Tabellenzellen atomar, also nicht weiter zerlegbar sind.
Vor- und Nachname der Schüler*innen und Lehrkräfte müssen getrennt in einzelnen Datenfeldern sein.
2. Normalform
Jedes Nichtschlüsselattribut muss von jedem Schlüsselattribut voll abhängig sein. Genauer bedeutet das, dass Attribute, die nicht voneinander abhängig sind, in verschiedene Tabellen aufgeteilt werden. Dabei müssen sie über einen zusammengesetzten Schlüssel eindeutig zugeordnet sein.
Name und ID der Schüler*innen sind unabhängig von den Namen und der ID der Lehrpersonen. Somit gibt es zwei verschiedene Tabellen; eine für Schülerinformationen und eine für Lehrerinformationen. In einer dritten Tabelle sind die Noten mit den jeweiligen ID aufgeführt, da die Noten abhängig von Schüler*innen und Lehrpersonen sind.
3. Normalform
Kein Nichtschlüsselattribut ist transitiv (indirekt) von dem Primärschlüssel abhängig.
Aus dem Primärschlüssel Schüler*in ID folgt der Vor- und Nachname, die Klasse und die Lehrperson. Gleichzeitig folgt aus der Klasse die Lehrperson. Um die Datenbank in die 3. Normalform zu bringen, muss eine neue Relation mit den Attributen Klasse und Klassenlehrer*in erstellt werden.
Vorteile von relationalen Datenbanken
Obwohl das relationale Datenbanksystem bei sehr großen Datenmengen eher unhandlich ist, bieten sich viele Chancen. Ein großer Vorteil, der vor allem durch die Normalisierung besteht, ist die Verhinderung der mehrfachen Speicherung von gleichen Daten. Gleichzeitig schafft dies mehr Übersichtlichkeit und Bedienfreundlichkeit der Datenbank.
Relationale Datenbanken zeichnen sich durch eine schnelle Inbetriebnahme und Flexibilität aus. Die Aufteilung in mehrere verschiedene Tabellen erleichtert spätere Änderungen, da nur eine einzelne Tabelle geändert werden muss. Ebenso können neue Datenkategorien zu einem späteren Zeitpunkt hinzugefügt werden. Verlässt Beispielsweise eine Person ein Unternehmen, so können ihre Informationen, wie Adresse und Geburtsdatum, gelöscht werden ohne verknüpfte Daten zur jeweiligen Abteilung oder Kunden zu entfernen.
Der gleichzeitige Zugriff von verschiedenen Clients ermöglicht die Aktualität aller Daten.
Relationale Datenbanken erstellen lassen von TenMedia in Berlin
Die Digitalisierung erfordert Maßnahmen zur Verwaltung aller Daten. Daher gelten Datenbank als wichtiger Bestandteil von Unternehmen.
Jedoch ist die Erstellung von Datenbanken und der Umgang mit SQL ohne eine eigene IT-Abteilung nicht einfach umzusetzen. Daher greifen vor allem KMU oftmals auf Standardsoftware, welche nicht allen Anforderungen gerecht wird, zurück. Die Zusammenarbeit mit einer Softwareagentur ist in diesen Fällen sehr hilfreich.
Bei TenMedia in Berlin erstellen Entwickler mit jahrelanger Erfahrung individuelle Datenbanken. Die individuelle Softwareentwicklung ist nachhaltiger als vorgefertigte Lösungen und exakt auf die Unternehmensbedürfnisse zugeschnitten.
Von der Anforderungsanalyse über die Konzeption und den ersten Entwurf bis zur Realisierung des Projekts begleiten wir unsere Kunden.
Unsere maßgeschneiderten Datenbanklösungen zeichnen sich durch ein bedienfreundliches Erscheinungsbild aus und sind zugleich effizient und komplex im Hintergrund.
Über die Datenbankentwicklung hinaus entwickelt unser dynamisches, junges Team Softwarelösungen für KMU, moderne Apps und übernimmt die Erstellung von Websites und Portalen.
Bei weiteren Fragen steht unser Team gerne telefonisch, per Mail oder bei einem unverbindlichen, persönlichen Gespräch in Berlin Mitte bereit.