Datenbank Theorie

So ziemlich jede Webseite ist heutzutage datenbankgestützt. Doch wie ist das zu verstehen? Die Grundfrage hierbei ist ja: „Was ist eine Datenbank?“ – und in diesem Beitrag geht es genau um diese und darauf folgende Fragen.
 
Wenn wir uns nun eine Datenbank versuchen bildlich vorzustellen, würde dies vermutlich ein irreführendes Bild einer Datenbank darstellen. Daher versuchen wir nun zuerst beim kleinsten Teil einer Datenbank anzufangen, um daraus eine zusammensetzen zu können. Um zu der Grundidee einer Datenbank zu kommen ist das Problem festzustellen.

Wozu eine Datenbank?

Gehen wir davon aus, dass wir einen Internetshop haben, mit welchem man Produkte über ein Kontaktformular bestellen kann. Nun bekommt der Betreiber des Internetshops eine Email mit den jeweiligen Bestelldaten und kann diese verarbeiten. Er muss anfangen die Daten aus der Email für sich zu extrahieren und in seine Buchführung aufzunehmen und die Bestellung mit einigen Arbeitsschritten abwickeln. Nun gehen wir davon aus, dass der Internetshop anfängt mehr Kunden zu erhalten und es kommen immer mehr Bestellungen via E-Mail herein und man schafft es gar nicht mehr dies zu stemmen. Also fassen wir zusammen: Was erhalten wir von dem Kunden? Wir erhalten seinen Namen, seine Adresse, seine Bestelldaten (die unter Umständen so formuliert ist, dass man die jeweiligen Produkte selber nochmal raus suchen muss), Kontodaten, eine abweichende Lieferadresse usw. Wir erhalten eine Menge Daten, die der Kunde erneut eintragen muss und die wir erneut verarbeiten müssen. Dies könnte an dieser Stelle aber schon automatisiert werden. An dieser Stelle findet die Datenbank ihren ersten Auftritt.

Wir haben also Daten, die wir gerne in einer Datenbank zusammenfassen wollen und Beziehungen zwischen den Daten herstellen. Also Kunde A möchte gerne Produkt D. In einer Datenbank wüssten wir eindeutig, um welchen Kunden es sich handelt und haben bereits seine Daten, die dieser nicht erneut eintippen muss und wir haben ein festgelegtes Produkt D und haben dadurch schon die Möglichkeit eine Bestellbestätigung automatisiert raus zu senden und unseren Aufträgen einzureihen. Wir gehen also von folgenden Daten aus:

Franz Müller aus der Cyanizerstr 32 12345 Musterstadt bestellt am 01.01.12 Produkt Buch / Stückzahl 1x

natürlich fehlen hier noch einige Daten, dies dient aber nur für das Verständnis. Die nächste Frage ist, wie kriegen wir diese Daten in eine Datenbank, bzw in welcher Form müssen diese Daten vorliegen? Überspringen wir an dieser Stelle ein paar Schritte Entwicklung und gebe die Lösung preis: in Tabellenform. Man muss ja davon ausgehen, dass die Daten, die wir in die Datenbank eintragen auch abgefragt werden können und dies gelingt nur über eine einheitliche Struktur der Daten. Die Daten müssten demnach wie folgt aussehen:

Name Adresse Produkt Datum
Franz Müller Cyanizerstr 32 12345 Musterstadt 3x Buch 01.01.13

In dieser Form erhalten wir Daten, mit denen wir und vor Allem der Computer, etwas anfangen können und verwalten können. Die Daten enthalten in dieser Form noch einige Mängel.

Normalisierung einer Datenbank

Eine relationale Datenbank muss einige Anforderungen erfüllen, um korrekt und sinngemäß verwendet werden zu können. Einer der wichtigsten Punkte ist die sogenannte Redundanzfreiheit. Redundanzen sind Mehrfachspeicherungen in einer Datenbank, sodass ein Datensatz nicht mehr eindeutig identifizierbar ist. Durch eine Vermeidung der Redundanzen wird nicht nur Speicherplatz eingespart, sondern verhindert auch eine Inkonsistenz der Daten. Wie erwähnt, muss ein Datensatz in einer Datenbank eindeutig identifizierbar sein, welches eine weitere Anforderung an eine relationale Datenbank ist.

Damit dies erreicht wird, gibt es unterschiedliche Normalformen einer Datenbank und der darin aufgeführten Datensätze.

Die erste Normalform

Damit Redundanzen und Inkonsistenz vermieden werden kann, müssen die Daten in der Datenbank atomar sein. Atomisieren in diesem Falle bedeutet, dass jedes Attribut ein eigenes Datenfeld hat. Der fehlerhafte, redundante Eintrag von der Online-Bestellung müsste demnach so aussehen:

VName NName Strasse HausNr PLZ Stadt Anzahl Produkt Date
Franz Müller CyanizerStr 32 12345 Musterstadt 3x Buch 01.01.13

1 Kommentar

  1. Ein Blog lebt von seiner Aktivität. Wenn du etwas mit dem Blog erreichen willst, dann musst du dran bleiben (Mittlerweile hast du ja quasi schon 2 Blogs die in den ewigen Weiten des Internets vor sich hinvegetieren)

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*


Time limit is exhausted. Please reload CAPTCHA.