11.12.2012 Aufrufe

Terra-Datenbank

Terra-Datenbank

Terra-Datenbank

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!