MySQL

MySQL gehört zu den populärsten relationalen Datenbankmanagementsystemen und wird vor allem im Web Development eingesetzt. Was macht dieses RDBMS so beliebt und worin liegen die Vor- und Nachteile?
Mitarbeiter*innen einer Agentur besprechen, wie sie MySQL bei der Umsetzung des Kundenprojekts einbringen können und schauen gemeinsam auf einen Laptop.
© mavoimages

Was ist MySQL?

MySQL ist ein Datenbankmanagementsystem, oft auch Datenverwaltungssystem genannt oder DBMS abgekürzt, und wird alleinstehend als RDBMS für relationale Datenbanken oder als Teil eines sogenannten Techstacks, einer Kombination aus mehreren Technologien, in der Webentwicklung eingesetzt. Es gehört neben PostgreSQL, Microsoft SQL Server und MariaDB zu den am weitesten verbreiteten Datenbankmanagementsystemen und ist sowohl als Open-Source-Software als auch als Enterprise Version erhältlich.

Die Entwicklung begann 1994, die erste Version erschien im Mai 1995. Verantwortlich war das schwedische Softwareunternehmen MySQL AB. Der Name MySQL setzt sich zusammen aus der Datenbanksprache SQL und My, dem Namen der Tochter des Mitbegründers Michael Widenius. 2008 übernahm Sun Microsystems MySQL AB, 2010 ging MySQL mit der Übernahme von Sun an Oracle über.

Funktionsprinzip von MySQL einfach erklärt

MySQL von Oracle ist aus einem MySQL-Server und einem oder mehreren MySQL-Clients aufgebaut. Streng genommen ist der MySQL-Server das Datenbank Managementsystem, welches die Daten speichert und verteilt.

MySQL Datenbanken sind relationale Datenbanken, was bedeutet, dass Daten nicht an nur einem Speicherort gesammelt werden, sondern sich auf mehrere Tabellen verteilen. Die Struktur der Datenbank ist in separaten physischen Dateien organisiert. Mithilfe der Programmierung werden Regeln festgelegt, die die Beziehungen, sogenannte Relationen, der einzelnen Datenfelder untereinander definieren. So kann die eine Tabelle ihre Informationen aus einer anderen Tabelle beziehen. Auf diese Weise werden auch Redundanzen und Duplikate in der Datenbank vermieden.

Wie der Name bereits vermuten lässt, erfolgen Abfragen an die Datenbank mit der Datenbanksprache SQL. SQL steht für Structured Query Language und ähnelt semantisch der englischen Umgangssprache, weshalb die Syntax relativ simpel aufgebaut ist. Die Datenbankabfragen können auf unterschiedliche Weise erfolgen: Entweder können sie direkt in SQL eingegeben oder als SQL Statements in eine andere Programmiersprache integriert werden. Soll SQL gänzlich umgangen werden, kann auch eine spezifische Programmierschnittstelle, eine sogenannte API verwendet werden, um die SQL Syntax zu verbergen.

Wofür wird MySQL verwendet?

MySQL unterstützt je nach Version viele verschiedene Datentypen. So können unter anderem numerische Daten, Zeichenketten wie Texte oder Characters oder Datums- oder Uhrzeitformate in der Datenbank verarbeitet werden.

Die häufigste Verwendung von MySQL ist die Datenspeicherung in der Webentwicklung. In Kombination mit anderen Technologien dient es dort vor allem der Entwicklung dynamischer Websites.

PHP und MySQL

Um eine Internetseite zu erstellen reicht MySQL als Datenbankmanagementsystem nicht aus. Es braucht neben der Datenbank auch einen Server, auf dem die Anwendung gespeichert und gehostet wird, und eine für die Webentwicklung geeignete Programmiersprache. Die häufigste Kombination mit MySQL ist die Skriptprogrammiersprache PHP und der Linux-Server Apache bzw. Nginx. Alle Komponenten zusammen werden auch LAMP (Linux + Apache + MySQL + PHP) Techstack genannt. Wird Apache durch Nginx ersetzt, lautet die Abkürzung LEMP, abgeleitet von der Aussprache engine-x. Ein geeignetes Framework wie das PHP-Framework Laravel bietet zusätzliche Unterstützung bei der Programmierung.

Es hat sich bewährt, Online Projekte mit PHP und MySQL umzusetzen. PHP und MySQL sind starke Partner, weshalb viele Webanwendungen auf diese Kombination setzen. Dazu gehören unter anderem YouTube und Facebook. Viele Webhosting Provider statten ihre Server standardmäßig mit PHP und MySQL aus. Selbst populäre Content-Management-Systeme (CMS) wie TYPO3 oder WordPress verwenden im Hintergrund PHP und für die Datenspeicherung MySQL.

Auch Webagenturen arbeiten häufig mit PHP und MySQL, weil sich damit sehr individuelle Lösungen und Individualsoftware genau nach Kundenwunsch entwickeln lässt.

Als serverseitige Skriptsprache lassen sich mit PHP interaktive und dynamische Websites mit flexiblem Content erstellen. Deutliche Fortschritte bei Geschwindigkeit und Typsicherheit brachten die Versionen 7 (2015) und 8 (2020). PHP ist plattformunabhängig und damit zwischen verschiedenen Systemen portabel. Da sich PHP-Code direkt in HTML-Dokumente einbetten lässt, ist das Zusammenspiel mit HTML besonders eng. Außerdem bietet PHP von der Syntax ideale Voraussetzungen für Datenbankabfragen.

Doch nicht nur aus diesem Grund werden PHP und MySQL für dynamische Websites eingesetzt. Relationale Datenbanksysteme wie MySQL verteilen die Daten auf mehrere Tabellen. Das spart Speicherplatz und erlaubt es, große Datenmengen schnell zu verarbeiten, was der Performanz von Webanwendungen zugutekommt.

Nicht zuletzt ist PHP quelloffen und MySQL in der Community Edition unter der GPL frei nutzbar. Lizenzkosten entstehen erst bei der kommerziellen Enterprise-Variante, weshalb dieser Techstack aus Datenbank und Programmiersprache in der Regel kostengünstig bleibt.

Nachteile von MySQL

Die Nachteile von MySQL werden vor allem dann offenbar, wenn Laien bzw. unerfahrene Softwareentwickler dieses RDBMS verwenden wollen. Um Programmierkenntnisse, zumindest im Datenbankbereich, kommt man bei MySQL nicht herum. Daher erfordert MySQL gerade am Anfang etwas Einarbeitung. Auch da es selten alleinstehend verwendet wird, sollten Grundkenntnisse der anderen Technologien vorhanden sein und Zusammenhänge hergestellt werden können. Der Server selbst wird über die Kommandozeile bedient. Für eine grafische Oberfläche sind zusätzliche Werkzeuge nötig, etwa die von Oracle bereitgestellte MySQL Workbench oder phpMyAdmin.

MySQL Datenbanken bei TenMedia in Berlin

TenMedia ist eine Software- und Webagentur in Berlin. Seit 2011 gehört die Entwicklung von individuellen Softwarelösungen und dynamischen Websites fest zu unserem Angebot an technischen Dienstleistungen. Unsere Webanwendungen basieren nicht auf schlüsselfertigen CMS, sondern werden nativ von unserem Development Team von Grund auf mithilfe leistungsstarker Technologien, meist auf Basis eines LAMP Techstacks, entwickelt. Dabei setzen wir alle Kundenwünsche genauestens um und sorgen so für einmalige individuelle Softwarelösungen.

Wir freuen uns über Anfragen per Telefon oder E-Mail und stehen jederzeit für ein persönliches und unverbindliches Kennenlernen in unserer Webagentur zwischen Alexanderplatz und Rosa-Luxemburg-Platz in Berlin Mitte zur Verfügung.

Aktuelle Themen