Profil nawi 10 1112

Aus ProgrammingWiki
< PMG
Archivierte Version vom 2012-05-22T12:38:03+00:00. Aktuelle Version

Datenbanken und Statistiken sind im täglichen Leben ständig präsent, sowohl im privatwirtschaftlichen als auch staatlichen Bereich.
Zum ersten Bereich gehören beispielsweise die Datenbanken der Versicherungen, der Reisebüros, der Online-Händler oder der SCHUFA.
Zum staatlichen Bereich zählen z.B. die statistischen Landesämter, die Meldebehörden oder das Verkehrszentralregister ("Flensburg"), aber auch die Personalverwaltung oder Schülerverwaltung hier an der Schule.

In den folgenden Wochen werden wir uns mit
* der Modellierung von Datenbanken
* und den Möglichkeiten der Auswertung von Daten
beschäftigen.

Zunächst analysieren wir eine gegebene Datenbank in der bekannten Umgebung der Office-
Programme (MS Access), erarbeiten uns wichtige Begriffe und entwerfen eine 
Datenbank zum Thema Raumfahrt/Astronomie. Diese setzen wir in MS Access und dann auch im 
PWiki um. Dafür benötigen wir dann die Datenbanksprache SQL.



Die Datenbanksprache SQL und die SQL-Syntax


Die in der Praxis am meisten verwendete relationale Datenbanksprache ist SQL.
SQL ist eine deskriptive Sprache, d.h. eine Anfrage hat das Ergebnis ohne Angabe des Algorithmus zu beschreiben.

Grundlegend basieren die Anfrageanweisungen auf der SELECT-FROM-WHERE - Klausel

Beispiel:

SELECT Feldnamen
FROM Tabelle(n)
WHERE Bedingung;

Dabei erfolgt unter SELECT eine Projektion auf die Spalten der Tabelle(n) und unter WHERE eine Selektion (Auswahl) der gewünschten Datensätze bzw. Datenfelder!

Für die WHERE-Klausel:
Vergleichsoperatoren =; <>; <; <=; >; >=

Prädikate können mit AND, OR und NOT zu komplexeren Bedingungen verknüpft werden.
Priorität: NOT vor AND vor OR oder Klammerung!
BETWEEN-Prädikat: entspricht einer Verknüpfung >= AND <=
Sortierung: ORDER BY <spaltenname> ASC/DESC (auf- bzw. absteigend)</spaltenname>

SELECT Feldnamen
FROM Tabelle(n)
WHERE Bedingung
ORDER BY Feldname ASC/DESC;

weitere Hinweise zur Syntax siehe SQL-Tutorial
bzw. speziell für das PWiki siehe hier


Die folgende Einleitung entstammt der Seite von Michael Hielscher.

  • Es wird eine Datenbank angelegt.
  • Die Datenfelder werden gefüllt (Inserts).
  • Eine Abfrage gestellt (Query).

Eine kleine DB vorbereiten:

Führen wir ein paar Inserts durch:


Ein Query dazu:

Natürlich kann man auch CODE Boxen verwenden oder versteckten Code für das anlegen einer Datenbank 
mit Beispielinhalten usw.
Elemente, die in einer CODE Box hinterlegt sind, werden IMMER vor jedem RUN mit ausgeführt. 
Damit eignen Sie sich prima, um Tabellen und Datensätze anzulegen:


Bibliotheks-DB


Anlegen einer Tabelle Leser:




Außerdem wird eine Tabelle Buch1 benötigt, die die Angaben zu den Büchern enthält:

Lass Dir die Inhalte der Tabelle buch1 anzeigen.



Im Folgenden sind noch die Tabellen buch2, bestand und ausleihe angelegt und mit Datensätzen gefüllt.
Lass Dir ebenfalls die Inhalte anzeigen.



Analysieren Sie die Tabellen und finden Sie die Beziehungen zwischen diesen heraus. (vergleiche hier)
Abschließend stellen Sie folgende Anfragen:

1. Welche Bücher beinhalten Ausführungen zu der Programmiersprache LISP?
2. Welche Bücher (T_Nr, Titel, Verlag) hat der Leser mit der L_Nr '001' wann ausgeliehen?
SELECT buch2.Schlagwort, buch1.Titel, buch1.Verlag, buch1.Jahr
FROM  buch1,  buch2 
WHERE buch1.T_NR = buch2.T_NR and ((buch2.Schlagwort)='LISP') ;

select T_Nr, Titel, Verlag, Aus_datum
from leser, ausleihe, bestand, buch1
where leser.L_NR=ausleihe.L_NR and ausleihe.reg_nr=bestand.reg_nr and bestand.T_nr=buch1.T_Nr and  L_Nr='001';


zum Üben:

Abfrage an Datenbanken mit Hilfe der Terra-Datenbank online

Löse dazu folgende Aufgaben:

  1. Ermittle die Namen aller Kontinente
  2. Gesucht sind alle Inseln (Name) der Inselgruppe der Philippinen.
  3. Gesucht sind die Einwohnerzahlen der deutschsprachigen Länder (D, A, CH).
  4. Gesucht ist die Einwohnerzahl der deutschsprachigen Länder (D, A, CH).
  5. Gesucht sind alle Berge der Alpen (Beachten Sie, dass die Alpen in Teilgebirge aufgegliedert sind).
  6. Gesucht sind alle Hochgebirge (Gebirge mit Bergen über 3000 m Höhe).