Definition „Database“

Was ist eine Datenbank?

| Autor / Redakteur: zeroshope / Stephan Augsten

In einer Datenbank werden Datensätze dauerhaft gespeichert und für Anwendungen, das Betriebssystem oder den Benutzer bereitgestellt.
In einer Datenbank werden Datensätze dauerhaft gespeichert und für Anwendungen, das Betriebssystem oder den Benutzer bereitgestellt. (Bild gemeinfrei: mcmurriejulie - Pixabay.com)

Eine Datenbank ist entscheidend für die Funktion jedes computergestützten Systems. Sie speichert Daten und stellt sie jeweils in der gewünschten Form für den Nutzer bereit. Eine Datenbank besteht dabei aus zwei Komponenten: dem Datenbanksystem, kurz DBS, und der Datenbank selbst.

Eine Datenbank arbeitet große Datenmengen effizient und widerspruchsfrei auf. Konkret bedeutet dies, dass die Datenbank die Daten dauerhaft speichert und zur Benutzung bereitstellt.

Die Daten sollten dabei in unterschiedlicher Art abgerufen werden können. Vereinfacht gesagt: Ein Bild (= ein bestimmter Datensatz) sollte sich sowohl in einem Bildbearbeitungsprogramm wie auch in einem Schreibprogramm betrachten lassen.

Die Rolle der Datenbank: Drittes Standbein des Rechners

Die Software eines Computers fußt grob gesagt auf drei Standbeinen: Dem Betriebssystem (OS), den Applikationen (Programmen/Anwendungen) auf der Benutzeroberfläche sowie den riesigen Datenmengen (Datensätzen). Die Daten dienen teilweise zur Funktion des Betriebssystems, teils werden sie von den Applikationen benötigt und teilweise handelt es sich um Daten, die bewusst vom Rechner abgelegt wurden.

Die Daten müssen nun gebündelt und zugeordnet werden. Außerdem müssen Nutzer, System und Applikationen auf sie zugreifen können. Eben diese Aufgabe wird von Datenbanken übernommen. Jeder Computer hat deshalb nicht nur eine Datenbank, sondern viele.

DBS und DB: Die zwei Komponenten einer Datenbank

Damit die Datenbank ihre Rolle wahrnehmen kann, benötigt sie zwei Komponenten:

  • Datenbanksystem (DBS, manchmal auch Datenbankmanagementsystem bzw. DBMS).
  • Datenbank im engeren Sinne (DB, manchmal auch Datenbasis oder Datenbestand). Die DB gliedert sich in unterschiedliche Bibliotheken, in denen die einzelnen Datensätze zu finden sind.

Das DBS übernimmt die Kommunikation zwischen Anfragendem (dem Anwender, einem Programm oder dem OS) sowie der Datenbank. Es erkennt, welche Daten benötigt werden und stellt diese in der gewünschten Form bereit. Neue Daten werden vom DBS zudem in den Bestand „einsortiert“.

Die zentrale Rolle des DBS

Datenbanken sind hochsensibel, immerhin enthalten sie zentrale Informationen. Teilweise können Angreifer auch Zugang zu eigentlich abgeschirmten Netzwerken über Datenbanken erhalten. Sie müssen hierfür beispielsweise einen entsprechenden Ausführungscode in der passenden Datenbankbibliothek platzieren können.

Dem DBS kommt entsprechend eine zentrale Rolle zu. Es muss neben der Datenverwaltung auch den Bestand schützen. Datenbanken sind deshalb heutzutage relational und nicht mehr hierarchisch aufgebaut. So wird verhindert, dass ein Angriff (oder auch ein Fehler) von oben bis auf die unterste Ebene der Datenbank durchgreifen kann.

Datenbanken funktionieren zudem mit eigenen Sprachen, die Eingriffe von außen ebenfalls erschweren. Kommerziell sehr erfolgreich ist beispielsweise die Oracle-Sprache SQL. Entsprechende Datenbanken werden vor allem im Webhosting häufig eingesetzt. Die eigene Programmiersprache verhindert (im Idealfall), dass Malware in einer anderen Sprache auf die Datenbanken durchgreift.

Das DBS kann zudem Zugriffsrechte beschneiden, um vor Angriffen zu schützen. Von Bedeutung ist dies insbesondere dann, wenn eine neue Schnittstelle mit einem Programm eingerichtet wird.

Bildlich gesprochen ist das DBS vergleichbar mit einem Geldautomaten: Hinter dem Automaten liegt der gesamte Geldbestand aller Kunden: Der Automat gewährt nach Authentifizierung Zugriff auf das eigene Konto und reduziert beispielsweise den Kontostand um die Summe der Abhebung (relationale Funktion).

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

6 Cloud-Native-Versprechen

Vorteile in der Cloud entwickelter Software

6 Cloud-Native-Versprechen

Cloud Native Development verspricht robuste und agile Softwareentwicklung mit leistungsstarken Ergebnissen. Statt sich um die Infrastruktur und ihre Eigenheiten zu kümmern, können Entwickler sich voll und ganz auf die eigentliche Softwareentwicklung konzentrieren. lesen

Was ist Apache Flink?

Definition „Flink Stream Processing Framework“

Was ist Apache Flink?

Apache Flink ist ein Open-Source-Framework, das die Verarbeitung von Datenströmen erleichtert. Es ermöglicht die kontinuierliche Verarbeitung von Daten in Echtzeit und kann auf den unterschiedlichsten Plattformen genutzt werden. lesen

7 Open Source Tools für Developer

Entwickeln, Berichte erstellen und Daten abfragen

7 Open Source Tools für Developer

Open-Source-Tools bieten in der Entwicklung einige Vorteile. Für die Developer Community sind sie in der Regel kostenlos, ihr Code ist frei zugänglich und neue Versionen erscheinen in kurzem Zeitabstand. lesen

Visual Studio mit AWS CodeCommit nutzen

ASP.NET-Apps auf AWS Elastic Beanstalk migrieren, Teil 1

Visual Studio mit AWS CodeCommit nutzen

Elastic Beanstalk bietet eine komplett von AWS verwaltete .NET-Plattform für Deployment, Skalierung und Aktualisierung von Anwendungen. Wir beschreiben in einem vierteiligen Workshop, wie man die zugrunde liegende DevOps-Pipeline komplett auf AWS betreiben kann. lesen

Was ist die Twelve-Factor App?

Defintion „12-Factor Framework“

Was ist die Twelve-Factor App?

Wenn Software für einen Nutzer individuell hergestellt und über die Cloud geliefert wird, bezeichnet man dies als „Software as a Service“. Die Twelve-Factor App ist eine Methode, mit der diese Softwarelösungen praxisorientiert und passgenau gestaltet werden können. lesen

Simplifier 5.0 mit WYSIWYG und Live-Vorschau

Entwicklung mit Low-Code-Ansatz für Fachabteilungen

Simplifier 5.0 mit WYSIWYG und Live-Vorschau

Mit Version 5.0der Low-Code-Plattform Simplifier soll die Entwicklung von Anwendungen wesentlich vereinfacht werden. Das Produkt bietet einen WYSIWYG-Editor und eine Live-Preview. lesen

Agile Projektmanagement-Methoden besonders wichtig

GULP-Umfrage zur Zukunft der Projektarbeit

Agile Projektmanagement-Methoden besonders wichtig

Freiberufler und Festangestellte sind gleichermaßen überzeugt davon, dass Projektarbeit kurz- bis mittelfristig agiler wird. Zu diesem Schluss kommt der Personaldienstleister GULP mit Blick auf das „New Work Kompendium“ – eine Umfrage, an der sich erstmals neben Freelancern auch Festangestellte beteiligen durften. lesen

Web-API-Applikation mit Aurora integrieren

Dotnet-Web-API auf Amazon Aurora, Teil 2

Web-API-Applikation mit Aurora integrieren

Die Grundlagen dafür, eine auf Microsoft .NET Core basierende Web-API-Anwendung mit AWS-Diensten und Amazon Aurora zu integrieren, haben wir gelegt. An einem AWS-Demoprojekt spielen wir nun die vollständige Konfiguration und Bereitstellung durch. lesen

Softwareoptimierung für Automatisierungsanwendungen

Softwareoptimierung für Automatisierungsanwendungen

Wo viele Menschen zusammen arbeiten, passieren Fehler. Dies gilt auch für das Erstellen von Software für Steuerungsaufgaben in industriellen Anlagen. Selbst wenn diese Fehler keine größeren Schäden anrichten, verursachen sie häufig beträchtlichen Mehraufwand. Anhand von drei Beispielen soll gezeigt werden, wie sich dies vermeiden und die Qualität von Software in automatisierungstechnischen Produktionssystemen grundsätzlich verbessern lässt. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44687582 / Definitionen)