informatik informationssysteme / datenbankabfragen thomas mohr 24. april 2009
TRANSCRIPT
![Page 1: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/1.jpg)
I N F O R M A T I K
Informationssysteme / Datenbankabfragen
Thomas Mohr
24. April 2009
![Page 2: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/2.jpg)
2
IN
FO
RM
AT
IKWas sagt der Lehrplan?
Sammlung personenbezogener Daten Missbrauch personenbezogener Daten Schutz personenbezogener Daten
Bedeutung von Datenbanken Informationsdarstellung mit verknüpften Tabellen Erstellung von Abfragen mit einer Abfragesprache
![Page 3: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/3.jpg)
3
IN
FO
RM
AT
IKInformationssysteme
![Page 4: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/4.jpg)
4
IN
FO
RM
AT
IK
Was ist ein Informationssystem ?
• Ein Informationssystem kann auf formalisierte Fragen eines Anwenders Antworten aus einer gegebenen Datenmenge geben Komponenten eines Informationssystems:
Informationssystem
Erfassung
Speicherung
Analyse
Darstellung
DatenbanksystemDBS
Datenbank(Datenbasis)
Datenbank(Datenbasis)
DatenbankmanagementsystemDBMS, z.B. MySQL
![Page 5: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/5.jpg)
5
IN
FO
RM
AT
IK
Ein Ausgangspunkt im Unterricht…
• Schüler führen eine Internet-Recherche durch:„Nachbarländer Deutschlands – Fläche, Einwohner, Hauptstadt“ Nutzung eines Informationssystems Unterschiedliche Darstellung der Informationen
![Page 6: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/6.jpg)
6
IN
FO
RM
AT
IK
Software-Architekturen: „Standalone“-Programm
• Vorteile Übersichtlichkeit (?) Schnell zu programmieren nur eine
Programmiersprache
• Nachteile Daten meist nur vom
erzeugenden Programm zu lesen
Erweiterungen aufwändig Immer wieder gleiche
Probleme (z.B. Datumsformat)
PCDarstellung
Anwendungsprogramm „Logik“
Datenbasis
![Page 7: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/7.jpg)
7
IN
FO
RM
AT
IK
(Datenbank)Server Datenbasis
Darstellung
Anwendungsprogramm „Logik“
Datenbasis
Software-Architekturen - Client-Server
Server
ClientDarstellung
Anwendungsprogramm„Logik“
![Page 8: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/8.jpg)
8
IN
FO
RM
AT
IK
Software-Architekturen - Client-Server
(Datenbank)Server Datenbasis
Server
ClientDarstellung
Anwendungsprogramm„Logik“
• Vorteile Datenbank übernimmt
„Standardaufgaben“ Daten zentral vorhanden
(für mehrere Benutzer / Programme)
Erweiterungen relativ einfach
• Nachteile Installation von Software auf
allen Clients notwendig Weitere „Sprache“ zum
Datenbankzugriff
![Page 9: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/9.jpg)
9
IN
FO
RM
AT
IK
Datenbankserver (z.B. MySQL) Datenbasis
Darstellung
Anwendungsprogramm„Logik“
Software-Architekturen – Webarchitektur
Webclient (Browser) Darstellung
Webserver (z.B. Apache und PHP) „Logik“
Server
Server
Client
![Page 10: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/10.jpg)
10
IN
FO
RM
AT
IK
Software-Architekturen – Webarchitektur
• Vorteile Keine Installation von
zusätzlicher Software beim Client
• Nachteile http-Protokoll ohne
Sessionverwaltung
Webclient (Browser)
Webserver (z.B. Apache und PHP)
Datenbankserver (z.B. MySQL)
Darstellung
„Logik“
Datenbasis
Server
Server
Client
![Page 11: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/11.jpg)
11
IN
FO
RM
AT
IK
Typische Hardware-Verteilung
• Viele (Web-) Clients teilen sich die Dienste eines Webservers, der wiederum auf einen Datenbankserver zurückgreift. In kleinen Systemen können Web- und Datenbankserver auf dem
gleichen Rechner sein.
Datenbankserver
Webserver
Clients
![Page 12: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/12.jpg)
12
IN
FO
RM
AT
IK
…bis hin zum Extrem einer Web Farm
HACMP Fail-Over
Production DB Server FailOver DB Server
2,4 TByte
FDDI Switch
32 GByte RAM
Load Balancer
Application Server Farm
je 4 Prozessoren
32 GByte RAM
![Page 13: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/13.jpg)
13
IN
FO
RM
AT
IK • Relationale Datenbanken
Die Daten werden in Form von Tabellen gespeichert Zwischen den Tabellen werden Beziehungen aufgebaut
(Relationen)
Name Einwohner Hauptstadt Kontinent
Dänemark 5165000 Kopenhagen EuropaDeutschland 81338000 Berlin EuropaIndien 761000000 Delhi AsienRwanda 6300000 Kigali Afrika
Arten von Datenbanken
Attribut (Merkmal, Spalte)
Attributwert (Datenwert)
Datensatz (Tupel)Attributklas
se
Land
![Page 14: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/14.jpg)
14
IN
FO
RM
AT
IK
Arten von Datenbanken
• Relationale Datenbanken – typische Vertreter Oracle IBM (DB/2) Microsoft SQL Server (Access ?) Informix MySQL PostGreSQL
OpenSource
![Page 15: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/15.jpg)
15
IN
FO
RM
AT
IK
Was bietet mir eine Datenbank?
Strukturierte Speicherung von Daten Verteilter, gleichzeitiger Zugriff mehrerer Benutzer /
Programme
ACID – Prinzip Atomicity
• Transaktionen (Änderungen an der Datenbank) werden ganz oder gar nicht durchgeführt
Consistency• Eine Transaktion führt wieder zu einem konsistenten (gültigen)
Zustand der Datenbank Isolation
• Transaktionen beeinflussen sich nicht gegenseitig Durability
• Eine Transaktion ist dauerhaft gespeichert, auch gegen Systemabstürze gesichert
![Page 16: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/16.jpg)
17
IN
FO
RM
AT
IK
LNR Name Einwohner Hauptstadt Kontinent
DK Dänemark 5.16 Kopenhagen EuropaD Deutschland 81.34 Berlin EuropaIND Indien 761.00 Delhi AsienRWA Rwanda 6.30 Kigali Afrika… … … … …
Land
SELECT Name, Einwohner, Kontinent FROM Land WHERE Einwohner > 10
Datenbankzugriff mit SQL - Ein erstes Beispiel
Länder mit über 10 Mio.
Einwohner
Ergebnistabelle
Name Einwohner Kontinent
Deutschland 81.34 EuropaIndien 761.00 Asien… … …
![Page 17: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/17.jpg)
18
IN
FO
RM
AT
IK
Ein erstes Problem der Datenbank führt zur Erweiterung…
• Welche Länder gibt es in Europa mit mehr als 20 Mio Einwohner?SELECT Name, Einwohner FROM Land WHERE Kontinent = 'Europa' AND Einwohner > 20
Frankreich??Problem: Europa wird unterschiedlich geschrieben!
Lösung: Auslagerung in eine eigene Tabelle
![Page 18: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/18.jpg)
19
IN
FO
RM
AT
IK • Wozu dient die Spalte LNR?
• … ein anderes Beispiel: Eine Tabelle mit Städten. Suche nach der Hauptstadt „Berlin“
Suche nach der Hauptstadt „Washington“
Exkurs: Primärschlüssel
Man benötigt noch das Land als Suchhilfe.
Selbst das Land reicht als Suchhilfe nicht
aus.
![Page 19: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/19.jpg)
21
IN
FO
RM
AT
IK
Relationale Datenbanken – Beziehungen
• Land und Kontinent werden in zwei getrennten Tabellen gespeichert und über eine Beziehung miteinander verknüpft.
• Zur Verknüpfung dient ein Kürzel des Kontinents, das als Fremdschlüssel in Land gespeichert wird.
KNR Name
EU EuropaAS AsienAF Afrika
Kontinent
LNR Name Einwohner Hauptstadt Kontinent
DK Dänemark 5.16 Kopenhagen EuropaD Deutschland 81.34 Berlin EuropaIND Indien 761.00 Delhi AsienRWA Rwanda 6.30 Kigali Afrika
LNR Name … KNR
DK Dänemark … EUD Deutschland … EUIND Indien … ASRWA Rwanda … AF
Land
Schlüsselattribut aus Kontinent
![Page 20: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/20.jpg)
23
IN
FO
RM
AT
IKSQL – einfache Joins
• Müssen in SQL Daten aus mehreren Tabellen entnommen werden, so werden sog. „Joins“ gebildet. Die Abarbeitung eines Joins in mehreren Schritten kann an
folgendem Beispiel veranschaulicht werden:• Es sollen alle Länder mit ihren Kontinenten ausgegeben werden,
die mehr als 10 Mio. Einwohner haben.
LNR Name Einwohner KNR
DK Dänemark 5.16 EUD Deutschland 81.34 EUIND Indien 761.00 ASRWA Rwanda 6.30 AF
Land
KNR Name
EU EuropaAS AsienAF Afrika
Kontinent
![Page 21: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/21.jpg)
24
IN
FO
RM
AT
IKSQL – einfache Joins
1. Cross-Join („jede Zeile mit jeder“) SELECT *
FROM Land, Kontinent
LNR Name Einwohner KNR KNR Name
DK Dänemark 5.16 EU EU EuropaDK Dänemark 5.16 EU AS AsienDK Dänemark 5.16 EU AF AfrikaD Deutschland 81.34 EU EU EuropaD Deutschland 81.34 EU AS AsienD Deutschland 81.34 EU AF AfrikaIND Indien 761.00 AS EU EuropaIND Indien 761.00 AS AS AsienIND Indien 761.00 AS AF Afrika… … … … …
LNR Name Einwohner KNR
DK Dänemark 5.16 EUD Deutschland 81.34 EUIND Indien 761.00 ASRWA Rwanda 6.30 AF
Lan
d KNR Name
EU EuropaAS AsienAF Afrika
Kon
tin
en
t
![Page 22: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/22.jpg)
25
IN
FO
RM
AT
IK
WHERE Land.KNR= Kontinent.KNR
LNR Name Einwohner KNR KNR Name
DK Dänemark 5.16 EU EU EuropaDK Dänemark 5.16 EU AS AsienDK Dänemark 5.16 EU AF AfrikaD Deutschland 81.34 EU EU EuropaD Deutschland 81.34 EU AS AsienD Deutschland 81.34 EU AF AfrikaIND Indien 761.00 AS EU EuropaIND Indien 761.00 AS AS AsienIND Indien 761.00 AS AF Afrika… … … … …
2. Einschränken auf „passende“ Datensätze. Es dürfen nur die Zeilen genommen werden, für die die
„Land“ und die „Kontinent“ Tabelle Daten des gleichen Kontinents enthalten.
Dies wird durch die sog. „Join-Bedingung“ erreicht.
SELECT * FROM Land, Kontinent
SQL – einfache Joins
![Page 23: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/23.jpg)
26
IN
FO
RM
AT
IK
AND Land.Einwohner > 10
SQL – einfache Joins
2. Einschränken auf „passende“ Datensätze (2). Es sollen nur Länder mit > 10 Mio. Einwohner gezeigt
werden. Momentan würde auch „Dänemark“ ausgegeben werden.
Also muss eine weitere Bedingung erfüllt sein: SELECT *
FROM Land, Kontinent WHERE Land.KNR = Kontinent.KNR
LNR Name Einwohner KNR KNR Name
DK Dänemark 5.16 EU EU EuropaDK Dänemark 5.16 EU AS AsienDK Dänemark 5.16 EU AF AfrikaD Deutschland 81.34 EU EU EuropaD Deutschland 81.34 EU AS AsienD Deutschland 81.34 EU AF AfrikaIND Indien 761.00 AS EU EuropaIND Indien 761.00 AS AS AsienIND Indien 761.00 AS AF Afrika… … … … …
![Page 24: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/24.jpg)
27
IN
FO
RM
AT
IKSQL – einfache Joins
3. Einschränken auf gesuchte Spalten. Nur bestimmte Spalten werden ausgegeben. SELECT Land.Name, Land.Einwohner, Kontinent.Name
FROM Land,Kontinent WHERE Land.KNR = Kontinent.KNR AND Land.Einwohner > 10
Name Einwohner Name
Deutschland 81.34 EuropaIndien 761.00 Asien… … …
In der Realität versucht das DBMS, durch „geschicktes“ Vorgehen die Datenmenge schon früher zu reduzieren.
LNR Name Einwohner KNR KNR Name
D Deutschland 81.34 EU EU EuropaIND Indien 761.00 AS AS Asien… … … … …
![Page 25: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/25.jpg)
28
IN
FO
RM
AT
IK
Erweiterung der Datenbank
• Es sollen nun die wichtigsten Orte der Länder gespeichert werden.
• Wie sieht eine solche Ländertabelle aus? Es wird eine neue Tabelle „Ort“ angelegt mit einem
Fremdschlüssel auf „Land“.
ONR Name … LNR
BANGAL Bangalore … INDGOETTI Göttingen … DKARLSR Karlsruhe … DKOPENH Kopenhagen …
DK
Ort
LNR Name … KNR
DK Dänemark … EUD Deutschland … EUIND Indien … ASRWA Rwanda … AF
Land
Schlüsselattribut aus Land
![Page 26: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/26.jpg)
29
IN
FO
RM
AT
IK
Kontinent
Teil von
Land Ort
Teil von
Hauptstadt
Bisheriges „Schema“ der Datenbank
• Ein erstes „E/R-Modell“ eigentlich intuitiv zu lesen!?
![Page 27: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/27.jpg)
31
IN
FO
RM
AT
IK
Erweiterung der Datenbank
• Es sollen Flüsse gespeichert werden. Flüsse fließen durch Orte. Manche Orte werden von mehreren Flüssen durchflossen
(z.B. Koblenz)
• Wie sieht die Tabelle für die Flüsse aus?
FNR NameLaenge
ELB Elbe 1144MEK Mekong 4500MOS Mosel 544RHE Rhein 1320
Fluss
ONR Name
GOETTI GöttingenKARLSR KarlsruheKOBLEN Koblenz KOPENHKopenhagen
Ort
ONR
HAMBURPHNOMPKOBLENKOBLEN
Problem: Für Flüsse müssen beliebig viele Orte eingetragen werden.
![Page 28: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/28.jpg)
32
IN
FO
RM
AT
IK
Erweiterung der Datenbank
• Es sollen Flüsse gespeichert werden. Flüsse fließen durch Orte. Manche Orte werden von mehreren Flüssen durchflossen
(z.B. Koblenz)
• Wie sieht die Tabelle für die Flüsse aus?
FNR NameLaenge
ELB Elbe 1144MEK Mekong 4500MOS Mosel 544RHE Rhein 1320
Fluss
ONR Name
GOETTI GöttingenKARLSR KarlsruheKOBLEN Koblenz KOPENHKopenhagen
Ort
FNR
LEIRHERHE
Problem: Für Orte müssen mehrere Flüsse eingetragen werden.
Lösung: Auslagerung der Zuordnung in eine eigene Tabelle
![Page 29: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/29.jpg)
33
IN
FO
RM
AT
IK
Erweiterung der Datenbank
• Es sollen Flüsse gespeichert werden. Flüsse fließen durch Orte. Manche Orte werden von mehreren Flüssen durchflossen
(z.B. Koblenz) Zuordnungstabelle mit Schlüsseln aus beiden
Haupttabellen.
FNR NameLaenge
ELB Elbe 1144MEK Mekong 4500MOS Mosel 544RHE Rhein 1320
Fluss
ONR Name
GOETTI GöttingenKARLSR KarlsruheKOBLEN Koblenz KOPENHKopenhagen
Ort
FNR ONR
ELBHAMBURRHE KOBLENRHE KARLSRMOS KOBLEN
Stadtfluss
![Page 30: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/30.jpg)
34
IN
FO
RM
AT
IK
Struktur der Datenbank terra4
Kontinent
Sprache
Teil von
gesprochen
Land
Fluss
Ort
Teil von
durchfließt
n
m
n
1
1 n
Hauptstadt1 1 n
m
![Page 31: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/31.jpg)
35
IN
FO
RM
AT
IK
Gruppieren von Ergebnissen
• Manchmal müssen die Ergebnisse einer Anfrage gruppiert und verrechnet werden. Bsp.: Wie viele Städte sind in Europa pro Land verzeichnet? SELECT o.ONR, l.Name
FROM Ort o, Land l WHERE o.LNR = l.LNR AND l.KNR = 'EU‘ ORDER BY l.Name
Selbst zählen???NEIN!
ONR Name
AALBOR DänemarkKOPENH DänemarkBERLIN DeutschlandDUESSE DeutschlandMAINZ DeutschlandTALLIN Estland
![Page 32: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/32.jpg)
36
IN
FO
RM
AT
IK
Gruppieren von Ergebnissen
• Manchmal müssen die Ergebnisse einer Anfrage gruppiert und verrechnet werden. Bsp.: Wie viele Städte sind in Europa pro Land verzeichnet? SELECT l.Name, COUNT(*) AS Anzahl
FROM Ort o, Land l WHERE o.LNR = l.LNR AND l.KNR = 'EU‘ GROUP BY l.Name ORDER BY l.Name
ONR Name
AALBOR DänemarkKOPENH DänemarkBERLIN DeutschlandDUESSE DeutschlandMAINZ DeutschlandTALLIN Estland
3
1
2
NameAnzahl
Dänemark 2Deutschland 3Estland 1
![Page 33: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/33.jpg)
37
IN
FO
RM
AT
IK
Struktur der kompletten Datenbank „miniterra“
Kontinent
Sprache
Teil von
gesprochen
Land
Fluss
Ort
Teil von
durchfließt
mündet
n
m
n
1
1 n
Hauptstadt1 1 n
m
1
n
benachbart
m
n
![Page 34: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/34.jpg)
38
IN
FO
RM
AT
IK
u.v.m.
• SQL bietet noch einige weitere (hier nicht behandelte) Möglichkeiten: OUTER JOINS:
• Es werden beim Join auch Datensätze angezeigt, die keinen „Join-Partner“ finden.
• Bsp.: Alle Städte sollen ausgegeben werden und zwar (wenn vorhanden) mit ihren Flüssen.
Behandlung von leeren Feldern (NULL-Werten) …
![Page 35: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/35.jpg)
39
IN
FO
RM
AT
IK
Vernetzung des Themas - Auswertungen
• Grafische Auswertung der Datenbank(z.B. Anzahl der Länder pro Kontinent) über Werkzeuge (z.B. Excel) über selbst erstellte Programme
![Page 36: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/36.jpg)
40
IN
FO
RM
AT
IK
Vernetzung des Themas - Koordinatensystem
• Umrechnung Breiten/Längen-Angaben in Bildschirmkoordinaten
![Page 37: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/37.jpg)
41
IN
FO
RM
AT
IK
Vernetzung des Themas - Grenzen von SQL
• Problem: „Verfolgen eines Flusslaufes“ von der Quelle zum Meer
z.B. Spree
• Hier werden iterative Strukturenbenötigt, die SQL (als mengen-orientierte Sprache) im Standard nicht bietet.
Anknüpfung an Programmierung PHP, Delphi, Java
Rhein
Mosel
Main
NeckarDonau
Isar
Inn
FuldaWerra
Weser
Elbe
HavelSpreeAller
Elbe
HavelSpree
Nordsee
![Page 38: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/38.jpg)
42
IN
FO
RM
AT
IK
Vernetzung des Themas - Grenzen von SQL
• Problem: „Verfolgen eines Flusslaufes“ vom Meer zu den Zuflüssen
z.B. Nordsee
Beispiel für eine (elegante?)rekursive Programmierung
Rhein
Mosel
Main
NeckarDonau
Isar
Inn
FuldaWerra
Weser
Elbe
HavelSpreeAller
Nordsee
Rhein
Mosel
Main
Neckar
FuldaWerra
Weser
Aller
Elbe
HavelSpree
Nordsee
![Page 39: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/39.jpg)
43
IN
FO
RM
AT
IK
Welches Datenbanksystem ? - Vorschlag: MySQL
Freie Software mit großer Entwicklergemeinde inzwischen allerdings von SUN aufgekauft
Installation über XAMPP-Paket auch für Schüler leicht machbar vorkonfigurierte Version (inkl. Datenbanken) ohne
Installationszwang kann den Schülern zur Verfügung gestellt werden
Es fehlen noch typische Konzepte relationaler Datenbanken Echte Fremdschlüssel-Überwachung Trigger …
• www.xampp.org • www.mysql.com
![Page 40: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/40.jpg)
44
IN
FO
RM
AT
IK
Datenschutz
• Anknüpfungspunkt: www.schober.de
![Page 41: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/41.jpg)
45
IN
FO
RM
AT
IK
Datenschutz
• Ein Blick ins Bundesdatenschutzgesetz:(http://bundesrecht.juris.de/bdsg_1990/ )
![Page 42: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/42.jpg)
46
IN
FO
RM
AT
IK
Vernetzung des Themas - Datenschutz
• Datenbank-basierte Umfrage in der Schule Wie können durch Verknüpfen (eigentlich harmloser) Daten
neue Informationen gewonnen werden?
![Page 43: INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr 24. April 2009](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7549795902118ca189/html5/thumbnails/43.jpg)
47
IN
FO
RM
AT
IK
Wahlfach Informatik im Leibniz-Gymnasium Pirmasens
FragenFragen