Nutzung und Modellierung von Datenbanken

Stand: 29.04.2009

Zeitrichtwert: 23 Unterrichtsstunden

Inhaltliche Schwerpunkte Bemerkungen

Bemerkungen

Die dargestellte Unterrichtsreihe lehnt sich an den Vorschlägen von Thomas Mohr an (Information und ihre Darstellung).

Weitere Bemerkungen zu technischen Voraussetzungen und fachliche Hinweise für die Lehrkraft finden Sie ganz unten.

Einstieg (2)

  • Bedeutung von Datenbanksystemen
  • Datenmodellierung mit Tabellen

Eine Internetrecherche durchführen lassen: "Nachbarländer Deutschlands – Fläche, Einwohner, Hauptstadt". Hierbei wird einerseits bereits ein Informationssystem genutzt, andererseits werden die von den Schülerinnen und Schülern recherchierten Daten unterschiedlich dargestellt. Eine Darstellung in Form von Tabellen wird als hilfreich erkannt. In diesem Zusammenhang wird die Struktur eines Tabellenmodells diskutiert.

Beispiele aus dem Alltag heranziehen, um die Bedeutung von Datenbanken aufzuzeigen (Telefonbuch, Schulverwaltung, ...)

Erste Abfragen an eine Datenbank entwerfen (3)

  • Technische Vorteile und Risiken von Datenbanksystemen
  • Datenbanksystem als Mehrbenutzersystem
  • Grundoperationen zur Beschreibung von Abfragen
  • Umsetzung in einer Abfragesprache

Hinführung zu einem mehrbenutzerfähigen DB-Management-System, wie dem einzusetzenden mySQL. Jede Schülerin bzw. jeder Schüler hat dabei einen eigenen Zugang zu einer mySQL-Datenbank.

Den Schülerinnen und Schülern werden Beispiel-DB vorgegeben. (z.B. eine DB, die verschiedene Informationen über Kontinente, Länder, Sprachen, Orte und Flüsse enthält, wie etwa "miniterra" )

Die Schülerinnen und Schüler können diese vorgegebenen DB (zunächst "terra1.sql") in ihre Datenbank importieren. Anhand dieser Tabelle werden die Grundbegriffe ("Datensatz", "Spalte/Attribut", "(Attribut-)Wert") erläutert und erste SQL-Abfragen entworfen:

  SELECT [Spalten]
	FROM [Tabelle]
	WHERE [Bedingung]
	ORDER BY [Attribute];

Absichtliches (oder unabsichtliches) Löschen von Feldern, Datensätzen oder der gesamten Datenbank sind hier unproblematisch, führen aber zur Diskussion über z.B. ökonomische Konsequenzen bei unwiederbringlichem Datenverlust.

Ausdifferenzierung der Modellierung (6)

  • Grundoperationen zur Beschreibung von Abfragen
  • Umsetzung in einer Abfragesprache
  • Datenmodellierung mit Tabellen
  • Aufteilung in Tabellen, Verknüpfung von Tabellen

Die Unzulänglichkeit der Datenhaltung in der ersten Stufe von "miniterra" wird diskutiert und erste Entwurfsprinzipien ("Vermeidung von Redundanz") herausgestellt. Im Beispiel führen unterschiedliche Schreibweisen des Kontinent-Namens "Europa" zur Erkenntnis, dass hier eine Auslagerung in eine eigene Tabelle Vorteile bringt. Dabei tauchen die Begriffe "Schlüsselattribut", "Primärschlüssel" und "Fremdschlüssel" auf. Nach dem Importieren der nächsten Stufe von "miniterra" ("terra2.sql") entsteht die Notwendigkeit die beiden Tabellen "Land" und "Kontinent" bei Abfragen wieder miteinander zu verbinden ("Join").

Anhand der weiteren Stufen von "miniterra" (Erweiterung der Datenbank um die Tabellen "Ort" und "Fluss" in "terra3.sql" und "terra4.sql") wird das Einüben der Datenmodellierung vertieft (Beziehungen zwischen Tabellen werden durch eigenene Tabellen repräsentiert).

Zudem werden weitere Möglichkeiten zur Bildung von SQL-Abfragen untersucht. Für detailierte Beispiele zu SELECT-Abfragen in "miniterra" s. Präsentation in den oben angegebenen Materialien.

optional:
Daten einer Miniwelt modellieren (3)

  • Konzepte der ER-Modellierung

Die zuletzt betrachtete DB ("terra4.sql") wird hinsichtlich ihrer Modellierung dargestellt.

Anhand dieses Modells werden Begriffe der ER-Modellierung erläutert:

  • Objekt / Entity
  • Attribut
  • Klasse / Entity-Set
  • Beziehung / Relationship

Übung: Am Beispiel der Schulverwaltung werden weitere Teile einer Miniwelt modelliert.

Modelle von Miniwelten in relationale Datenbanken abbilden (6)

  • Implementierung von Tabellenmodellen

Eine einfache Mini-Welt (z.B. mp3-Sammlung) modellieren und implementieren.

Jeder Schüler implementiert für sich seine eigene Datenbank und füllt sie mit Daten.

Datenerhebungen unter dem Aspekt Datenschutz bewerten (mind. 3)

  • Sammlung personenbezogener Daten
  • Missbrauch personenbezogener Daten
  • Schutz personenbezogener Daten

Datenerhebungen unter Datenschutzaspekten bewerten

  • Anhand eines Projekts (z.B. ???? )
  • Fallbeispielen (z.B. Bericht des Datenschutzbeauftragten in RLP zum Jahr 2005 ("Was gehört ins Klassenbuch?"))
  • Materialien von klicksafe.de
  • Flash "Paul denkt": http://panopti.com.onreact.com/swf/index.htm

Anhang 1:
XAMPP Installation (0)

Es wird von folgender Konfiguration ausgegangen:

  • Im lokalen Schulnetz ist auf einem Rechner XAMPP installiert.
  • Auf diesen Rechner kann von allen Schülerrechner aus zugegriffen werden.
  • Apache und mySQL laufen als Dienste.
  • Der Hauptbenutzer von mySQL ("root") ist Passwort-geschützt.
  • Jeder Schüler kann eine eigene Datenbank erstellen und bearbeiten
  • Evtl.: Für jeden Schüler ist ein eigener Zugang eingerichtet mit SELECT auf einige oder alle Datenbanken des Servers - so können die Schüler ihre Ergebnisse gegenseitig betrachten.

Die Installation des XAMPP-Systems ist nicht Teil dieser Unterrichtsreihe. Evtl. wurde das XAMP-System auch schon im Vorfeld benutzt, um eigene (X)HTML-Dateien in das lokale Netzwerk zu stellen.

Anhang 2:
Grundlagen für die Lehrkraft (0)

Datenbanken - wozu?

Einstiegsbeispiel: Datenverwaltung kleiner Datenmengne in Delphi

Nachteil: Nur mein Programm kann die Daten verwalten, schlecht zu erweitern, immer wieder gleiche auftretende Probleme

Lösung: Datenbank-System
Datenbank übernimmt Standardaufgaben, Mehrbenutzerfähig, leicht erweiterbar;
Nachteil: Extra-Sprache, jeder Client braucht eigenes Programm für Zugriff

Heute: 3-schichtige Architektur: Auf dem Client läuft nur noch ein Webclient=> keine separates Client-Programm notwendig
Nachteil: http-Protokoll hat keine Sessionverwaltung => Verfolgung des authentifizierten Benutzers schwierig

Folge: Ein DB-Server (MySQL) stellt seine Daten dem Web-Server (Apache) und der den Clients (bel. Browser) zur Verfügung stellt

Begriffe Informationssystem und Datenbasis unterscheiden (also Unterscheidung der Begriffe Information und Daten)

Relationale Datenbanken: Die Daten werden in Form von Tabellen gespeichert (Begriffe: Datensatz, Spalte)

ACID-Prinzip: Paradigma für Datenbanken

  • Atomicity: Transaktionen (änderungen der Datenbank) finden ganz oder gar nicht statt
  • Consistency: Eine Transaktion führt wieder zu einem konsistenten (gültigen) Zustand der DB (z.B. positiver Wert)
  • Isolation: Transaktionen beeinflussen sich nicht gegenseitig
  • Durability: Eine Transaktion ist dauerhaft gespeichert, auch gegen Systemabstürze gesichert.

Valid XHTML 1.1 Valid XHTML 1.1