Aufgabe 1: Mitgliederverzeichnis

Lea und Dominik gehen zusammen in den Schwimmverein. Ihr Trainer erfährt, dass sie in der 10. Klasse auch den Umgang mit Datenbanken lernen und fragt sie, ob sie nicht mal Ordnung in seine Datensammlung bringen könnten, indem sie eine Vereinsdatenbank erstellen.
Bisher speichert er das Vereinsregister in einem großen Worddokument, das alle Informationen enthält, die er für die Verwaltung des Vereins braucht: Vereinsregister_sv_otterburg.pdf

  1. Welche Daten sollen in der Datenbank gespeichert werden? Überlege kritisch!
  2. Erstelle eine Klassenkarte.
  3. Zeichne beispielhaft eine Objektkarte.
  4. Finde passende Datentypen zu den Attributen und erstelle das Tabellenschema.
  5. Die Tabelle braucht einen Primärschlüssel. Was würdest Du vorschlagen?

Wiederholung: relationales Datenmodell

  • Einer Klasse im objektorientierten Modell entspricht eine Tabelle im relationalen Datenmodell
  • Der Bezeichner der Klasse entspricht dem Bezeichner der Tabelle ("Handy")
  • Die Attribute der Klasse entsprechen den Spalten der Tabelle ("Id", "Marke", …)
  • Den Objekten im objektorientierten Modell entsprechen die Zeilen der Tabelle (Fachwort: "Datensätze")
  • Eine Spalte (oder eine Kombination von mehreren Spalten), deren Werte über die ganze Tabelle hinweg eindeutig sind und damit jeden Datensatz eindeutig indentifizieren, verwendet man als Primärschlüssel der Tabelle.
  • Meist wird eine neue Spalte (hier "Id") als Primärschlüssel verwendet, deren Werte sachlich nichts beitragen, aber auf einfache Weise eindeutig belegt werden können (z.B. Durchnummerieren). So eine Spalte nennt man dann künstlicher Primärschlüssel.



Objektkarten
Im schulischen Kontext werden Objekte/Datensätze oft als Objektkarten dargestellt. Für die obige Tabelle hier zwei mögliche Objektkarten:
Obige Klassenkarte/Objektkarten entsprechen folgender Tabelle Handy in der Datenbank:

IdMarkeTypRamSSDGrößeAuflösungXAuflösungY
958AppleIphone 51024164.01136640
1246SamsungGalaxy S52048325.019201080

Wiederholung: Datentypen

Wir kennen folgende SQL-Datentypen:

  • varchar(50) (Zeichenkette, hier max. 50 Zeichen lang)
  • int (ganze Zahl)
  • boolean (Wahrheitswert)
  • decimal(10,2) (Dezimalzahl, hier 10 Stellen, davon 2 Nachkommastellen)
  • date (Datumswert)
  • time (Zeit, von 0:00 bis 23:59)
  • timestamp, datetime (Zeitstempel, d.h. Datum + Uhrzeit)

Hier das obige Tabellenschema mit SQL-Datentypen: Oft schreibt man Tabellenschemata in folgender Kurzform:
Handy(id: int, Marke: varchar(80), Typ: varchar(80), Ram: int, SSD: int, Größe: decimal(3,1), AuflösungX: int, AuflösungY: int)