Datenbanken
Datenbanken ermöglichen die elektronische Verwaltung großer Datenmengen. Die wesentliche Aufgabe eines Datenbanksystems besteht darin, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern. Zudem muss der Zugriff auf benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme sicher gestellt sein. Die Verwaltungssoftware organisiert intern die strukturierte Speicherung der Daten und kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank. Zur Abfrage und Verwaltung der Daten kommen Datenbanksprachen zum Einsatz.
In unseren Seminaren zum Thema Datenbanken vermitteln wir Anwendern und Datenbankadministratoren praxisbezogenes Fachwissen zu den Themen SQL, MySQL und SPSS.
Der Datenbankprogrammierer
Datenbankprogrammierer arbeiten an der Datenbankerstellung, -programmierung, -erweiterung und -administration. Hierzu setzen sie Datenbanksprachen, wie SQL ein, die von Programmiersprachen wie Java zu unterscheiden sind. Außerdem benötigen sie Kenntnisse in Datenbankmodellen, wie relationalen Datenbanken, um Datenbanken zu strukturieren. Datenbankprogrammierung stellt einen eigenständigen Kompetenzbereich in der IT-Administration neben z. B. der klassischen Programmierung dar.
Auch Datenprogrammierer müssen sich aufgrund von Entwicklungen auf dem digitalen Markt zunehmend mit Datenschutz und Datensicherheit beschäftigen.
Definition Datenbanken und Datenbanksystem
Datenbanken oder Datenbanksysteme (DBS) sind Sammlungen von Informationen, die die Verarbeitung großer Datenmengen erleichtern sollen. Zu ihren Funktionen gehören z. B. das Speichern, Abfragen und Verändern von Daten und Datenstrukturen. Ziel und Aufgabe einer Datenbank ist es, Daten so zu organisieren, dass sie schnell, dauerhaft, sicher und unbeschädigt bereitgestellt werden können.
Zwei wichtige Elemente einer Datenbank
- Datenbankmodelle klären die Frage: Wie sollen Daten organisiert werden (Struktur)?
- Datenbanksprache beantworten: Wie kommunizieren Anwender und Datenbanksystem miteinander (Syntax)?
Datenbankmodelle
Die Struktur einer Datenbank wird durch das zugrunde liegende Datenbankmodell bestimmt. Datenbankmodelle sind eng mit Datenbanksprachen verknüpft. Ein Datenbankmodell ist das Gerüst einer Datenbank, die Datenbanksprache das Sprachrohr zwischen Nutzer und Technik. Die wichtigsten Datenbankmodelle sind heute:
- Relationale Datenbanken: Daten werden hier in mehreren Tabellen verwaltet, die untereinander in Beziehungen stehen. Bei der Programmierung relationaler Datenbanken wird fast ausschließlich die Datenbanksprache SQL und die Datenbankmanagementsysteme MySQL und MariaDB eingesetzt. Ein Nachteil relationaler Datenbanken liegt in der Skalierung. Je größer die Datenmengen, desto länger ist die Bearbeitungszeit einer Abfrage über eine relationale Datenbank. Dennoch ist dies die gängigste Form von Datenbankmodellen und Standard auf dem Markt der Datenbankentwicklung.
- Objektorientierte Datenbanken: In der „objektorientierte Programmierung“ (OOP) werden Objekte anstelle von Tabellen eingesetzt. Der Begriff „Objekt“ ist dabei sehr weit ausgelegt. Objekte können als übersichtliche und wiederverwendbare Bausteine oder Module verstanden werden. In der OOP finden Begriffe und Konzepte Anwendung, die sich von anderen Programmiermethoden sehr unterscheiden. Typische Eigenschaften und Vorteile von objektorientierten Datenbanken sind die Vererbung, die Kapselung von Daten und die Polymorphie (Vielgestaltigkeit). Bei der OOP werden Sprachen wie C++, Java und PHP eingesetzt.
- Dokumentenbasierte Datenbanken: Daten werden nicht in Form von relationalen Datenbanktabellen, sondern Dokumenten mit unterschiedlichen Attributen und einem eindeutigen Schlüsseln gespeichert. Dokumentenorientierte oder -basierte Datenbanken lösen klassische relationale Datenbanken immer mehr ab. Der Ansatz der Datenbankentwicklung hat in der Praxis entscheidende Vorteile, da auch komplexe Datenstrukturen mit kurzen Abfragezeiten bearbeitet werden können. Die Abfrage dokumentenorientierter Datenbanken erfolgt üblicherweise über die Datenbanksprache NoSQL. In dieser Hinsicht wird auch von NoSQL-Datenbanken gesprochen.
Datenbanksprachen
Datenbanksprachen ermöglichen über Befehle, Datenstrukturen zu verändern und abzufragen. Sie dienen der Kommunikation zwischen Anwender und Datenbank. Die wichtigsten Datenbanksprachen sind SQL (Structured Query Language) und Programmierschnittstellen von NoSQL-Systemen.
SQL ist Standard bei der Programmierung relationaler Datenbanken und hat den Vorteil, bei kleineren Datenmengen flexibel einsetzbar zu sein. Die Zugriffszeiten bei steigender Datenbankgröße werden bei SQL jedoch schlechter. Das weltweit durch die Digitalisierung steigende Datenvolumen führt dazu, dass sich immer mehr Daten in komplexen Strukturen befinden. Die Menge an Informationen ist heute so groß, dass SQL an Geschwindigkeit einbüßt.
Im Kontext von „Big Data“ spielt NoSQL eine immer wichtigere Rolle. NoSQL ist als Alternative zu SQL konzipiert und hat eine entsprechend offene Methodik. Dadurch können auch komplexe Abfrageanforderungen ohne Performance-Probleme durchgeführt werden.
Dennoch ist SQL auch aufgrund seiner Geschichte auf dem Markt fest etabliert und aus modernen Datenbankmanagementsystemen nicht wegzudenken.