PMG1617/Einfuehrung DB
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
== Einführung ==
Datenbanken und Statistiken sind im täglichen Leben ständig präsent, sowohl im privatwirtschaftlichen als auch staatlichen Bereich.<br>
Zum ersten Bereich gehören beispielsweise die Datenbanken der Versicherungen, der Reisebüros, der Online-Händler oder der SCHUFA (Schutzgemeinschaft zur allgemeinen Kreditsicherung).<br>
Zum staatlichen Bereich zählen z.B. die statistischen Landesämter, die Meldebehörden oder das Verkehrszentralregister ("Flensburg").
<br><br>
In den folgenden Wochen werden wir uns mit
* der Modellierung von Datenbanken sowie der Optimierung dieser Modelle
* Eigenschaften von Datenbankmanagementsystemen
* Möglichkeiten der Auswertung von Daten
beschäftigen.
<br>
Bevor wir uns der Modellierung widmen, soll anhand der SQL-Syntax die Auswertung einer bereits bestehenden
Datenbank durchgeführt, eine DB erstellt werden sowie ein weiteres Beispiel analysiert werden.
<br>
Die in der Praxis am meisten verwendete relationale Datenbanksprache ist SQL.<br>
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 <u>Projektion</u> auf die Spalten der Tabelle(n) und unter WHERE eine <u>Selektion (Auswahl)</u> der gewünschten Datensätze bzw. Datenfelder!'''
<br><br>
''Für die WHERE-Klausel:''<br>
Vergleichsoperatoren =; <>; <; <=; >; >=
Prädikate können mit AND, OR und NOT zu komplexeren Bedingungen verknüpft werden.<br>
Priorität: NOT vor AND vor OR oder Klammerung!<br>
BETWEEN-Prädikat: entspricht einer Verknüpfung >= AND <=<br>
Sortierung: ORDER BY <spaltenname> ASC/DESC (auf- bzw. absteigend)<br>
Aggregatfunktionen: hinter SELECT stehen Funktionen wie SUM, MAX, COUNT, ..., z.B. SUM(Einwohner)<br>
DISTINCT unterdrückt Dopplungen
SELECT Feldnamen
FROM Tabelle(n)
WHERE Bedingung
ORDER BY Feldname ASC/DESC;
SQL <u>speziell</u> für das PWiki siehe [http://hsqldb.org/doc/guide/ch09.html hier]
Datenbank_SQL-Syntax zum Nachlesen: [http://hsqldb.org/doc/2.0/guide/index.html] <br><br>
== Übungen zur Wiederholung ==
Die ersten Übungen zur Abfrage an Datenbanken erfolgt mit Hilfe der [https://www.sachsen.schule/~terra2014]<br>
WICHTIG: Die Struktur der Tabellen findet sich hier [https://www.sachsen.schule/~terra2014/structure.php]
Lösen Sie dazu folgende Aufgaben:
# Ermitteln Sie die Namen aller Kontinente. [5]
# Gesucht sind alle Inseln (Name) der Inselgruppe der Philippinen.[9]
# Gesucht sind die Einwohnerzahlen der deutschsprachigen Länder (D, A, CH). [3]
# Gesucht ist die Einwohnerzahl der deutschsprachigen Länder (D, A, CH). [1]
# Gesucht sind alle Berge der Alpen (Beachten Sie, dass die Alpen in Teilgebirge aufgegliedert sind). [5]
# Gesucht sind alle Hochgebirge (Gebirge mit Bergen über 3000 m Höhe). [34]
# Gesucht sind alle Flüsse (Name), die in die Ostsee oder Nordsee münden und über 1000 km lang sind. [4]
# Gesucht sind alle Wüsten (Name) der Art 'Sandwueste' mit einer Fläche größer als 25000km².[9]
# Geben Sie für alle Millionenstädte, die in den Tropen liegen, die Namen und ihre Koordinaten an. (Die Tropen liegen zwischen 23.27 Grad nördlicher und 23.27 Grad südlicher Breite.)[64]
# Geben Sie die Ländernamen und die Zahl der Einwohner für alle Länder an, die mehr als 45 Millionen Einwohner haben. Ordnen Sie nach der Einwohnerzahl! [25]
<br>
Z: Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner und die Fläche an.
[53]