Datenbankprogrammierung

Die Programmierung einer Datenbank übernimmt unter anderem ein Datenbankentwickler. Aber was genau wird unter der Datenbankprogrammierung verstanden?
Ein Mensch mit Tablet, ein anderer Mensch mit Unterlagen im Büro
© NDABCREATIVITY

Definition Datenbankprogrammierung

Datenbanken sind in vielen Unternehmen und anderen Bereichen präsent, da sie die Aufgabe der Datenspeicherung und -verwaltung übernehmen. Doch bevor Datenbanken für die verschiedensten Zwecke genutzt werden, müssen diese in Form von Anwendungen programmiert werden. Diese Aufgabe übernehmen Datenbankentwickler. Diese nutzen zum Beispiel Datenbankmanagementsysteme wie MySQL, um eine MySQL Datenbank zu programmieren.

Entwicklungsphasen Datenbankanwendung

Eine Datenbankanwendung ist bei der Entwicklung verschiedenen Phasen zuzuordnen:

  1. Definitionsphase
    In dieser Phase wird zuerst der Anwendungsbereich des Produkts analysiert. Begriffe wie Objekt, Klasse und Assoziation stammen aus der objektorientierten Softwareentwicklung und werden für die Entwicklung verwendet. Daher wird dieser erste Schritt auch objektorientierte Analyse (OOA) genannt. Mithilfe einer UML (Unified Modeling Language) werden die Ergebnisse grafisch dargestellt. Daraus entsteht das konzeptionelle Schema.
  2. Entwurfsphase
    Innerhalb der Entwurfsphase wird ein logisches Schema erstellt, welches auf der Basis der vorhandenen Art der Datenspeicherung entworfen wird. Das am meisten genutzte Datenbankmodell stellt die relationale Datenbank dar. Dieses Datenbankmodell besteht aus einer Vielzahl an beliebigen Tabellen, die miteinander verbunden werden können.
  3. Implementierungsphase
    Hier wird das Schema der Implementierung festgelegt.
  4. Nutzungsphase
    Nicht jeder Datenbankentwickler erschafft Datenbanken von Grund auf neu. Häufig sind es die Darstellungsarten der Datenbanken, die in Form von Applikationen angepasst werden müssen, mit denen sich ein Programmierer befasst. Diese Applikationen können durch ein grafisches Interface dargestellt werden, damit Endnutzer sie verwenden können. Sie können aber auch nur mit Schnittstellen versehen werden, um die Kommunikationen Maschine-zu-Maschine zu ermöglichen.

Datenbanktheorie

Das Datenbanksystem unterstützt die computergestützte Datenverarbeitung von Informationen, die durch eine Applikation veranschaulicht werden. Es wird eingesetzt, um Daten effizient, dauerhaft und widerspruchsfrei zu speichern. Zusätzlich zur Datenspeicherung befasst sich das Datenbanksystem mit Verwaltungsaufgaben. Daher wird im allgemeinen Sprachgebrauch auch häufig der Begriff Datenbankmanagementsystem (DBMS) verwendet. In diesem System können eine große Anzahl von Datenbanken verwaltet werden. Daraus ergibt sich eine Struktur. Der Client (die Anwendung) leitet über eine Schnittstelle Daten zum DBMS-Server. Dort befinden sich die beliebig vielen Datenbanken, auf denen die Daten gespeichert werden. Sobald der Client Daten abrufen will, werden diese vom DBMS-Server an die Schnittstelle gesendet und dem Client auf diese Weise zugespielt. Das relationale Datenbankschema sorgt dafür, dass die Daten in Tabellenform dargestellt und organisiert werden. Die Tabellen gliedern sich dabei in Zeilen und Spalten. Jede Spalte steht für einen Datentyp bzw. für einen Auszug eines Datensatzes.

Diese Datensätze müssen mit einem Schlüssel versehen werden, um sie identifizieren zu können. Ein künstlicher Schlüssel wird dafür in jede Tabelle eingefügt. Der Wert eines jeden Schlüssels wird dann automatisiert generiert. Dies geschieht immer dann, wenn ein neuer Datensatz im System hinzugefügt wird. Beispielsweise kann ein solcher Schlüssel als eine fortlaufende Nummer charakterisiert werden. Wenn es sich um eine Datenbank für einen Online-Shop handelt, ist es auch möglich, dass Kundennummer im Schlüssel versehen werden. Auch weitere inhaltliche Informationen können Bestandteil des Schlüssels sein. Eine weitere Variante, einen Schlüssel zu erstellen, liefert die Kombination aus mehreren Feldern der Tabelle. Dabei ist es wichtig, dass der Schlüssel so gebildet wird, dass er eindeutig bleibt, um Redundanzen, das heißt Wiederholungen, zu vermeiden.

Jede Information sollte im Datenbanksystem und in den Tabellen nur einmal abgelegt sein. Wenn Änderungen innerhalb der Daten vorgenommen werden müssen, muss dies nur an einer Stelle erfolgen. Durch die sogenannte Normalisierung der Datenbasis kommt es zur Reduzierung bzw. Vermeidung von Fehlern im Datenbestand. Diese Normalisierung ist ein Schritt im Datenbankentwurf, der für die Programmierung sehr wichtig ist. Es wird dabei oft auch von einem konzeptionellen Entwurf gesprochen. Dieser Entwurf ist für die weitere Erstellung einer dynamischen Webapplikation unabdingbar.

Beispiele Datenbankmanagementsysteme

Neben MySQL, welche dem Hard-und Softwarehersteller Oracle gehört, gibt es weitere Datenbankmanagementsysteme (kurz DBMS für Databank Management System), die im Folgenden näher beschrieben werden sollen.

Microsoft Access

MS Access ist eine Software, die zum Microsoft-Office Paket gehört. Das Programm arbeitet mit der Microsoft Jet Engine in Form eines relationalen Datenbankmanagementsystems und mit Tools einer integrierten Entwicklungsumgebung. Die Microsoft Jet Engine ist ein Teil eines Computerprogrammes, der für Berechnungen oder Simulationen zuständig ist. Eine integrierte Entwicklungsumgebung, kurz IDE, stellt eine Sammlung von Computerprogrammen dar, mit denen die Augaben innerhalb der Softwareentwicklung durchgeführt werden können, ohne sogenannte Medienbrüche vorzufinden. Access arbeitet mit der Datenbank-Sprache SQL.

JDataStore

JDataStore ist ein Datenbanksystem, welches unabhängig auf allen Plattformen verwendet werden kann. Es ist in der objektorientierten Programmiersprache Java implementiert ist. Eingesetzt wird das Datenbanksystem für Projekte in Form von mobilen Anwendungen und ebenfalls für Internet-Anwendungen. Auch für Server für Web und Applications ist es anwendbar.

Paradox (Datenbank - DB)

Paradox bietet eine Datenbank-Entwicklungsumgebung an und wurde vom Business Borland/Corel im Jahr 1985 veröffentlicht. Es ist für das Betriebssystem Windows konzipiert und umfasst Formulare, die als Kernfunktionalität gelten. Diese definieren sich als Windows-Fenster, die selbst entworfen werden können. Daraus entwickeln sich Bildschirmmasken, Daten zu betrachten oder einzugeben. Paradox arbeitet in Verbindung mit der Borland Database Engine (BDE).

Microsoft SQL Server

Ein weiteres relationales Datenbankmanagementsystem ist Microsoft SQL Server, welches von Microsoft entwickelt wurde und im Jahr 1989 erschien. Das System SQL Server orientiert sich an der aktuellen Version von SQL. Microsoft SQL Server besitzt verschiedenen Editionen, die sich zum Beispiel im Preis und ihren Funktionen unterscheiden.

Open Database Connectivity

Für Datenbankprogrammierer kann die Datenbankschnittstelle Open Database Connectivity (ODBC) nützlich werden, um beispielsweise sein Projekt unabhängig der verwendeten Datenbankmanagementsysteme zu entwickeln.

Die SQL Access Group gehört zu Microsoft und entwickelte die ODBC im Jahr 1992. Sie ist ein Standard für den Datenbankzugriff geworden und weltweit genutzt. ## Das Entity Relationship Model (ER-Modell)

Das Modell stellt ein Schema dar, welches für die Konzipierung einer Datenbank gebraucht wird. Dieses Schema wird Entity Relationship Model (ER) genannt. Wenn dieser Begriff ins Deutsche übersetzt wird, bedeutet er so viel wie: Ein Modell, welches zur Darstellung von Dingen („entities“) und der Beziehung zwischen diesen („relationship“) genutzt wird. Das heißt vereinfacht, dass in einem ER-Modell die Tabellen- und Beziehungsstruktur einer Datenbank entworfen und abgebildet wird. Begrifflichkeiten, die im Zusammenhang mit dem ER-Modell auftreten, sind:

  • Attribute: Mit diesen werden die Felder eines Datensatzes beschrieben.
  • Entität: Entitäten sind die Datensätze.
  • Entitätsmengen: Eine Entitätsmenge stellt eine Tabelle in der Datenbank dar.
  • Beziehungen: Jede Tabelle ist mit den anderen verbunden, das heißt, dass keine losgelöst von der anderen ist. Die Beziehungen benötigen einen Beziehungstyp. Die gängigen Beziehungstypen sind 1:1, 1:n und n:m Beziehungen.

Beziehungstypen sind dafür verantwortlich zu beschreiben, wie die Daten in welcher Beziehung zueinanderstehen.

Ein 1:1 Beziehungstyp definiert, dass für jeden Datensatz in Tabelle 1 exakt ein Datensatz in Tabelle 2 existiert.

Eine Beziehung vom Typ 1:n kennzeichnet, dass zu einem Datensatz einer Tabelle beliebig viele (0…n) Datensätze gehören. Beispielhaft dafür ist die Beziehung zwischen den Tabellen „Schule“ und „Schüler“. In einer Schule können keine (0), ein (1) oder mehrere (n) Schüler sein.

Der Beziehungstyp n:m sagt aus, dass jedem Datensatz aus der Tabelle 1 0…m Datensätze der Tabelle 2 zugehörig sind. Jedoch kann es hier auch andersherum zugeordnet sein., d. h. jedem Datensatz aus Tabelle 2 sind 0…n Datensätze zuzurechnen. Tabelle 1 macht Angaben zu den Schülern. Tabelle 2 gibt Informationen darüber, welche Schulfächer an der Schule belegt werden können. Jeder Schüler oder jede Schülerin kann keine, ein oder mehrere Schulfächer besitzen. Auf der anderen Seite können dem Schulfach keine, eine oder mehrere Schüler obliegen.

Das ER-Modell wurde erstmals im Jahre 1976 von Peter Chen erwähnt. In seiner Veröffentlichung mit dem Titel „The Entity-Relationship Model“ ging er auf die Erläuterung des Modells ein. John M Smith und Diane C. P. Smith stellten 1977 die Beschreibungsmittel für die Generalisierung und Aggregation vor. Nach 1977 gab es viele weitere Weiterentwicklungen des Modells. Die Wissenschaftler Wong und Katz arbeiteten z. B. Ende der 1980er Jahre daran.

Datentypen

Wenn die Daten in Form von Tabellen gespeichert werden sollen, wird bei der Programmierung für jede Spalte, die ein Datenfeld darstellt, ein Datentyp bestimmt. Einige Beispiele sollen verdeutlichen, wie ein Datentyp aussehen kann und was er aussagt.

  • Integer: Positive oder negative, ganze Zahlen, die, je nachdem wie viele Bits zur Verfügung stehen, als smallint, tinyint oder bigint bezeichnet werden. Die Datenbanksysteme entscheiden über die jeweiligen Wertebereichsgrenzen und die Terminologie.
  • Numeric oder Decimal: Positive oder negative Festkommazahlen mit maximal n Stellen und davon m Nachkommastellen. Wenn Geldbeträge angegeben werden, benötigt es zwei Nachkommastellen.
  • Float: Positive oder negative Gleitkommazahl mit maximal m Nachkommastellen.
  • Real: Positive oder negative Gleitkommazahl, für die die Genauigkeit immer vom jeweiligen Datenbanksystem definiert wird.
  • Float und Double: Diese Datentypen werden für technisch-wissenschaftliche Werte genutzt und sind auch zuständig für Exponentialdarstellungen.
  • Character oder char: Ist ein Zeichenkettetext, der mit n Zeichen angegeben wird.
  • Date: Steht für das deutsche Wort Datum.
  • Time: Wird für Zeitangaben (plus Zeitzone) beim Programmieren eingesetzt.
  • Timestamp: Bedeutet Zeitstempel und umfasst Datum und Uhrzeit. Dieser Datentyp ist Millisekunden genau.
  • Boolean: Ist eine boolesche Variable und kann mit den Werten true (wahr) oder false (falsch) definiert werden.
  • Blob (Binary Large Object): Das sind Binärdaten mit einer maximalen Länge von n Bytes.
  • Clob (Character Large Object): Sind ebenfalls Zeichenketten mit einer maximalen Länge von n Zeichen.

Datenbankprogrammierung bei TenMedia

Die TenMedia GmbH ist eine Softwareagentur in Berlin und besteht aus einem dynamischen Team, das sich jeder Herausforderung im Bereich der individuellen Softwareentwicklung und Datenbankerstellung annimmt. Seit nun menr zehn Jahren realisieren wir Projekte - unsere eigenen und die der Kunden. Die Datenbankprogrammierung ist ein komplexer und individueller Prozess, der an die Bedürfnisse und Wünsche des jeweiligen Projekts angepasst werden muss. Das Design einer Datenbank spielt eine ebenso wichtige Rolle wie die Funktionalitäten jener. Durch unsere jahrelange Erfahrung mit Digitalisierungsprozessen sind wir ein kompetenter und zuverlässiger Ansprechpartner und bieten ihnen einen umfassenden Service..

Wir haben uns auf die Softwareentwicklung für Datenbanken spezialisiert. Wir beraten und helfen natürlich gerne weiter. Daher freuen wir uns auf ein erstes Kennenlernen am Telefon, per Mail oder persönlich in unserem Office in Berlin Mitte.