Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Lektion 1 - Etwas Theorie
WARUM braucht man eine Datenbank?
Effizienz!
Aber was heißt das?
Wie lange braucht man, um ein beliebiges YouTube Video zu suchen? Man müsste über 50 TByte Daten durchsuchen. Verglichen mit dem Suchen einer Datei auf der Festplatte des eigenen PCs ist der Suchvorgang bei YouTube bedeutend schneller.
⇒ Effizienz beim Suchen!
Das Suchen ist eines der wichtigsten Funktionen, die Datenbanken(systeme) bereitstellen.
Was kann nun in Datenbanken gespeichert werden?
- Informationen von verschiedenen Objekten (wie Lehrer oder Schüler,…)
- Große Speichermengen
- im Prinzip ALLES
Schulverwaltung - ein erstes Beispiel
Gespeichert sind 2 (oder mehr) Objekttypen: Schüler und Lehrer
Folgende Informationen sind (für uns) jeweils wichtig:
Schüler | Lehrer | ||
---|---|---|---|
Schülernummer | Lehrernummer | ||
Nachname | Nachname | ||
Vorname | Vorname | ||
Geburtsdatum | Geburtsdatum | ||
Geschlecht | Fächer | ||
Klasse | Unterrichtsstunden | ||
e-M@il | |||
KLNummer |
Fast alle heutigen Datenbankensysteme speichern ihre Informationen in tabellarischer Form.
Wie wird das nun in einer Datenbank Schulverwaltung realisiert:
Tabelle Schüler
schueler | |||||||
---|---|---|---|---|---|---|---|
SNummer | SNachname | SVorname | SGeburtsdatum | SGeschlecht | SKlasse | Se-M@il | KLNummer |
1 | Fischer | Fritz | 06.04.1993 | m | 10a | fritzle@gmx.de | 1 |
2 | Müller | Martina | 01.12.1997 | w | 6c | muellerma@web.de | 2 |
3 | Wahnsinn | Heller | 05.12.1994 | w | 9b | hellwa@hotmail.com | 1 |
Tabelle Lehrer
lehrer | ||||||
---|---|---|---|---|---|---|
LNummer | LNachname | LVorname | LGeburtsdatum | LFach 1 | LFach 2 | Unterrichtsstunden |
1 | Witzig | Willi | 12.08.1947 | M | Ph | 15 |
2 | Bogen | Ellen | 17.12.1973 | D | E | 22 |
3 | Maier | Klaus | 03.01.1950 | M | Sp | 25 |
4 | … | … | … | … | … | … |
In diesem Beispiel besteht die Datenbank Schulverwaltung aus den Tabellen schueler und lehrer.
- Einem Namen (schueler, lehrer)
- beliebigen Spalten(nachname, fach1, klasse, …)
- beliebig vielen Zeilen, in denen die Informationen gespeichert sind
Mögliche Fragen
- Klassenliste der 6c
- e-M@il Adresse von Fritz Fischer
- Wer hat Geburtstag?
- Haben wir genug Lehrer, um 150 Stunden Deutsch zu unterrichten?
- …
Bezeichnungen
- Die gespeicherten Objekte „Lehrer“ und „Schüler“ heißen jeweils Entität.
- Jede Entität besitzt verschiedene Attribute: Lehrer und Schüler Name und Vorname, jeder Lehrer seine Fächer u.s.w.
- Wichtig „Lehrer“ ist die Entität, „Klaus Huber“ ist eine Instanz der Entität.
⇒ daraus ergibt sich das
Das Entity-Relationship-Modell
Eine Datenbank verknüpft verschiedene Entitäten auf logische Weise, in der Datenbank wird die Realität abgebildet oder modelliert.
„Jeder Schüler hat genau einen Klassenlehrer“
Verknüpft im Beispiel die Entitäten „Schüler“ und „Lehrer“, dargestellt im folgenden Entity-Relations-Diagram (ER-Diagramm).
Da jeder Schüler genau einen Klassenlehrer hat, spricht man hier von einer n:1 Relation (⇒ siehe Fremdschlüssel) zwischen „Schüler“ und „Lehrer“.
Übungen 1
- Ergänze die Entitäten der Schulverwaltungsdatenbank durch weitere Attribute
- Ergänze die Schulverwaltungsdatenbank durch eine weitere Entität, die mit mindestens einer der beiden vorgegebenen in einer Beziehung steht.
- Zeichne ein ER-Diagramm für deine „neue“ Schulverwaltungsdatenbank
Übungen 2
Modelliere die folgenden Minirealitäten in einem ER-Diagramm: Welche Beziehung besteht zwischen den Entitäten, welche Attribute haben die Entitäten?
- Schüler (Vorname, Name) erhalten Zeugnisse. Die Zeugnisse enthalten eine Bemerkung über Mitarbeit und Verhalten und die Fachnoten.
- Zu einer gespeicherten Sammlung von Digitalfotos, deren Datum und Auflösung bekannt ist, soll ein Stichwortverzeichnis angelegt werden.
- CDs (Titel, ISBN-Nummer) sind von bestimmten Interpreten (Name) und enthalten Songs (Titel). (3 Entitäten!)