Tabellen, Beziehungen und Datenbanken

Wie der Name “Von der Tabelle zur Datenbank” schon vermuten lässt, handelt dieses Kapitel von Tabellen und den Vorteilen tabellarischer Anordungen

Was ist denn eine Tabelle?
Eine Tabelle ist in der Informatik eine Sammlung von (strukturierten) Daten, die aus Zeilen und Spalten besteht.
Die einzelnen Daten befinden sich in den Zellen der Tabelle.
Jede Zelle kann eindeutig über ihre Spalte und Zeile angesprochen werden.
Die Zeilen werden auch Datensätze genannt (und sind durchnummeriert).
Die Spalten haben Bezeichnungen/Überschriften.

aufbau_einer_tabelle.png

Ein wesentlicher Vorteil einer Datenbanktabelle gegenüber einer auf Papier gezeichneten Tabelle ist, dass die Datensätze beliebig
und auf mehrere Arten sortiert/angeordnet werden können, um so einen besseren Überblick über die gewünschten Informationen zu erhalten.
Ein weiterer nützlicher Vorteil ist, dass die Daten, wenn sie einmal digitalisiert wurden, auf vielfältige Art und Weise eingesetzt werden können.

Beispielsweise kann man von vorhandenen Daten verschiedene mathematische Messwerte ermitteln, diese in einem von unzähligen Diagrammen grafisch darstellen lassen oder sie auch als Daten für einen Serienbrief verwenden.

Eine nützliche Funktion hierfür, die von den meisten Tabellenkalkulationsprogrammen angeboten wird, sind Zellbezüge.
Sie ermöglichen es, eben jene Berechnungen mithilfe von mathematischen Formeln durchzuführen.
Wird nun ein Wert, auf den sich das Ergebnis einer Berechnung bezieht, verändert, so wird auch automatisch das Ergebnis aktualisiert. Dies erspart eine Menge an Korrekturarbeit, falls sich doch einmal ein Fehler eingeschlichen haben sollte.

Eine weitere nützliche Funktion ist die automatisierte Berechnung von Werten. Eine Formel kann ganze einfach für weitere Datensätze verwendet werden. Dies erspart mehrmaliges Eingeben der immer gleichen Formel und ist vor allem bei rießigen Datensätzen ein Segen. Somit kann man beispielsweise die Punktestände der ca. 12.100 Biber Teilnehmer in weniger als einer Minute berechnen und bewerten. Händisch würde man dafür deutlich länger benötigen.

Aufgaben:
- Erstellt gemeinsam eine Tabelle über eure Mitschüler, die folgende Informationen enthalten sollen
Vorname, Nachname, Geburtsdatum, Geschlecht, Adresse
- Die Ergebnisse der Biber nach den einzelnen Gruppen
- Sortieren Sie dann in den Gruppen noch einmal nach den Vornamen der Teilnehmer
- Berechnen Sie die erreichten Punkte jedes Teilnehmers mit einer dafür passenden Funktion
- Sortieren Sie die Teilnehmer nach erreichten Punkten und erstellen sie ein passendes Diagramm.

Lernziele
- Ich weiß, was eine Datenbanktabelle ist und wie sie aufgebaut ist.
- Ich kann einfache Tabellen erstellen und bereits vorhandene Tabellen beliebig erweitern.
- Ich kann Tabelle auf verschieden Arten sortieren.
- Ich weiß, wie man bereits vorhandene Daten zur Berechnung neuer Daten verwenden kann.
- Ich weiß, wie ich vorhandene Daten in anderen Zusammenhängen wiederverwenden kann, beispielsweise in einem Serienbrief.



Was hat es mit dem Serienbrief auf sich?

Jeder Lehrer kennt die Situation: wieder mal steht der Elternsprechtag vor der Tür und wie jedesmal sollten die Eltern der Schüler per Brief darüber informiert werden. Jedoch kann das Schreiben der ca 500 Briefe schon einige Zeit in Anspruch nehmen. Wäre es nicht viel einfacher, wenn man nur einen einzigen Musterbrief schreiben müsste und diesen dann als Vorlage für die anderen Briefe benutzen könnte?

So oder ähnlich könnte eine typische Situation aussehen, bei der der sogenannte "Serienbrief" zum Einsatz kommt. Ein Serienbrief ist ein Dokument, welches an viele Empfänger versendet werden sollte. Er ist ein gutes Beispiel, um zu zeigen, wie man gesammelte Daten, welche man vorher in einer Tabelle verarbeitet hat, anwenden kann.

Um einen Serienbrief erstellen zu können, werden erstmals die Datensätze der Empfänger benötigt. Man sollte im Vorhinein bereits festlegen, welche Daten später im Brief erscheinen sollen. Beispielsweise kann ein Datensatz (wie in der Lektion „Tabelle“) aus „Vorname, Nachname, Geburtsdatum, Geschlecht, Adresse“ bestehen. Jedoch werde ich, wenn ich beispielsweise einen Brief an die Eltern der Schüler schreibe, keinen besonderen Nutzen von den einzelnen Geburtsdaten haben. Weiteres benötigt man noch ein festes Musterdokument, welches für alle Empfänger gleich ausschauen sollte.

Wie kommen nun die Daten in den Brief? Textverarbeitungsprogramme (wie zum Beispiel Microsoft Word) bieten bereits einen Assistenten für die Erstellung eines Serienbriefes an. Dieser ermöglicht es, die einzelnen Attribute beliebig im Dokument zu platzieren. Es ist außerdem möglich, nicht benötigte Attribute zu filtern.

Somit entscheht eine Art Schnittstelle zwischen der vorher erstellten Datenbank und dem Musterbrief. Durch einen einzigen Mausklick hat man alle benötigten Briefe mit individuellem Empfänger erstellt.

Hat man keine vorher angelegte Datenbank, kann man natürlich auch bei der erstellung des Serienbriefes eine erstellen. Man muss nicht einmal ein eigenes Programm dafür besitzen. Es reicht, wenn man ein ein sogenanntes Trennzeichen festlegt, welches die einzelnen Tabellendaten voneinander trennt.

Ein einzelner Datensatz könnte beispielsweise folgend aussehen: "Max; Mustermann; Herr; Musterstrase 5"

Das Semikolon (der Strichpunkt) schafft hier eine Trennung zwischen den einzelnen Attributen, die vom Programm nun als solche erkannt und in den Serienbrief eingefügt werden können.

Aufgaben:
- Erstellen Sie ein Dokument (z.B. eine Urkunde), welches den Vornamen, Nachnamen und die erreichten Punkte der Schüler anzeigt
und verarbeiten Sie es als Serienbrief (benutzen sie hierfür die Tabelle aus der Datei Biberdaten_anonymisiert.xls)
- Verwenden sie für den obigen Serienbrief eine persönliche Anrede (bsp. "Lieber Max Mustermann" (benutzen sie hierfür die Tabelle aus der Datei Biberdaten_anonymisiert.xls)
- Erstellen sie einen Serienbrief, mit dem sie jeden ihrer Mitschüler zu ihrer Geburtstagsparty einladen möchten



Exkurs: Wie wurden die Schülerdaten in der Datei ''Biberdaten_anonymisiert.xls" anonymisiert?
Das Ersetzen von Vokalen stellt hierbei eine recht einfache und schnelle Lösung dar.
Dies kann relativ einfach und schnell umgesetzt werden: Mithilfe der Funktion WECHSELN kann innerhalb einer Zelle jedes Vorkommen eines bestimmten Buchstaben, oder auch Buchstabenfolge, durch einen anderen Buchstaben ersetzt werden. Der Aufbau der Funktion sieht dabei folgendermassen aus:
WECHSELN(Zelle oder Bereich; zu ersetzender Buchstabe oder Zeichenkette; einzufügender Buchstabe oder Zeichenkette)
Wird nun auf das Ergebnis dieses Wechsels die Funktion erneut aufgerufen, ist ein Name auf diese Art und Weise nach 2-4 Ersetzungen anonymisiert.

Lernziele dieser Einheit:
- Ich weiß, wie ich vorhandene Daten in anderen Zusammenhängen wiederverwenden kann, beispielsweise in einem Serienbrief
- Ich verstehe die Übertragbarkeit von Datenbanken
- Ich weiß, wie der Computer Datensätze liest und aus ihnen die einzelnen Einträge den jeweiligen Attributen zuweist
- Ich weiß, wie ich auch ohne dafür vorgesehene Software mittels Trennzeichen einfache Datenbanken anlegen kann


Hier noch ein Video, wie man beispielsweise die Daten einer fertigen Excel Tabelle als Daten für einen Serienbrief verwenden könnte:










Zwei Tabellen in einem so genannten Datenbanksystem in Beziehung setzen

1) 1:n - Beziehung

Es kann natürlich vorkommen, dass mehrere Datenbanken miteinander in Verbindung stehen, sozusagen kooperieren. Ein einfaches Beispiel: jede Person besitzt eine Adresse. Nun könnte ich für die Datensätze "Personen, die an meiner Umfrage teilgenommen haben" beispielsweise die Attribute "Vorname", "Nachname", "Straße", "PLZ" verlange. Die Information, die hier fehlt, wäre der Ort, an dem die Personen wohnen! Hier würde sich jedoch eine Tabelle "Postleitzahlen" anbieten, die die Attribute "PLZ" und "Ort" aufweißt, also die einzelnen Postleitzahlen und ihre entsprechenden Ortschaften.

1_n_Beziehung.png

Ohne viel nachzudenken, erkennt man gleich, dass die Tabelle "Postleitzahlen" quasi als Lookup-Tabelle für die Daten "PLZ" der Tabelle "Personen" agiert. Zwischen diesen Tabellen herrscht eine sogenannte 1:n - Beziehung. Verallgemeinert kann man dann sagen, dass "Einer Person hat genau eine Postleitzahl, aber eine Postleitzahl kann die Heimat mehrerer Personen sein".

Ein weiteres Beispiel wäre die Beziehung zwischen einer Kundentabelle und einer Artikeltabelle eines Kaufhauses. Ein Kunde kann zwar mehrere Artikel gleichzeitig kaufen, jedoch kann nicht derselbe Artikel von zwei verschiedenen Kunden gekauft werden (Anmerkung: der gleiche Artikel jedoch schon).
1_n_beziehung_beispiel.png

Dies wären nur einige der unzähligen Beispiele dafür, wie Tabellen untereinander in Beziehung stehen können.


2) n:m - Beziehung

Wenn mehrere Datenbanken miteinander in Verbindung stehen gibt es auch Beziehungen, die nicht immer so eindeutig aufgelöst werden können.
Ein Beispiel hierfür wäre die Beziehung zwischen den Tabellen Unterrichtsfach, Lehrer und Klasse:
  • Ein Lehrer hat mehrere Unterrichtsfächer UND ein Unterrichtsfach kann von mehreren Lehrern unterrichtet werden.
  • Eine Klasse hat mehrere Lehrer UND ein Lehrer kann mehrere Klassen unterrichten.
  • Ein Unterrichtsfach kann in mehreren Klassen unterrichtet werden UND eine Klasse hat mehrere Unterrichtsfächer.

Unbenannt.png

Um diese Beziehung korrekt aufschlüsseln zu können ist es notwendig eine weitere Information hinzuzufügen, die angibt welche Datensätze zueinander tatsächlich in Verbindung stehen. Eine einfache Lösung hierfür ist es, eine Zwischentabelle für jede n:m - Beziehung hinzuzufügen, welche für das verbinden der Informationen verwendet wird.
Nachfolgende Abbildung zeigt eine solche Auflösung der n:m - Beziehung mittels einer Zwischentabelle an der Beziehung zwischen Unterreichtsfach und Lehrer.

Unbenannt1.png

Wie man in der Abbildung erkennen kann, werden durch den Einsatz der Zwischentabelle aus einer n:m - Beziehung zwei 1:n - Beziehungen. In der Zwischentabelle wird lediglich die Information gespeichert, welche Informationen aus den beiden Tabellen in Beziehung stehen, d.h. welcher Lehrer welches Unterrichtsfach unterrichtet.


Um konkrete Daten aus komplexeren Datenbanken ermitteln zu können verwendet man die Datenbanksprache SQL.
Eine Einführung in SQL ist unter folgenden Link verfügbar: Einführung SQL
Zum Verfeinern der eigenen Fähigkeiten im Umgang mit SQL kann folgende Seite hinzugezogen werden: SQL-Trainer


Wir schlagen nach - Das Verweis-Konzept in Tabellenkalkulationssoftware

Nun wollen wir die gelernte Theorie von der Nachschlagetabelle in einem Praxisbeispiel anwenden!
Die wohl bekannteste Tabellenkalkulationssoftware ist Microsoft Excel. Excel bietet eine Funktion namesn "SVERWEIS" an. Die Formel für die Funktion sieht folgendermaßen aus:

=SVERWEIS(Suchkriterium;Matrix;Spaltenindex;Bereichsverweis)

Das Suchkriterium ist, wie der Name schon vermuten lässt, jener Wert, nach dem wir in einer Datenbank suchen wollen.
Matrix ist jene Tabelle, bzw jener Zellenbereich, in dem nach dem Suchkriterum gesucht werden sollte.
Der Spaltenindex gibt an die Nr der Spalte jener Matrix an, in welcher sich der gesuchte Wert befindet, welcher ausgegeben werden sollte.
Beim Bereichsverweis handelt es sich noch um die Information, ob die SVERWEIS funktion nach einem fixen oder einem ungefähren Wert suchen sollte.

Auf folgenden Seiten finden sie weitere Erklärungen und Anleitungen für den Einsatz von Verweisen.
Versuchen sie außerdem, die dort gestellten Übungsbeispiele zu lösen.

http://office.microsoft.com/de-de/videos/video-einfuhrung-in-sverweis-VA102507052.aspx?CTT=1&client=1
http://www.traens.com/tipps/microsoft/office/excel/sverweis-funktion.html
http://excel.bvweb.at/lektionen/sverweis/uebersicht.html
http://www.lehrer-online.de/546527.php