Terra-Datenbank
Terra-Datenbank
Terra-Datenbank
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Datenbank</strong>en<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 1
Begriffe<br />
• <strong>Datenbank</strong>system (DBS):<br />
ist ein einfaches Informationssystem, das aus einer<br />
Datenbasis und einem <strong>Datenbank</strong>managementsystem besteht<br />
• <strong>Datenbank</strong>managementsystem (DBMS):<br />
ist die zur Eingabe, Verwaltung und Ausgabe dieser Daten<br />
erforderliche System. Es wird durch eine Software realisiert.<br />
• Datenbasis (DB):<br />
ist die Gesamtmenge der strukturiert<br />
abgespeicherten Daten mit ihren<br />
Beziehungen und Beschreibungen.<br />
Gewonnen wird die Datenbasis durch<br />
Modellierung von Daten aus einem<br />
definierten Ausschnitt der Realität.<br />
• <strong>Datenbank</strong>:<br />
wird umgangssprachlich für<br />
<strong>Datenbank</strong>system manchmal auch für<br />
Datenbasis benutzt<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 3<br />
<strong>Datenbank</strong>system<br />
DBMS<br />
DB
Der <strong>Datenbank</strong>entwurf<br />
Ziele<br />
• geringe Datenredundanz<br />
• schnelle Datenaktualisierung<br />
• Datenunabhängigkeit<br />
• Nutzerfreundlichkeit<br />
Mögliche Konzepte:<br />
• hierarchisches Datenmodell<br />
• Netzwerkdatenmodell<br />
• relationales Datenmodell<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 4
Hierarchisches Datenmodell<br />
Firma<br />
Abteilung 1 Abteilung 2<br />
Projekt 1 Projekt 2 Projekt 3<br />
Mitarbeiter 1 Mitarbeiter 2 Mitarbeiter 3 Mitarbeiter 4 Mitarbeiter 5<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 5
Netzwerkdatenmodell<br />
Abteilung 1<br />
Firma<br />
Abteilung 2<br />
Projekt 1 Projekt 2 Projekt 3<br />
Mitarbeiter 1 Mitarbeiter 2 Mitarbeiter 3 Mitarbeiter 4 Mitarbeiter 5<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 6
Relationales Datenmodell<br />
Mitarbeiter<br />
PersNr Name Gehalt ...<br />
0815 Meier 1234,00<br />
4711 Kunze 2310,77<br />
... ... ...<br />
PersNr ProjektNr<br />
0815 2<br />
0815 3<br />
4711 1<br />
... ...<br />
Projekt<br />
Nr<br />
1<br />
Beschrei<br />
-bung<br />
Analyse der<br />
Effizienz der<br />
Arbeitsprozesse<br />
Projekt Lauf-<br />
Ltr zeit<br />
4711 0103<br />
1103<br />
1321 0403<br />
0404<br />
111 0203<br />
1205<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 7<br />
2<br />
3<br />
Projekt<br />
der ...<br />
Entwicklung<br />
eines<br />
hydraulischen...<br />
Reduzierung<br />
des Schadstoffausstoßes<br />
...<br />
arbeitet_an Weitere Tabellen<br />
• Abteilung<br />
• verantwortlich_für<br />
• Mitarbeiter_in_Abteilung
Das Entity-Relationship-Modell<br />
Allgemeines, computerunabhängiges Datenmodell zur<br />
relationalen Modellierung<br />
Entity = Entität = Objekt der realen Welt, unterscheidbar<br />
von anderen Objekten gekennzeichnet durch Attribute<br />
Gleichartige Entitäten (mit gleichen Attributen) sind<br />
Ausprägungen eines Entität-Typs und bilden eine Entity-<br />
Menge.<br />
Relationship = Beziehung, zwei oder mehr Entitäten<br />
(Objekte) können miteinander in Beziehung stehen.<br />
Gleichartige Relationships sind Ausprägungen eines<br />
Relationship-Typs und bilden eine Relationship-Menge<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 8
Graphische Darstellung im<br />
Entity-Relationship-Diagram (ERD)<br />
Graphische Darstellung:<br />
Gehalt<br />
Name<br />
Entity-Typ<br />
Mitarbeiter<br />
PersNr<br />
Relationship-Typ<br />
arbeitet<br />
an<br />
ProjektNr<br />
Projektleiter<br />
Projekt<br />
Attribut<br />
Laufzeit<br />
Beschreibung<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 9
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 10
Schlüssel<br />
Um Informationen verschiedener Entities mit einander<br />
zu verknüpfen, muss ein Entity eindeutig zu<br />
identifizieren sein.<br />
Ein Attribut oder eine Kombination von Merkmalen, die<br />
dies für einen Entity-Typ ermöglichen bezeichnet man<br />
als Schlüssel.<br />
In der Darstellung werden Schlüsselattribute meist<br />
durch Unterstreichung hervorgehoben.<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 11
Kardinalität einer Beziehung<br />
Kardinalzahl: Zahl die die Anzahl der Elemente einer<br />
Menge angibt<br />
Hier:<br />
Mächtigkeit der Beziehung, Zuordnungschakteristik,<br />
angeben als Mengen-Verhältnis der in Beziehung<br />
stehenden Entitäten n:m<br />
Entitätstyp 1 Beziehungstyp Entitätstyp 2<br />
ein Flugzeug wird geflogen von verschiedenen Piloten n:m<br />
viele Flugzeuge werden<br />
einem Piloten<br />
ein Schüler wird unterrichtet von vielen Lehrern<br />
n:m<br />
viele Schüler werden<br />
von einem Lehrer<br />
eine Mutter hat viele (Geschwister-)Kinder 1:n<br />
Bedeutung: Eine <strong>Datenbank</strong> hat nur Sinn, wenn zwischen<br />
den Entitäten 1:n oder n:m -Beziehungen bestehen, andernfalls<br />
kann man sie in einer Tabelle zusammenfassen.<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 12
Eine Beziehung ist eine wechselseitige logische Verknüpfung<br />
(Abhängigkeit) von zwei oder mehreren Entitäten (Datensätzen)<br />
Der Typ der Beziehung legt fest, wie viele Datensätze einer zweiten<br />
Tabelle zu einem Datensatz der ersten Tabelle gehören können.<br />
1 1<br />
1 : 1 SCHUELER hat ZEUGNIS<br />
1<br />
n<br />
1 : n KLASSE<br />
hat<br />
SCHUELER<br />
n m<br />
n : m SCHUELER besucht<br />
AG<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 13
Implementierung einer<br />
relationalen <strong>Datenbank</strong><br />
Entities und Relationships werden jeweils in Tabellen<br />
abgebildet.<br />
Nur gleichartige Entities bzw. Relationships werden in<br />
einer Tabelle gespeichert.<br />
Tabellenüberschriften kennzeichnen die Attribute des<br />
Entity-Typs.<br />
Die Zeilen der Tabelle (Datensätze, n-Tupel)<br />
charakterisieren die Entities mit speziellen<br />
Attributwerten.<br />
Schlüsselattribute charakterisieren eine Entität<br />
eindeutig.<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 15
Titel<br />
Sachgebiet<br />
Ort Verlag<br />
Bücher<br />
Autor<br />
Jahr<br />
Buch-Nr<br />
ausgeliehen<br />
gemahnt<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 16<br />
PLZ<br />
Ort<br />
ausgestellt<br />
Ausleihe Leser<br />
Ausleih-Nr zurück<br />
Leser-Nr<br />
Straße geboren<br />
Nachname<br />
Vorname<br />
Geschlecht<br />
… und was<br />
steckt dahinter?
SQL - Die <strong>Datenbank</strong>sprache,<br />
die alle verstehen<br />
SQL = structured query language, weit verbreitete<br />
Sprache zur Definition, Manipulation und Auswertung<br />
relationaler <strong>Datenbank</strong>en. (weitgehend standardisiert)<br />
z.B.<br />
CREATE TABLE Name (Attribut1 Datentyp1, Attribut2 ... );<br />
DROP TABLE Name;<br />
DELETE FROM Tabellenname WHERE Bedingung;<br />
...<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 17
Abfragestruktur in SQL:<br />
SELECT spalte1, spalte2, spalte3<br />
FROM Tabelle1, Tabelle2<br />
WHERE Bedingung;<br />
SELECT Leser.Nachname, Bücher.Titel<br />
FROM Ausleihe, Bücher, Leser<br />
WHERE (((Ausleihe.[Leser-Nr])=[Leser].[Leser-Nr])<br />
AND ((Ausleihe.[Buch-Nr])=[Bücher].[Buch-Nr])<br />
AND ((Ausleihe.zurück)=No));<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 18
Projektion und Selektion<br />
Mit einer Abfrage werden im Allgemeinen mehrere<br />
Tabellen miteinander verknüpft, also zunächst jede<br />
Entität der einen Tabelle mit jeder Entität der anderen<br />
Tabelle.<br />
Projektion<br />
Select – Klausel: wählt nur die Attribute<br />
(Tabellenspalten) aus, die gewünscht sind, projiziert<br />
also die gewünschten Attribute aus verschiedenen<br />
Tabellen in eine neue.<br />
Selektion<br />
Where – Klausel: wählt Datensätze aus, die<br />
bestimmten Bedingungen entsprechen<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 19
Ausblick: Modell K-O-A-M<br />
auch bei <strong>Datenbank</strong>en?<br />
Probleme mit ER-Diagramm:<br />
• keine scharfe Abgrenzung zwischen Entities und<br />
Beziehungen<br />
• unterschiedliche Sprechweisen und<br />
• unterschiedliche Notationen.<br />
� deshalb für die Sekundarstufe I Darstellung der<br />
Klassen und Objekte als MindMap oder in<br />
vereinfachter UML-Notation als Variante möglich<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 20
Der Datensatz - ein Objekt<br />
• die Attribute und Attributwerte eines Objektes (z.B. ein<br />
Schüler) werden in einem Datensatz gespeichert.<br />
Jens Meier:SCHUELER<br />
s_id = 15<br />
s_name = Meier<br />
s_vorname = Jens<br />
s_geschl = m<br />
s_gebdatum = 24.12.1992<br />
s_foto = meier.jpg<br />
Datensatz zum Objekt<br />
„Jens Meier“<br />
Attribute und<br />
Attributwerte<br />
des Datensatzes<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 21
Die Tabelle – eine Klasse<br />
• alle Datensätze mit gleicher Struktur (gleichen Datenfeldern)<br />
sind in einer Tabelle zusammengefasst.<br />
• die Tabelle ist die Klasse zum Objekt Datensatz.<br />
SCHUELER<br />
s_id : 01, 02, 03, …<br />
s_name : Meier, Müller,<br />
Lehmann, …<br />
s_vname : Jens, Uwe, …<br />
s_geschl : m, w<br />
s_gebdatum : 01.03.1998, …<br />
s_foto : ☺, �, …<br />
Tabellenname = Name<br />
der Klasse<br />
Attribute und<br />
Attributwertebereiche<br />
(Datenfelder und<br />
mögliche<br />
Datenfeldinhalte)<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 22
Modellierungsschritte mit Hilfe<br />
Schritt1 : Sammeln<br />
von Mindmaps<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 23
Modellierungsschritte mit Hilfe<br />
Schritt 2: Aufteilung<br />
von Mindmaps<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 24
Modellierungsschritte mit Hilfe<br />
von Mindmaps<br />
Schritt 3: Tabellen vorbereiten<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 25
KUNDE<br />
k_id : Autowert, Primärschlüssel<br />
k_name : Text, 50<br />
k_vorname : Text, 30<br />
k_straße_nr : Text, 50<br />
k_plz : Zahl, Integer, 5 Stellen<br />
k_ort : Text, 50<br />
FAHRRAD<br />
f_id : Autowert, Primärschlüssel<br />
f_hersteller : Text, 50<br />
f_marke : Text, 20<br />
f_modell : Text, 15<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 26
VERLEIH<br />
v_id : Autowert, Primärschlüssel<br />
v_datum : Datum/Zeit, Datum kurz<br />
v_ausgabe : Datum/Zeit, 24 Std.<br />
v_rueckgabe : Datum/Zeit, 24 Std.<br />
v_kaution : Währung<br />
v_betrag : Währung*<br />
k_id : Zahl, Integer<br />
f_id : Zahl, Integer<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 27
<strong>Terra</strong>-<strong>Datenbank</strong><br />
http://marvin.sn.schule.de/terra/<br />
Seiten von Lehrern<br />
Tino Hempel, Ribnitz-Damgarten<br />
http://www.tinohempel.de/info/info/datenbank/index.htm<br />
Robert Rothaar, München<br />
http://www.roro-seiten.de/info/index.html<br />
Quellen:<br />
Carstens, Leipzig<br />
Knapp, Neupert, Dresden<br />
Fortbildung Lehrplan Informatik Gymnasium - RSA-Dresden Baustein 4 - Juni 2005 - Klaus Thuß 28