Softwareentwicklung Datenbank

Fast jede Fachanwendung steht auf einer Datenbank. Der Begriff Softwareentwicklung Datenbank beschreibt genau diesen Fall, bei dem nicht die Oberfläche den Aufwand bestimmt, sondern das Datenmodell darunter.
Mitarbeiter*innen einer Softwareagentur entwickeln eine Datenbank an ihren Laptops.
© SFIO CRACHO

Softwareentwicklung Datenbank: Definition

Softwareentwicklung Datenbank bezeichnet die Entwicklung von Anwendungen, deren fachlicher Kern in einer Datenbank liegt. Programmiert werden das Erfassen, Auswerten und Ausgeben der Daten sowie die Regeln, nach denen sie gespeichert werden. Der Begriff umfasst den Entwurf des Datenmodells, die Anbindung über Schnittstellen und die Anwendung selbst, nicht den technischen Betrieb der Datenbank.

Vom Datenmodell zum Code

Am Anfang steht nicht die Programmierung, sondern das Datenmodell. Festgelegt wird, welche Objekte es gibt, wie sie zusammenhängen und welche Regeln für sie gelten. Ein Fehler im Datenmodell wirkt auf jede Funktion, die später darauf zugreift, und lässt sich nach der Inbetriebnahme nur über eine Migration beheben. Deshalb geht die Softwareentwicklung mit Datenbank vom Modell aus und leitet die Anwendungslogik daraus ab, nicht umgekehrt.

Wie Datenbank und Anwendung zusammenspielen

Die Anwendung greift über eine definierte Schnittstelle auf die Datenbank zu, meist über SQL oder über eine Zwischenschicht, die Objekte auf Tabellen abbildet. Diese Trennung erlaubt, Anwendung und Datenbank unabhängig voneinander zu ändern. Datenbankgestützte Software besteht damit aus zwei Teilen mit sehr unterschiedlicher Lebensdauer, denn ein Datenmodell überdauert in der Praxis mehrere Generationen der Oberfläche. Wird ein Altsystem ersetzt, liegt der größere Aufwand deshalb selten in der neuen Anwendung, sondern in der Datenmigration der bestehenden Bestände.

Web-Datenbank

Liegt die Datenbank auf einem Server und wird über den Browser genutzt, heißt sie Web-Datenbank. Zugriff, Rechte und Protokollierung laufen dann über die Webanwendung, die Datenbank selbst bleibt von außen unerreichbar. Diese Trennung ist eine Sicherheitsanforderung, keine Architekturfrage. Für Behörden und Betreiber kritischer Infrastruktur ist sie Voraussetzung für den Betrieb.

Auswertung und Berichte

Der sichtbare Nutzen entsteht meist nicht beim Erfassen, sondern beim Auswerten. Berichte, Suchfunktionen und Kennzahlen greifen auf dieselben Daten zu wie die Eingabemasken, stellen aber andere Anforderungen an Struktur und Geschwindigkeit. Wo große Datenmengen ausgewertet werden, ist der lesende Zugriff deshalb vom schreibenden getrennt, etwa über eigene Indizes oder eine nachgelagerte Kopie. Diese Entscheidung fällt im Entwurf und lässt sich später nur mit erheblichem Aufwand nachholen.

Abgrenzung zur Datenbankentwicklung

Datenbankgestützte Software ist nicht dasselbe wie Datenbankentwicklung. Dort geht es um Entwurf, Aufbau, Indizierung und Optimierung der Datenbank selbst, hier um die Anwendung, die sie nutzt. In Projekten fallen beide Arbeiten meist zusammen, in der Zuständigkeit nicht. Softwareentwicklung Datenbank meint also die Anwendungsseite dieser Aufgabe, während die Datenbankseite eigene Fachkenntnis und andere Werkzeuge verlangt. Wer beides beim selben Anbieter vergibt, spart die Abstimmung zwischen zwei Gewerken.

Aktuelle Themen