Datenbanken - Überblick

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.

Merke: Eine Datenbank besteht aus einer oder mehreren Tabellen

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.

Merke: Eine Tabelle in einer Datenbank besteht aus: 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.

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“.

Übersicht zum ER-Modell

Ü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!)

Lektion 1.1 - Erste SQL-Schritte