DBMS - Database Management System
Was ist ein DBMS?
DBMS ist eine Abkürzung für Database Management System oder zu Deutsch Datenbankmanagementsystem. Dabei handelt es sich per Definition um eine Software, welche zusammen mit der Datenbasis, die Gesamtheit der zu verwaltenden Daten, die eigentliche Datenbank ergibt. Das DBMS ist der Teil der Datenbank, der eine abgegrenzte Menge an Daten elektronisch speichern und verwalten kann. Man könnte es mit einem Dateimanager vergleichen, nur dass Daten statt Dateien verwaltet werden. Zusätzlich organisiert und strukturiert das System die Daten, sorgt dafür, dass sie konsistent verfügbar sind und legt den Zugriff, bzw. Lese- und Schreibberechtigungen der einzelnen User für die Daten fest.
Ein DBMS kann entweder auf einem Server oder lokal auf einem Computer installiert sein. Mithilfe einer Datenbanksprache können sogenannte Datenbankabfragen getätigt und die Daten gespeichert sowie verwaltet werden. Datenbanksprachen sind mit Programmiersprachen zu vergleichen, obwohl ihre Syntax meist der englischen Umgangssprache angelehnt ist und sie deshalb etwas einfacher aufgebaut und zu lernen sind. Die meistverwendete Datenbanksprache ist SQL, kurz für Structured Query Language, ursprünglich SEQUEL genannt. Mit ihr lassen sich Datenbankstrukturen festlegen und die Daten mit Datenbankoperationen bearbeiten. Diese nennen sich bei einer Datenbank auch CRUD Operations (create, read, update, delete).
Arten von DBMS
Es gibt mehrere Arten von Database Management Systemen. Die größte Unterscheidung ist die zwischen RDBMS (relationales Datenbankmanagementsystem) und ODBMS (objektorientierten Datenbankmanagementsystem), auch kurz Objektdatenbank genannt. Letzteres Datenbankmodell stützt bspw. die Softwareentwicklung mit einer objektorientierten Programmiersprache wie C# oder Java, ist jedoch nicht so weit verbreitet.
RDBMS
In der Entwicklung von webbasierter Software und Webseiten kommt vor allem die relationale Datenbank zum Einsatz. RDBMS sind Systeme mit mehreren zueinander in Beziehung stehenden Tabellen, die miteinander kommunizieren und die Daten voneinander beziehen. Diese Beziehungen nennt man auch Relationen. Die Form der Datenauslagerung spart einerseits Speicherplatz und erhöht andererseits die Performance der Anwendungen, weil große Datenmengen und Metadaten so schneller verwaltet werden können.
Das populärste RDBMS ist MySQL vom Anbieter Oracle. MySQL wird häufig im Zusammenspiel mit der Programmiersprache PHP verwendet, welche w3techs zufolge die Grundlage 80% aller Websites bildet. Der größte Einsatzbereich von Datenbank Managementsystemen ist die Entwicklung von dynamischen Webseiten mit einem responsive Webdesign – ein sehr zukunftsträchtiger Bereich, da Bildschirmgrößen immer heterogener werden.
Entwicklung von DBMS
1960er: IBM und CODASYL
Die Geschichte von DBMS begann etwa in den 1960er Jahren, als IBM das erste DBMS mit dem Namen ICS (Information Control System) auf den Markt brachte, was später in IMS (Information Management System) umbenannt wurde und noch heute verwendet und weiterentwickelt wird. Der Aufbau der Komponenten ist dabei hierarchisch und die verwendete Datenbanksprache ist DL/I, was für Data Language Interface steht, aber auch Data Language One genannt wird.
Ungefähr zur gleichen Zeit entwickelte Charles Bachman zusammen mit seiner Database Task Group das Datenbankmanagementsystem CODASYL, welches im Gegensatz zu IMS netzwerkartig aufgebaut war. Dennoch wurden sowohl IMS wie auch CODASYL als Navigationsdatenbank bezeichnet.
1970er: Erste RDBMS
Relationale Datenbankmanagementsysteme, sogenannte RDBMS, entstanden erst in den 1970er Jahren. Edgar F. Codd war ein IBM Mitarbeiter und störte sich an CODASYL, besonders jedoch an der fehlenden Suchfunktion in der Datenbank. Daher schrieb er eine Abhandlung, in der er ein neues Datenbanksystem beschrieb, welches große Datenmengen in Tabellen mit fester Länge speichert und jede Tabelle eine andere Entität darstellt. Während in Navigationsdatenbanken viele verschiedene Informationen in einem Datensatz abgelegt werden, wird in relationalen DBMS für jeden Informationstypen eine eigene Tabelle angelegt. Diese Tabellen (Relationen) stehen in Beziehungen zueinander und können mithilfe von Keys miteinander verlinkt werden.
Beiden Systemen, dem Navigations- und dem relationalen Datenbanksystem, ist gemeinsam, dass sie ihre Daten mithilfe von Schleifen (Loops) sammeln, während RDBMS diesen Vorgang sogar für jeden einzelnen Datensatz durchführen müssen. Edgar F. Codds Lösungsvorschlag war daher eine Datenbanksprache, die eher Set-orientiert ist, sodass mit dem Ausführen eines einzigen Befehls eine ganze Reihe an Daten gefunden und ausgegeben werden konnte. Genau dies setzte die Datenbanksprache SQL später um.
Um die Performance weiter zu verbessern, wurden Datenbanksysteme mit integrierter Hardware und Software gebaut. Der Erfolg dieses Datenbanksystems blieb aber aus, weil es nicht mit der schnellen Entwicklung von Allzweck-Computern mithalten konnte. Aus diesem Grund sind die meisten Datenbanksysteme heute Software, die auf gängigen PCs läuft, obwohl manche Hersteller wie Oracle die Idee (bspw. mit ihrem System Exadata) weiterhin verfolgen.
Basierend auf Codd’s Konzepten entwickelte IBM in den frühen 1970er Jahren einen Prototyp namens System R, welche die Daten aufteilte, statt sie in einem Datenblock zusammenzupferchen und zu speichern. Da sich diese Herangehensweise als vielversprechend herausstellte und CODASYL in den Schatten stellte, entwickelte IBM SQL/DS, was später zu Database 2 (IBM DB2) wurde.
In den späten 1970er Jahren entwickelte Lary Ellison Oracle auf Basis der Abhandlungen zu System R von IBM, wobei jedoch erst die zweite Version von Erfolg gekrönt war.
1980er: dBase
Die 1980er Jahre brachten im Zuge der Desktop-Computer Software wie dBase hervor, welches mit seinen Komponenten das bisher benutzerfreundlichste Datenbanksystem war. Aufgaben wie das Öffnen, Lesen und Schließen von Dateien wurden schlicht von der Software übernommen, sodass diese nicht mehr händisch erfolgen mussten.
1990er: Objektorientierte Datenbanken ODBMS
In den 1990er entwickelte sich die objektorientierte Programmierung, weshalb auch Programmierer und Designer begannen, ihre Datensätze als Objekte zu verstehen. So fand eine Bedeutungsverschiebung statt, sodass Objekte mit ihren Attributen in Verbindung gebracht werden, also bspw. persönliche Daten zu einer bestimmten Person, statt externe Felder zu sein.
2000er: NoSQL und NewSQL
Während sich auch die Software- und Webentwicklung weiter zur Benutzerfreundlichkeit entwickelt, lässt sich auch in der Datenbankverwaltung ein NoSQL Trend feststellen. In vielen Fällen wird auch auf XML, kurz für Extensible Markup Language, zurückgegriffen, um hierarchisch strukturierte Daten darzustellen, Daten schneller zu laden als bspw. in einer SQL-Datenbank und sie horizontal skalierbar zu machen. Dazu zählen unter anderem Sitemaps im Footer von Websites zur Indexierung der Unterseiten, Personalunterlagen, Steuererklärungen, Patente oder sogar wissenschaftliche Artikel.
Eine weitere Entwicklung ist die Verwendung von NewSQL, welches eine moderne Form der RDBMS ist und eine horizontale Skalierbarkeit erlaubt, jedoch weiterhin auf SQL basiert und die gleiche Datensicherheit bzw. Integrität bietet. Während Anwendungen und auch die Datenbank an sich lange Zeit entweder lokal oder auf dem eigenen Server gespeichert und verwaltet wurde und wird, entwickelt sich wie auch in vielen anderen Data Bereichen der Trend zur Cloud. Um die Sicherheit zu gewähren und den Zugriff einzuschränken, gibt es hier spezielle Cloud Anwendungen für Unternehmen oder ganze Enterprise Clouds.
Bis heute verwendete DBMS sind:
- IBM IMS
- Microsoft SQL Server
- IBM DB2
- Database 12c von Oracle
- MySQL
DBMS bei der Webagentur TenMedia
TenMedia ist eine junge Software- und Webagentur in Berlin. Dynamische Webseiten und Individualsoftware gehören seit 2011 fest zu unserem breitgefächerten Portfolio. Bei uns gibt es keinen Code von der Stange – unser Entwicklungsteam schneidert jede Anwendung nach Maß und geht dabei auf individuelle Kundenwünsche und Anforderungen ein. Wir folgen immer den neuesten Trends und arbeiten mit state-of-the-art Technologien, darunter auch DBMS wie MySQL in der aktuellsten Version.
Für ein unverbindliches Kennenlernen sind wir jederzeit telefonisch, per Mail oder persönlich in unserem Office in Berlin Mitte erreichbar.