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)

Vorlage:Arbeiten

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

Vorlage:Arbeiten


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}}

Vorlage:Arbeiten

Vorlage:Arbeiten

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"

Vorlage:Arbeiten

Wiederholung der Datentypen (10. April 2013)

Vorlage:Arbeiten


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

Vorlage:Arbeiten


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

Vorlage:Arbeiten

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.

Vorlage:Arbeiten


Aufgabe: Umwandeln eines Klassendiagramms in ein relationales Datenbankmodell

Vorlage:Arbeiten Vorlage:Arbeiten

Für besonders Schnelle

Vorlage:Arbeiten

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