Grundlagen – Datenbanken

In diesem Teil geht es um die Grundlagen von Datenbanken. Außerdem erläutere ich die Vor- & Nachteile von SQL und NoSQL Datenbanken.

Zu aller erst. Es gibt zwei Speicherarten. Sogenannte „flüchtige“ (transistente) Speicher, wie z.B. der Arbeitsspeicher, der Prozessor, der Hauptspeicher. Physikalisch ist das Ganze als RAM realisiert. Flüchtige Speicher gehen bei Systemstart bzw. Stromausfall verloren.

Die zweite Speicherart ist der dauerhafte Speicher („persistent“), wie z.B. Festplatten, SSD´s. Physikalisch sind diese als Massenspeichergeräte realisiert. Dauerhafte Speicher behalten Daten dauerhaft, auch nach Systemstart.

Nun gibt es zwei verschiedene Datenverwaltungsmethoden:

Datenverwaltung ohne Datenbanksysteme

Bei der Datenverwaltung ohne ein Datenbanksystem ist die individuelle Neuimplementierung für jedes System nötig. Ein Beispiel dafür wäre z.B. einzelne Dateien wie Excel Sheets. Die Funktion wird je nach Bedarf realisiert. Die größten Nachteile sind allerdings die hohe Fehleranfälligkeit und die hohen Entwicklungskosten. Außerdem erfüllen sie allgemeine Anforderungen meist nur unzureichend.

In solchen Systemen werden Daten oft mehrfach gespeichert und nicht miteinander verknüpft oder auch dies nur unzureichend. Da durch bieten solche Systeme nur eine geringe Effizienz. Des weiteren ist die Datenverwaltung ohne Datenbanksystem extrem unsicher und enthält häufig große Sicherheitslücken.

Typische Anforderungen an die Datenverwaltung

  • Einfacher und effizienter Zugriff auf die Daten
  • Dauerhafte verlässliche Speicherung
  • Änderung der Daten
  • Verknüpfbarkeit der Daten
  • Datenkonsistenz (Zusammenpassbarkeit der Daten zueinander, z.B. das sofort alle Daten geändert werden)
  • Oft zeitgleicher Zugriff durch mehrere Benutzer nötig
  • Zugriffskontrolle & Benutzerverwaltung

Datenbanksysteme

Datenbanksysteme sind eine Kombination aus einem Management System für die Daten und einer Ansammlung von Daten.
Das Datenbankmanagementsystem (z.B. PHPmyAdmin) ist zur Verwaltung, Einsicht und Änderung der Daten.
Die Datenbank an sich ist nur eine Ansammlung von Rohdaten, womit man im Normalfall nicht viel anfangen kann. Erst in Kombination mit einem DBMS (Datenbankmanagementsystem) werden die Daten strukturiert sichtbar.

Datenunabhängigkeit

Datenbanken bieten folgenden Vorteil. Sie bieten eine strickte Trennung von Daten und Anwendung und haben somit eine Physikalische Datenunabhängigkeit. Man muss also nicht wissen wie die Dateien genau gespeichert sind (Dateiendung, Aufbau etc.).
Außer bieten Datenbanken eine logische Datenunabhängigkeit. Das heißt, das alle Strukturen z.B. Arten von Tabellen etc frei sind.

Typische grundlegender Funktionsumfang

  • Speicherung und Manipulation von Daten (CRUD)
  • Verknüpfen von Daten
  • Effiziente Ausführung von Anfragen
  • Mechanismen zum Schutz vor Datenverlust
  • Mehrbenutzerbetrieb (Benutzerrechte)

Datenbanken finden sich z.B. im Internet über all da wieder, wo Daten dynamisch ausgelesen werden (Login etc.) und wo Daten nicht statisch in Dokumente geschrieben sind. Facebook, Twitter und Co sind dort gute Beispiele. Aber auch „einfache“ Internetseiten welche auf ein CMS basieren, haben typischerweise eine Datenbank angebunden.

Arten von Verwendung

  • Klassische Datenbanken (Zahlen, Texte…)
  • Multimedia Datenbanken (Bilder, Video oder Audio)
  • Geografische Informationssysteme (GIS)
  • Datenlager (Data Warehouse, Datenbank zur Abfrage anderer Datenbanken um Daten zu vereinheitlichen, Ermöglicht übergreifende Auswertungen)
  • Echtzeit Datenbanken (Daten mit garantiertem Zeitverhalten)
  • Diverse weitere

Nachteile

  • Komplexität (Effektive Nutzung erfordert spezielle Kenntnisse)
  • Erhöhte Ressourcenanforderungen (Speicherbedarf, Performance deutlich schlechter als bei einem spezialisierter Software)
  • Kosten (Hohe Anfangsinvestitionen, Zusätzlicher Bedarf an Hard- & Software, Administrationsaufwand)

Die ANSI-SPARC-Architektur für DMBSe

Das Ziel der ANSI-SPARC-Architektur für DMBS´s ist die Trennung der Benutzersicht auf die Daten und die Veränderung der tatsächlichen Struktur und der Speicherung der Daten. Entwickelt wurde diese Architektur 1975 von Standards Planning and Requirement Commite (SPARC) und dem American National Standards Institiute (ANSI). Diese Architektur ist heutzutage Grundlage der meisten Datenbankmanagementsysteme. Diese definiert drei Abstraktionsebenen für die Daten.

Die erste Ebene definiert die Benutzersicht auf die Datenbank. Dort sind verschiedene Sichten in Form von Skripten wie z.B. PHP Skripten gemeint.
Die zweite Ebene ist die konzeptionelle Ebene. Diese legt das Datenbankschema fest. Quasi alle Tabellen, Spalten, Zeilen etc. (Sichtbar z.B. im PHPmyAdmin Backend).
Die dritte Ebene ist die physische Ebene. Diese legt die Art der Datenspeicherung fest. (Art er Speicherung des Datenbankschemas)

Datenmodellierung

Datenmodelle sind Metamodelle zur Beschreibung der Struktur von Daten. Diese definiert die Struktur und die Beziehung der Daten und definiert ggf. auch die Operatoren der Daten.

Eine Sprache wird benötigt, um die Daten aufzubauen. Es werden im Datenmodell alle Beziehungen und Strukturen definiert, die die Datenbank hinterher ihre Struktur/Ausehen gibt. (Datenmodellierung, einfache Abbildung der Wirklichkeit)

Das Datenmodell ist somit das Metamodell (Modell vom Modell), die Datenstruktur die Struktur der Daten und ihre Beziehungen (z.B. die Felder der Datenbank) und die Daten sind die konkreten Daten.

Auch in der Programmierung erfindet man oft Sprachen, um andere Sprachen zu schreiben!

Datenmodelle eines Datenbankmanagementsystems

  • Datenbanksystem besitzt spezifisches Datenmodell (Festgelegt)
  • Datenbankschema ist eine konkrete Datenstrukturbeschreibung auf Basis des Datenmodells
  • Datanbankausprägung sind die konkreten Daten zu einem Datenbankschema

Modellierungsebenen

  • Entwurfsmodell (z.B. ein konkretes Entity-Relationship-Modell)
  • Datenbankschema (z.B. ein relationales Schema)
Marvin Sengera

Marvin Sengera

Hey! Ich bin Marvin Sengera, Inhaber der Internetagentur "Binärfabrik" aus Paderborn. Ich habe mein Bachelorstudium Informatik mit Schwerpunkt Industriespionage an der Hochschule Hamm Lippstadt abgeschlossen und absolviere derzeit meinen Master in Fachrichtung "Technical Entrepreneurship and Innovation". Ich beschäftige mich rund um die Themen Informatik, Innovation & Unternehmensgründung.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.