Datenbank

Eine Datenbank ist eine Softwarelösung für die Speicherung, Strukturierung und Verwaltung von elektronischen Daten.
Die Datenbank, über die sich diese Mitarbeiter einer Softwareagentur unterhalten, wird auf einem Bildschirm vor ihnen angezeigt und die Mitarbeiterin zeigt auf den Bildschirm, während die and
© puhhha

Datenbank Definition

Eine Datenbank ist ein auf Software basierendes System, mit dem sich elektronische Daten strukturieren, speichern und verwalten lassen. Datenbanken dienen vor allem dem Management von großen Datenmengen mit dem Ziel einer effizienten Aufbereitung und einer adäquaten Darstellung für Benutzer oder zur Weiterverarbeitung durch andere Software. Durch ein Datenbanksystem, kurz DBMS, können viele Verwaltungsvorgänge und Unternehmensprozesse vereinfacht werden. Aus diesem Grund zählen Datenbanken vornehmlich zur Unternehmenssoftware, obwohl sie auch im privaten Bereich genutzt werden.

Eine Datenbank besteht aus einer Datenbasis – der Summe der Daten, die verwaltet werden – und einem Datenmanagementsystem, in welches die Daten eingepflegt werden und welches diese strukturiert und darstellt.

Arten von Datenbanken

Die Einsatzbereiche von Datenbanken sind vielfältig und die verschiedenen Arten daher geradezu endlos. Eine Unterscheidung lässt sich entweder anhand ihres Inhalts oder ihrer Art der Organisation treffen. Ist die Datenbank für Anwender bestimmt, wird sie meist einer inhaltlichen Kategorie zugeordnet, für Entwickler bzw. Datenbankentwickler im Speziellen ist eher der organisatorische Ansatz von Belang, wobei das eine das andere nicht ausschließen muss: Eine Volltextdatenbank kann beispielsweise relational, dezentral und objektorientiert sein.

Inhaltliche Kategorien für Datenbanken:

  • Bibliografische Datenbanken
  • Volltextdatenbanken
  • Numerische Datenbanken
  • Mediendatenbanken bzw. Mediatheken:
  • Bilddatenbanken bzw. Fotodatenbanken
  • Videodatenbanken bzw. Filmdatenbanken
  • Audiodatenbanken

Organisatorische Kategorien für Datenbanken:

  • Relationale Datenbank
    Eine relationale Datenbank ist die meisteingesetzte Art der Datenbank. Relationale Datenbanken bestehen aus Attributen und Tupeln. Die Attribute sind in der Regel die Spaltenköpfe und die Tupel entsprechen den Zeilen der Tabelle und werden auch Datensatz genannt. Durch diese Definition lassen sich die Daten neu anordnen und abrufen.
  • Objektorientierte Datenbank
    Eine objektorientierte Datenbank versammelt Daten in sich, die in Klassen und Unterklassen organisiert sind. Die Daten werden dabei zusammen mit ihren Funktionen in einem Objekt gespeichert. So können Daten über die Funktion des Objektes abgerufen werden. Objektorientierte Datenbanken werden häufig im Zusammenhang mit objektorientierten Programmiersprachen (z. B. C++ oder Java) verwendet, kommen in anderen Bereichen jedoch nur äußerst selten zum Einsatz.
  • Dezentralisierte Datenbank
    Eine dezentralisierte Datenbank hat einen dezentralen Datenspeicher oder mehrere dezentrale Knoten, auf die der Datenbestand verteilt werden kann. Ein berühmtes Beispiel für eine dezentrale Datenbank ist Blockchain.

Blockchain Datenbank

Was ist Blockchain?

Blockchain ist derzeit in aller Munde. Nicht nur in der IT, sondern auch im Finanzsektor hat dieses Verfahren für Umbrüche gesorgt. Doch was ist Blockchain?

Blockchain, Block- oder Knotenkette auf Deutsch, ist eine Datenbank, die sich im Unterschied zu einer traditionellen Datenbank nicht zentral organisiert, sondern – wie der Name bereits vermuten lässt – in mehreren dezentralen Knotenpunkten. Statt dass ein Administrator den Zugriff zur Datenbank gewährt, müssen mehrere Knotenpunkte diesem zustimmen, sodass ein Konsens herrscht. Dieser Konsensmechanismus gewährt eine hohe Sicherheit und Schutz vor Manipulation.

Aus diesem Grund eignet sich Blockchain hervorragend als Grundlage für Kryptowährungen wie Bitcoin oder für Datenbanken mit sensiblen Daten. Blockchain bietet sich vor allem dann an, wenn die Daten nicht mehr verändert werden müssen, beispielsweise im Falle von Rechnungsdaten. Deshalb gibt es bereits viele Rechnungstools, die auf Blockchain basieren. Wenn die Daten einer Datenbank jedoch flexibel sein sollen oder häufig verändert werden müssen, ist das Blockchain Verfahren nicht die geeignete Lösung oder steht sogar im Wege.

Mittlerweile gibt es auch Plugin Lösungen für Blockchain wie zum Beispiel BigChainDB.

Datenbanken in der Verwaltung, Forschung und Wirtschaft

Datenbanken kommen einerseits in der Verwaltung in Unternehmen zum Einsatz, wo beispielsweise eine Kundendatenbank oder Mitarbeiterdatenbank bestimmte Personendaten sammelt oder eine Produktdatenbank Details zu Produkten speichern kann.

In der Wirtschaft übernehmen Datenbanken einen ähnlichen verwalterischen Zweck, werden aber vornehmlich für Kalkulationen und im Finanzsektor verwendet.

In der Forschung dienen Datenbanken der Sammlung von Forschungsergebnissen und können diese dem Forschungszweck entsprechend aufbereiten und darstellen oder über lange Zeit speichern und anderen Forschenden zugänglich machen.

Datenbanken in der Softwareentwicklung

Gerade in Anbetracht von Digitalisierung, Big Data und anderen technischen Entwicklungen in den letzten Jahren werden Datenbanken in der Softwareentwicklung immer wichtiger. Fast alles, was sich als künstliche Intelligenz (KI) bezeichnen lässt, basiert auf Machine Learning und damit auf einer Sammlung von Daten in Datenbanken, welche automatisiert erweitert werden und welche die Grundlage für zukünftige Aktionen bilden. Doch auch ganz ohne “smartes” Handeln erlauben es Datenbanken dem Softwareentwickler, logische Wenn-Dann-Beziehungen zu erstellen, ob mit relationalen oder objektorientierten Datenbanken, die im richtigen Moment die gewünschten Daten ausgeben.

Datenbanken in der Webentwicklung

Aber auch in der Webentwicklung kommt ihnen eine große Bedeutung zu: Datenbanken bilden nicht selten die Basis von modernen Webseiten, viele von ihnen basieren beispielsweise auf MySQL, einem der gängigsten Datenbankmanagementsysteme. In Datenbanken werden die Informationen als response gesammelt, die bei einer Serveranfrage request angefordert werden. Grundlage dieser Kommunikation ist die Datenbanksprache.

Datenbanksprache

Genauso wie es in der Softwareentwicklung und in der Webentwicklung Programmiersprachen gibt, so dienen Datenbanksprachen der Kommunikation mit Datenbanken.

Datenbanksprachen werden auch Abfragesprachen (Query Language) genannt, da durch sie Daten abgefragt werden können. Doch eigentlich geht die Verwendung einer Datenbanksprache über die Datenabfrage hinaus. Wie Programmiersprachen verfügen auch Datenbanksprachen über eine Syntax und verschiedene Befehle, mithilfe derer Aktionen ausgeführt werden können. Diese Befehle beinhalten die Datenabfrage, die Datenerstellung und -veränderung, die Datenmanipulation sowie die Rechteverwaltung der Datensätze.

Diese Art der Kommunikation muss nicht zwangsläufig zwischen einem Entwickler oder Endbenutzer und der Datenbank stattfinden, sondern kann auch eine Maschine-zu-Maschine-Kommunikation sein, wenn beispielsweise ein Programm auf eine Datenbank zugreift. Auch eine Aktion eines Endbenutzers einer Website resultiert manchmal nicht nur in einem Zugriff auf einen Datensatz, sondern kann diesen je nach Art der Aktion sogar verändern. Der Code der Webseite übersetzt dabei die Nutzeraktion in einen Befehl (z.B. update object).

Die bekannteste und meistverwendete Datenbanksprache ist SQL.

SQL (Structured Query Language)

SQL steht für Structured Query Language und kommt in relationalen Datenbanken bzw. Relationalen Datenmankmanagementsystemen (RDBMS) zum Einsatz. Der ursprüngliche Name lautete SEQUEL, eine Abkürzung für Structured English Query Language, welcher allerdings aufgrund eines Namenpatents durch SQL ersetzt wurde.

SQL Befehle

Es gibt eine ganze Reihe an SQL-Befehlen, die es vollständig aufzuzählen kaum möglich wäre. Sie lassen sich jedoch vier Hauptkategorien zuteilen:

  • DQL
    Data Query Language, Datenabfrage und –darstellung (select)
  • DML
    Data Manipulation Language, Einfügen, Ändern und Löschen (insert, update, delete)
  • DDL
    Data Definition Language, Festlegung des Datenbankschemas (create, alter)
  • DCL
    Data Control Language, Festlegung und Verwaltung der Rechte (grant, revoke)

Liste anderer Datenbanksprachen

  • Access query language
  • Java Persistence Query Language (JPQL)
  • Contextual Query Language (CQL)
  • Embedded SQL
  • Object Query Language (OQL)
  • Object Constrained Language (OCL)
  • Yahoo! Query Language (YQL)
  • Facebook Query Language (FQL)
  • Data Mining Extensions (DMX)
  • Lightweight Directory Access Protocol (LDAP)

Datenbankmanagementsysteme und Datenbank Software

Ein Datenbankmanagementsystem bzw. eine Datenbank Software bildet zusammen mit der eigentlichen Datenbank ein Datenbanksystem DBS. Im Unterschied zur Datenbank an sich ist ein DBMS eine Software auf einem Server oder einem PC mit einer zugehörigen Datenbanksprache. Sie bildet die Oberfläche, in die die Befehle eingegeben und die Datenbank verwaltet werden kann.

MySQL

MySQL ist das am weitesten verbreitete Open Source Datenbankmanagementsystem für relationale Datenbanken. Im Zusammenspiel mit dem Server Apache oder Nginx und der Programmiersprache PHP werden mit MySQL eine Reihe von Webanwendungen, Webservices und Webtechnologien entwickelt. So sind beispielsweise auch YouTube, Twitter und Facebook mit MySQL entwickelt.

Liste anderer DBMS

  • Microsoft Access
  • PostgreSQL
  • DBASE
  • GNU SQL
  • MariaDB
  • AWS Databases

Digitalagentur Berlin: TenMedia

Datenbanken sind eine komplexe Angelegenheit und gerade im Zusammenhang mit Big Data und dem Datenschutzgesetz DSGVO haben gerade Unternehmen und KMU ein Interesse an einer sauberen Softwarelösung für ihre Datensätze. TenMedia ist eine Digitalagentur in Berlin und hat sich auf die branchenübergreifende Datenbankentwicklung und Datenbankpflege für Unternehmen und Kunden spezialisiert. Wer sich eine Datenbank erstellen lassen möchte, ob in Berlin oder deutschlandweit, kann sich mit TenMedia sicher sein, dass unsere Anwendungen – von Firmendatenbank bis hin zu webbasierter Datenbank – aktuellen Standards hinsichtlich Benutzerfreundlichkeit, Komplexität und Sicherheit entsprechen.

Neben Datenbanken gehören auch die Web- und App-Entwicklung sowie die Softwareentwicklung zu unseren Spezialgebieten. Wir entwickeln nicht nur moderne Webseiten und übernehmen das Hosting und Monitoring, sondern erstellen auch umfangreiche Apps und Cloud Software. Für jedes IT-Vorhaben finden wir eine individuelle Softwarelösung. Nach der Fertigstellung bieten wir flexibel Mitarbeiterschulungen an und stehen weiterhin als langfristiger Partner zur Verfügung.