DBMSZeug

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
Kurzinfo

Inhaltsverzeichnis

Wiederholung: Schlüssel (07.03.2013)

Stift.gif   Aufgabe Primärschlüssel
  1. Bearbeite die S. 80/6 ("Datenbank einer Schulverwaltung") schriftlich in Deine Informatikmappe!
  2. Entwirf mit Hilfe von PowerPoint am Computer ein animiertes Klassendiagramm zur Datenbank "Zoo" (inkl. Kardinalitäten und unter Angabe von sinnvollen Primärschlüssel!) [Hinweis: Überlege Dir zunächst die notwendigen Klassen und die Beziehungen!

Die Datenbank "Zoo"

Zooleiter Tierlieb möchte zur leichteren Verwaltung seines Zoos eine Datenbank erstellen. Hierbei ist folgendes zu beachten:
  • In dem Zoo gibt es mehrere Gebäude. Diese Gebäude haben eine GebäudeNr und eine bestimmte Größe.
  • Desweiteren leben hier natürlich auch Tiere. Diese haben eine TierId, einen Namen und sind von einer bestimmten Art.
  • Ein Tier frisst eine bestimmte Menge an Futter. Jedes Futter hat eine FutterNr. eine bestimmten Lieferanten und einen Futternamen.
  • Jedes Tier wird von genau einem Pfleger versorgt. Ein Pfleger hat eine PflegerId, einen Namen und eine Adresse.
  • Jedes Tier wohnt in genau einem Gebäude.
  • Jede Futtersorte wird in genau einem Gebäude gelagert.

(Anmerkung: ID bedeutet Identitätsnummer. Diese ist immer eindeutig!)

Von der Realität zur Datenbank (13.03.2013)

Mathematik-digital Pfeil-3d.png
Lernpfad

In dieser Unterrichtseinheit wirst du schrittweise angeleitet, unsere Modellierung einer Datenbank in Form eines Klassendiagramms in ein relationales Datenbankschema zu überführen, um anschließend in mySql die entsprechenden Tabellen der Datenbank eingeben zu können.

Für besonders Schnelle gibt es am Ende auch eine besondere Übung! Ich bin gespannt auf eure Ergebnisse!

Übersicht über die bisherigen Schritte

  1. slideshare:dbschritte-130304101502-phpapp01

Datenbankentwurf in Form eines Klassendiagramms

Wir können bereits verschiedene Aufgabenstellungen wie beispielsweise das Ausleihen eine Buches einer Bibliothek oder das Bestellen und Liefern von Artikeln eines Versandhauses in Form eines Klassendiagrammes modellieren. Hierbei haben wir ebenfalls kennengelernt wie man die Wertigkeiten der Objekte(Kardinalitäten) bestimmen kann. Desweiteren haben wir die Wichtigkeit eines Primärschlüssels schätzen gelernt.

Fragezeichen.gif   Frage

Wie gelangen wir nun von diesem Klassendiagramm zu einer Datenbank mit Tabellen?


Zunächst ist es sinnvoll zu überlegen, wie die Begriffe unseres objektorientierten Datenmodell zu unserem Datenbankschema zuzuordnen sind:

Begriffsvergleich

Stift.gif   Aufgabe 1
  1. Betrachte das Klassendiagramm und ordne in der Tabelle die jeweiligen Begriffe zu! Du kannst die untenstehenden Begriffe durch Ziehen in die entsprechende Lücke verschieben!
  2. Überprüfe Deine Lösung und übernehme die Tabelle unter der Überschrift "3.3 Begriffsvergleich" in Deine Informatik-Mappe!


BuchEntleiher.jpg
Objektorientiertes Datenmodell
Datenbankschema
Bsp. BUCH - ENTLEIHER
Klasse Tabellendefinition Tabelle ENTLEIHER
Klassenname Tabellenname ENTLEIHER
Objekt Datensatz bzw. Zeile in der Tabelle "Mustermann, Paul, 9a"
Attribut Spalte in der Tabelle Schulklasse
Attributwert Feldinhalt "Paul"
Menge aller Objekte in einer Klasse Alle Datensätze einer Tabelle Alle Entleiher mit Name, Vorname, Schulklasse

Vom Klassendiagramm zum relationalen Datenbankschema

{{#slideshare:relamodell-130306022602-phpapp01}}

Stift.gif   Aufgabe 2
  1. Arbeite die obige PowerPoint-Präsentation zur Vereinfachten Übertragung des Klassendiagramms in das relationale Datenbankschema gründlich durch!
  2. Notiere unter der Überschrift "3.4 Vom Klassendiagramm zum relationalen Modell" die drei Schritte und die dazugehörigen Beispiele in Deine Informatikmappe!
  3. Du hast in der Präsentation den Begriff des Fremdschlüssels kennengelernt. Informiere Dich, was ein Fremdschlüssel ist (z.B. Informatikbuch)! Notiere eine für Dich verständliche Definition in Deine Informatikmappe! Wir werden die verständlichsten Definitionen hier veröffentlichen!
Stift.gif   Aufgabe 3

Übertrage das rechts stehende Klassendiagramm in ein relationales Datenbankschema (schriftlich in Deine Informatikmappe)!

||

Bsp.: Versandhaus

KD Versandhaus.gif

Der passende (Daten-)Typ ist gefragt!

Im Gegensatz zu einem Tabellenkalkulationsprogramm muss in einer Datenbank beim Anlegen der Tabellen auch gleichzeitig der Datentyp der in einer Spalte stehen kann, eindeutig angegeben werden.

Die Datenbank "Zoo"

Stift.gif   Aufgabe 4

Übertrage das Klassendiagramm zur Aufgabe Zoo in ein relationales Datenbankschema! (Du kannst das Schema auf einer gesonderten Folie in PowerPoint einfach ergänzen!)

Wiederholung der Datentypen (10. April 2013)

Stift.gif   Aufgabe 5

Ordne in der Tabelle die jeweiligen Beschreibungen den Datentypen zu! Du kannst die untenstehenden Beschreibungen durch Ziehen in die entsprechende Lücke verschieben!


Datentyp
Beschreibung
CHAR(länge) Zeichenfolge von fester Länge; dem Text werden so viele Leerzeichen angefügt, bis die angegebene Länge erreicht ist
VARCHAR(maxlänge) Zeichenfolge von variabler, aber begrenzter Länge
INT Ganze Zahlen zwischen -2147483648 und 2147483648
DECIMAL(Ziffernanzahl, Nachkommastellen) Kommazahlen im Dezimalsystem mit genau festlegbarer Stellenanzahl
FLOAT Kommazahlen mit etwa 7 gültigen Ziffern
DOUBLE Kommazahlen mit etwa 15 gültigen Ziffern
DATE Datumsangaben
TIME Zeitangaben
DATETIME Kombinierte Datums- und Zeitangaben
BOOLEAN Wahrheitswerte
Stift.gif   Aufgabe 6

Nachdem Du nun bereits die Definitionen richtig zugeordnet hast, sind nun den Beispielen sinnvolle Datentypen zuzuordnen. In der linken Spalte der Datentyp angegeben. Deine Aufgabe ist es nun, das entsprechende Beispiel zuzuordnen (rechte Spalte)!


Datentyp
Bsp. aus der Tabelle Buch
CHAR(17) Die ISBN ist ein genau 17 Zeichen langer Text.
INT Seitenzahl, Exemplaranzahl oder Erscheinungsjahr
DECIMAL(7,2) Buchpreis
VARCHAR Titel, Autor und Verlag
BOOLEAN entliehen bzw. nicht entliehen
DATE Entleihdatum
Stift.gif   Aufgabe 7

Der Unterschied zwischen VARCHAR und CHAR Bearbeite die Aufgaben zunächst alleine.

  1. Übertrage die untenstehende Tabelle unter der Überschrift "Unterschied zwischen VARCHAR und Char" in Deine Informatikmappe.
  2. Trage in der 2. und 3. Spalte jeweils ein, wie die Werte je nach Datentyp gespeichert werden!
  3. Gib jeweils durch Eintragen von ">" oder "<", welcher Datentyp mehr Speicherplatz benötigt!
  4. Vergleiche Deine Lösung mit Deinem Banknachbarn!
Wert CHAR(4) Erforderlicher Speicherplatz "<" oder ">"? VARCHAR(4)
""
"ab"
"abcd"
"abcdefgh"

Weitere Eigenschaften eines Spalteneintrags in einer Tabelle

  • NULL: Manchmal sind die Attributwerte eines Objektes bei der Erfassung in einer Tabelle nicht bekannt. So kann es sein, dass z.B. in der Spalte "Entleihdatum" in der Tabelle Buch kein Eintrag steht, da gerade nicht entliehen ist. In diesem Fall gibt es in Datenbanken einen besonderen Eintrag, nämlich den Eintrag "NULL" (= kein Wert; engl. ungültig, nichtig). Bei der Spaltendefinition kann also angegeben werden, ob für ein Feld in einer Tabelle auch der Wert NULL zugelassen wird.
  • NOT NULL: Umgekehrtes gilt bei der Verwendung des Eigenschaft "NOT NULL". In diesem Fall muss in der entsprechenden Spalte ein Wert stehen, da ansonsten bei der Dateneingabe eine Fehlermeldung erscheint. Dies ist beispielsweise in Spalte ISBN sinnvoll.
  • DEFAULT: Desweiteren gibt es noch die Eigenschaft "DEFAULT". Hierdurch wird ein bestimmter Wert, falls keine Eingabe erfolgt festgelegt. In der Tabelle Buch ist z.B. in der Spalte "Ist entliehen?" sinnvoll, standardmäßig "FALSE" einzutragen. Hierdurch wird standardmäßig angegeben, dass das Buch als "nicht entliehen" gilt. Es sei denn etwas anderes wird eingetragen.
  • AUTOINCREMENT: Diese Angabe bei der Spaltendefinition bewirkt, dass eine (ganze) Zahl bei Hinzufügen eines weiteren Datensatzes automatisch erhöht wird. Dies ist hauptsächlich beim Primärschlüssel sinnvoll. In der Tabelle Kunde ist dies bei der KundenNr. nützlich. Hierdurch wird automatisch bei der Eingabe eines neuen Kunden, die Kundennummer um eins erhöht.
Stift.gif   Aufgabe 8

Notiere selbständig die oben genannten Eigenschaften und ihre Bedeutung unter der Überschrift NULL, NOT NULL, DEFAULT und AUTOINCREMENT in Deine Arbeitsmappe, so dass Du sie jederzeit nachschlagen kannst!


Aufgabe: Umwandeln eines Klassendiagramms in ein relationales Datenbankmodell

Stift.gif   Aufgabe 9

Uff, geschafft! Nun müsstest Du fit im Umwandeln eines Klassendiagramms in ein relationales Datenbankmodell sein! Bevor Du dies am Beispiel einer Datenbank für eine Bank testest, schlage noch einmal in deiner Mappe oder hier im Wiki folgendes nach:

  1. Was ist ein Primärschlüssel?
  2. Wie wandele ich eine Klassenkarte in eine relationales Schema um? Wie gehe bei welcher Kardinalität vor? Was ist ein Fremdschlüssel? (vgl. nebenstehende PowerPoint!)
  3. Welche Datentypen gibt es? Wie ist die Schreibweise eines relationalen Schemas inkl. Datentyp und besondere Eigenschaft?
Stift.gif   Aufgabe 9

Uff, geschafft! Nun müsstest Du fit im Umwandeln eines Klassendiagramms in ein relationales Datenbankmodell sein! Bevor Du dies am Beispiel einer Datenbank für eine Bank testest, schlage noch einmal in deiner Mappe oder hier im Wiki folgendes nach:

  1. Was ist ein Primärschlüssel?
  2. Wie wandele ich eine Klassenkarte in eine relationales Schema um? Wie gehe bei welcher Kardinalität vor? Was ist ein Fremdschlüssel? (vgl. nebenstehende PowerPoint!)
  3. Welche Datentypen gibt es? Wie ist die Schreibweise eines relationalen Schemas inkl. Datentyp und besondere Eigenschaft?

Für besonders Schnelle

Stift.gif   Aufgabe für Fortgeschrittene

Die Firma "Rent Me" ist eine Mietwagenfirma die sich hauptsächlich auf die Vermietung von Luxus-Sportwagen spezalisiert hat. Entwirf für die Firma schrittweise beginnend bei den Entwurf eine Klassendiagramms über das relationale Datenbankmodell eine Datenbank. Das Aufgabenblatt "Rent Me" liegt am Pult aus! Ihr könnt die Aufgabenstellung gerne am Rechner (z.B. animierte PowerPoint) oder in Papierform bearbeiten! Ich bin gespannt auf eure Ergebnisse!

Datensicherheit und Datenschutz

Datenbanken und Facebook-Psychologie

Die Daten des sozialen Netzwerks erlauben mit einer Präzision von bis zu 95 Prozent Rückschlüsse auf die Persönlichkeit der Nutzer. (Spiegel, 11.03.2013) mehr...

Pizzalieferservice


Diese Sequenz wurde erstellt von:


Petra Kuhn-Bader