Informationssysteme / Datenbankabfragen

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbankdesign mit ACCESS.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Datenbanken Einführung.
Datenbankmanagementsystem
Relationaler Datenbankentwurf (II)
Wieso gibt es diese Unterrichtseinheit?
Objekt – Relationales – Modell Tomasz Makowski IN
Bauinformatik II Softwareanwendungen 1
Datenbankzugriff im WWW (Kommerzielle Systeme)
MS Office-Paket: Access
Das Entity-Relationship-Modell
Kapitel 3: Das Relationenmodell
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
SQL als Abfragesprache
MySQL Der Einstieg.
Auswertung im GTDS fixe Abläufe für Standard-Aufgaben Mamma-Auswertung
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Access 2000 Datenbanken.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
JDBC EDV JDBC.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Einführung und Überblick
Grundschutztools
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Relationale Datenbankmodelle
... und alles was dazugehört
20:00.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Datenbanken?.
Informationssysteme / Datenbankabfragen
Informationssysteme / Datenbankabfragen
Grundlagen: Client-Server-Modell
Das Client/Server – Modell und die XAMPP-Distribution
Informationssysteme / Datenbankabfragen
Informationssysteme / Datenbankabfragen
Informationssysteme / Datenbankabfragen
SQL Überblick Abfragen aus einer Tabelle
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Analyse von Ablaufdiagrammen
Allgemeines zu Datenbanken
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
(D.h. „Hallo MausFans!“ auf Japanisch).
Datenbanksysteme für hörer anderer Fachrichtungen
Freiwillige Feuerwehr der Stadt Perg
verstehen planen bearbeiten
Normalisierungsprozess
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Meldungen über Ethernet mit FINS/UDP
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Structured Query Language
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Einführung Dateisystem <-> Datenbanksystem
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Datenbanken im Web 1.
Datenbanken Eine Einführung.
Webserver, Apache und XAMPP
Datenbank System (DBS) - Warum?
INFORMATIK Informationssysteme / Datenbankabfragen Thomas Mohr.
Kapitel 6: Datenbanksysteme
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

Informationssysteme / Datenbankabfragen Thomas Mohr

Informationssysteme

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 Datenbanksystem DBS Datenbank (Datenbasis) Datenbankmanagementsystem DBMS, z.B. MySQL

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

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) Darstellung Anwendungsprogramm „Logik“ Datenbasis PC

Software-Architekturen - Client-Server Darstellung Anwendungsprogramm „Logik“ Datenbasis Darstellung Anwendungsprogramm „Logik“ Client Server (Datenbank)Server Datenbasis

Software-Architekturen - Client-Server 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 (Datenbank)Server Datenbasis Server Client Darstellung Anwendungsprogramm „Logik“ Datenbankzugriff aus Delphi heraus (Client-Server)

Software-Architekturen – Webarchitektur Client Webclient (Browser) Darstellung Server Darstellung Anwendungsprogramm „Logik“ Webserver (z.B. Apache und PHP) „Logik“ Datenbankserver (z.B. MySQL) Datenbasis Server

Software-Architekturen – Webarchitektur Vorteile Keine Installation von zusätzlicher Software beim Client Nachteile http-Protokoll ohne Sessionverwaltung Darstellung Client Webclient (Browser) „Logik“ Webserver (z.B. Apache und PHP) Server In realen Systemen werden heute meist noch mehr Schichten unterteilt, z.B. eine eigene Schicht für die Prozesslogik (z.B. Geschäftsprozesse in SAP) Datenbasis Datenbankserver (z.B. MySQL) Server

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 Hardware-Anforderungen an Webserver und Datenbankserver sehr unterschiedlich. Datenbankserver benötigt vor allem viel Hauptspeicher und Plattenplatz, Webserver vor allem Rechenstärke (PHP-Interpretation).

…bis hin zum Extrem einer Web Farm Load Balancer Application Server Farm je 4 Prozessoren HACMP Fail-Over Production DB Server FailOver DB Server HACMP - High Availability Cluster Multi-Processing FDDI - Fibre Distributed Data Interface Shark - Tiger Shark is a parallel file system for IBM's AIX Operating System 32 GByte RAM 32 GByte RAM FDDI Switch 2,4 TByte

Relationale Datenbanken Arten von Datenbanken Relationale Datenbanken Die Daten werden in Form von Tabellen gespeichert Zwischen den Tabellen werden Beziehungen aufgebaut (Relationen) Attribut (Merkmal, Spalte) Attributwert (Datenwert) Datensatz (Tupel) Attributklasse Land Name Einwohner Hauptstadt Kontinent Dänemark 5165000 Kopenhagen Europa Deutschland 81338000 Berlin Europa Indien 761000000 Delhi Asien Rwanda 6300000 Kigali Afrika

Relationale Datenbanken – typische Vertreter Arten von Datenbanken Relationale Datenbanken – typische Vertreter Oracle IBM (DB/2) Microsoft SQL Server (Access ?) Informix MySQL PostGreSQL OpenSource Einen wesentlichen Fortschritt erzielte in den 1960er und 1970er Jahren Edgar F. Codd mit seiner Forschungsarbeit am IBM Almaden Research Center. Codd entwickelte die Grundlagen des ersten experimentellen relationalen Datenbanksystems System R. Die Berkeley Group folgte mit Ingres und der Abfragesprache QUEL. Oracle (damals noch unter den Firmennamen SDL und RSI) verwertete die Ergebnisse des System R und führte SQL zum kommerziellen Erfolg. IBM folgte mit SQL/DS und DB2. Die relationalen Datenbanksysteme verdrängten in den 1980ern die hierarchischen und netzwerkartigen Systeme und der Großteil der Behörden, Konzerne, Institute und mittelständischen Unternehmen stellte seine IT auf Datenbanksysteme um. Während in den 1990ern wenige kommerzielle Hersteller von Datenbank-Software faktisch den Markt beherrschten (namentlich IBM, Informix, Microsoft mit SQL Server und Oracle), erlangen in den 2000ern die Open-Source-Datenbankmanagementsysteme eine immer größere Bedeutung. Vor allem MySQL und PostgreSQL erzielten signifikante Marktanteile. Als Reaktion bieten die führenden kommerziellen Hersteller gebührenfreie Versionen ihrer Datenbank-Software an. Software-AG: Adabas Früher dBase (von Ashton Tate, dann von Borland gekauft): Dateibasiertes DBS mit eigener Zugriffssprache, später auch SQL-Unterstützung

SQL = Structured Query Language. Abfragen mit SQL SQL = Structured Query Language. Bezeichnet eine Sprache zur Kommunikation mit Datenbanken. Ist international genormt und wird von vielen DBS verstanden. Wird im Folgenden zur Formulierung von Abfragen eingesetzt. Syntax einer (einfachen) SQL-Abfrage: SELECT [Spalten] FROM [Tabelle] WHERE [Bedingung] ORDER BY [Attribute]; Die WHERE- und die ORDER BY-Klausel sind optional. Tabelle anzeigen  SQL wird schon ausgegeben.

Datenbankzugriff - Ein erstes Beispiel SELECT Name, Einwohner, Kontinent FROM Land WHERE Einwohner > 10 Länder mit über 10 Mio. Einwohner Land LNR Name Einwohner Hauptstadt Kontinent DK Dänemark 5.16 Kopenhagen Europa D Deutschland 81.34 Berlin Europa IND Indien 761.00 Delhi Asien RWA Rwanda 6.30 Kigali Afrika … … … … … Ergebnistabelle Name Einwohner Kontinent Deutschland 81.34 Europa Indien 761.00 Asien … … …

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

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. LNR Name Einwohner Hauptstadt Kontinent DK Dänemark 5.16 Kopenhagen Europa D Deutschland 81.34 Berlin Europa IND Indien 761.00 Delhi Asien RWA Rwanda 6.30 Kigali Afrika LNR Name … KNR DK Dänemark … EU D Deutschland … EU IND Indien … AS RWA Rwanda … AF Land KNR Name EU Europa AS Asien AF Afrika Kontinent Beispiel-Datenbank: terra2.sql Schlüsselattribut aus Kontinent

Relationale Datenbank – Aufbau Jeder Datensatz wird durch einen Schlüssel (Primärschlüssel) eindeutig identifiziert. Der Schlüssel kann aus mehreren Attributen zusammengesetzt werden. ist minimal, d.h. es kann kein Attribut weggelassen werden. Oft wird ein zusätzliches, eindeutiges Schlüsselattribut hinzugefügt, z.B. eine Landeskennung wird meist durch Unterstreichung gekennzeichnet. LNR Name Einwohner Hauptstadt Kontinent DK Dänemark 5.16 Kopenhagen Europa D Deutschland 81.33 Berlin Europa IND Indien 761.00 Delhi Asien RWA Rwanda 6.30 Kigali Afrika Land Schlüsselattribut Primärschlüssel anlegen für Tabelle „land“. Problem: Feld noch leer und kann daher nicht als Primärschlüssel verwendet werden (nicht eindeutig)

Relationale Datenbanken – Beziehungen Zwischen den Tabellen bestehen Beziehungen (Relationen) z.B. Kontinent eines Landes Die Verknüpfung erfolgt grundsätzlich dadurch, dass ein Fremdschlüssel der einen Tabelle auf den zugehörigen Primärschlüssel der anderen Tabelle zeigt. Vorteile: Daten werden jeweils nur in einer Tabelle gespeichert. Datenänderungen sind leichter durchzuführen. Strukturänderungen (z.B. das Hinzufügen der Kontinentfläche) lassen sich meist mit geringem Aufwand realisieren. Die Struktur lässt flexiblere Abfragen zu. Master Detail PKey Data FKey PKey Data

SQL – 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 EU D Deutschland 81.34 EU IND Indien 761.00 AS RWA Rwanda 6.30 AF Land KNR Name EU Europa AS Asien AF Afrika Kontinent

Cross-Join („jede Zeile mit jeder“) SQL – einfache Joins Cross-Join („jede Zeile mit jeder“) SELECT * FROM Land, Kontinent LNR Name Einwohner KNR DK Dänemark 5.16 EU D Deutschland 81.34 EU IND Indien 761.00 AS RWA Rwanda 6.30 AF KNR Name EU Europa AS Asien AF Afrika Land Kontinent LNR Name Einwohner KNR KNR Name DK Dänemark 5.16 EU EU Europa DK Dänemark 5.16 EU AS Asien DK Dänemark 5.16 EU AF Afrika D Deutschland 81.34 EU EU Europa D Deutschland 81.34 EU AS Asien D Deutschland 81.34 EU AF Afrika IND Indien 761.00 AS EU Europa IND Indien 761.00 AS AS Asien IND Indien 761.00 AS AF Afrika … … … … …

Einschränken auf „passende“ Datensätze. SQL – einfache Joins 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 WHERE Land.KNR= Kontinent.KNR LNR Name Einwohner KNR KNR Name DK Dänemark 5.16 EU EU Europa DK Dänemark 5.16 EU AS Asien DK Dänemark 5.16 EU AF Afrika D Deutschland 81.34 EU EU Europa D Deutschland 81.34 EU AS Asien D Deutschland 81.34 EU AF Afrika IND Indien 761.00 AS EU Europa IND Indien 761.00 AS AS Asien IND Indien 761.00 AS AF Afrika … … … … …

AND Land.Einwohner > 10 SQL – einfache Joins 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 AND Land.Einwohner > 10 LNR Name Einwohner KNR KNR Name DK Dänemark 5.16 EU EU Europa DK Dänemark 5.16 EU AS Asien DK Dänemark 5.16 EU AF Afrika D Deutschland 81.34 EU EU Europa D Deutschland 81.34 EU AS Asien D Deutschland 81.34 EU AF Afrika IND Indien 761.00 AS EU Europa IND Indien 761.00 AS AS Asien IND Indien 761.00 AS AF Afrika … … … … …

Einschränken auf gesuchte Spalten. SQL – einfache Joins 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 LNR Name Einwohner KNR KNR Name D Deutschland 81.34 EU EU Europa IND Indien 761.00 AS AS Asien … … … … … Name Einwohner Name Deutschland 81.34 Europa Indien 761.00 Asien … … … In der Realität versucht das DBMS, durch „geschicktes“ Vorgehen die Datenmenge schon früher zu reduzieren.

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 … IND GOETTI Göttingen … D KARLSR Karlsruhe … D KOPENH Kopenhagen … DK Ort LNR Name … KNR DK Dänemark … EU D Deutschland … EU IND Indien … AS RWA Rwanda … AF Land Schlüsselattribut aus Land Datenbank: terra3.sql

Bisheriges „Schema“ der Datenbank Ein erstes „E/R-Modell“ eigentlich intuitiv zu lesen!? Kontinent Teil von Land Ort Hauptstadt

Der Alias-Name für Land ist nicht notwendig (verkürzt die Abfrage) SQL – Tabellen-Alias Soll in SQL auf eine Tabelle mehrfach zugegriffen werden, so kann dies mit Alias-Namen geschehen: Es sollen alle Städte mit mehr als 1 Mio. Einwohner ausgegeben werden; dabei auch das zugehörige Land mit Hauptstadt. logische Struktur: SELECT o.Name AS Stadt, l.Name AS Land, hs.Name FROM Ort o, Land l, Ort hs WHERE o.LNR = l.LNR AND l.HauptONR = hs.ONR AND o.Einwohner>10000000 Land Ort Teil von Hauptstadt Der Alias-Name für Land ist nicht notwendig (verkürzt die Abfrage)

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 Name Laenge ELB Elbe 1144 MEK Mekong 4500 MOS Mosel 544 RHE Rhein 1320 Fluss ONR Name GOETTI Göttingen KARLSR Karlsruhe KOBLEN Koblenz KOPENH Kopenhagen Ort ONR HAMBUR PHNOMP KOBLEN Problem: Für Flüsse müssen beliebig viele Orte eingetragen werden.

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 Name Laenge ELB Elbe 1144 MEK Mekong 4500 MOS Mosel 544 RHE Rhein 1320 Fluss ONR Name GOETTI Göttingen KARLSR Karlsruhe KOBLEN Koblenz KOPENH Kopenhagen Ort FNR LEI RHE Problem: Für Orte müssen mehrere Flüsse eingetragen werden. Lösung: Auslagerung der Zuordnung in eine eigene Tabelle

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 Name Laenge ELB Elbe 1144 MEK Mekong 4500 MOS Mosel 544 RHE Rhein 1320 Fluss ONR Name GOETTI Göttingen KARLSR Karlsruhe KOBLEN Koblenz KOPENH Kopenhagen Ort FNR ONR ELB HAMBUR RHE KOBLEN RHE KARLSR MOS KOBLEN Stadtfluss

Struktur der Datenbank terra4 Sprache n gesprochen m 1 n Teil von Land Ort Hauptstadt n 1 1 n Teil von durchfließt 1 m Kontinent Fluss

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 ONR Name AALBOR Dänemark KOPENH Dänemark BERLIN Deutschland DUESSE Deutschland MAINZ Deutschland TALLIN Estland Selbst zählen??? NEIN!

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änemark KOPENH Dänemark BERLIN Deutschland DUESSE Deutschland MAINZ Deutschland TALLIN Estland Name Anzahl Dänemark 2 Deutschland 3 Estland 1 3 1 2

Struktur der kompletten Datenbank „miniterra“ Sprache n gesprochen n m 1 n Teil von benachbart Land Ort Hauptstadt m n 1 1 n Teil von durchfließt m 1 1 Kontinent Fluss mündet n

SQL bietet noch einige weitere (hier nicht behandelte) Möglichkeiten: 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) … Bsp. der Flüsse: SELECT o.Name, f.Name AS Fluss FROM Ort o LEFT OUTER JOIN (Stadtfluss sf JOIN Fluss f ON f.FNR=sf.FNR) ON o.ONR=sf.ONR ORDER BY o.Name  Besonders kompliziert, da Stadtfluss noch mit einem regulären Join mit Fluss verbunden werden muss.

Vernetzung des Themas - Grenzen von SQL Problem: „Verfolgen eines Flusslaufes“ von der Quelle zum Meer z.B. Spree Hier werden iterative Strukturen benötigt, die SQL (als mengen- orientierte Sprache) im Standard nicht bietet. Anknüpfung an Programmierung PHP, Delphi, Java Rhein Mosel Main Neckar Donau Isar Inn Fulda Werra Weser Elbe Havel Spree Aller Elbe Havel Spree Nordsee

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 Neckar Donau Isar Inn Fulda Werra Weser Elbe Havel Spree Aller Nordsee Rhein Mosel Main Neckar Fulda Werra Weser Aller Elbe Havel Spree Nordsee

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

Vernetzung des Themas - Datenschutz Datenbank-basierte Umfrage in der Schule Wie können durch Verknüpfen (eigentlich harmloser) Daten neue Informationen gewonnen werden?

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

Wahlfach Informatik im Leibniz-Gymnasium Pirmasens Fragen