Theorie ] [ Terra-Datenbank ] Praxis ] Aufgaben ] Quellen ]

Terra-Datenbank

Die relationale Datenbank TERRA enthält Informationen über die politische Geographie und die Topographie der Erde1.

Formaler Aufbau

TERRA =
{LAND, LANDTEIL, STADT, KONTINENT, BERG, EBENE, SEE, MEER, FLUSS, INSEL, WUESTE, ORGANISATION, IST_BENACHBART_ZU, IST_MITGLIED_VON, HAT_SITZ_IN, GEHT_UEBER_IN, LIEGT_AN, UMFASST, GEO_FLUSS, GEO_SEE, GEO_MEER, GEO_INSEL, GEO_WUESTE, GEO_EBENE, GEO_BERG}
LAND
(L_NAME, L_ID, EINWOHNER, FLAECHE, HAUPTSTADT, LT_ID)
LANDTEIL
(LT_NAME, LT_ID, L_ID, EINWOHNER, LAGE, HAUPTSTADT)
STADT
(ST_NAME, L_ID, LT_ID, EINWOHNER, BREITE, LAENGE)
KONTINENT
(K_NAME, FLAECHE)
BERG
(B_NAME, GEBIRGE, HOEHE, JAHR, LAENGE, BREITE)
EBENE
(E_NAME, HOEHE, FLAECHE)
SEE
(S_NAME, TIEFE, FLAECHE)
MEER
(M_NAME, TIEFE)
FLUSS
(F_NAME, FLUSS, SEE, MEER, LAENGE, LAENGEU, BREITEU, LAENGEM, BREITEM)
INSEL
(I_NAME, INSELGRUPPE, FLAECHE, LAENGE, BREITE)
WUESTE
(W_NAME, FLAECHE, WUESTENART)
ORGANISATION
(O_NAME, ABKUERZUNG, ART)
IST_BENACHBART_ZU
(LAND1, LAND2)
IST_MITGLIED_VON
(L_ID, ABKUERZUNG, ART)
HAT_SITZ_IN
(ST_NAME, LT_ID, L_ID, ABKUERZUNG)
GEHT_UEBER_IN
(MEER1, MEER2)
LIEGT_AN
(ST_NAME, LT_ID, L_ID, F_NAME, S_NAME, M_NAME)
UMFASST
(L_ID, K_NAME, PROZENT)
GEO_FLUSS
(LT_ID, L_ID, F_NAME)
GEO_SEE
(LT_ID, L_ID, S_NAME)
GEO_MEER
(LT_ID, L_ID, M_NAME)
GEO_INSEL
(LT_ID, L_ID, I_NAME)
GEO_WUESTE
(LT_ID, L_ID, W_NAME)
GEO_EBENE
(LT_ID, L_ID, E_NAME)
GEO_BERG
(LT_ID, L_ID, B_NAME).


Die Relation LIEGT_AN enthält keine Schlüssel, da das Tripel (ST_NAME, LT_ID, L_ID) mehrfach vorkommen kann, z.B. wenn mehrere Flüsse durch ein und diesselbe Stadt fließen.Andererseits können bezüglich F_NAME, S_NAME oder M_NAME Nullwerte auftreten.Die verwendeten Tabellen und Merkmalsnamen sind zum größten Teil selbsterklärend. Insbesondere bedeuten:SP - Bruttosozialprodukt, LAENGEU, BREITEU, LAENGEM, BREITEM - geographische Länge und Breite des Ursprunges bzw. der Mündung eines Flusses.Beachten Sie, dass V(LAND1) = V(LAND2) = V(L_ID) und V(MEER1) = V(MEER2) =V(M_NAME). Als Datentypen der verwendeten Merkmale sind je nach Semantik TEXToder ZAHL als gegeben zu betrachten.Für die folgenden Anfragen sind SQL-Anweisungen zu formulieren und mit der Praktikumsdatenbank TERRA zu testen.

Aufbau der Datenbank

Die Terra-Datenbank besteht aus rund 20 Tabellen, die in zwei Gruppen unterteilt werden können. Einerseits gibt es Tabellen wie Land, Stadt, Berg usw. Diese enthalten eigenständige, von anderen unterscheidbare Objekte (Entities ­Objekttypen Kapitel ). Anderseits stellen Tabellen wie Geo_Berg, Ist_Mitglied_Von und Liegt_An Beziehungen (Relationships ­Beziehungstypen Kapitel ) zwischen zwei oder mehreren Entities dar2.

In Abbildung 6 wird anhand des Attributes L_ID einige der möglichen Verbindungen aufgezeigt. L_ID kommt in jeder der genannten Tabellen vor. In Land ist L_ID der Primärschlüssel. Das heißt, in Land kann jeder Datensatz anhand L_ID eindeutig identifiziert werden. In anderen Tabellen kann ein Wert von L_ID mehrfach vorkommen. Liegen z. B. mehrere Städte in einem Land, so wird L_ID in Stadt auch mehrfach vorkommen.

Möchte man Angaben zu den Inseln eines Landes haben, so müssen die Entities Land und Insel zusammengeführt werden. Da sie aber keine gemeinsamen Attribute haben, ist das nur über die Relationships z. B. Geo_Insel möglich. In Geo_Insel kommt sowohl L_ID als auch I_NAME vor. Zum Beispiel kann die Zuordnung welche Insel zu welchem Land gehört, nur so erfolgen:

select l.l_name, i.i_name
from Land l, Insel i, Geo_Insel g
where l.l_id=g.l_id and g.i_name=i.i_name

Weiterhin ist es kein Problem, mehrere Tabellen miteinander zu verknüpfen.

Ein häufiger Fehler ist es, Tabellen nicht richtig oder gar nicht in Beziehung zueinander zu setzen.

select l.l_name, i.i_name
from Land l, Insel i, Geo_Insel g

Dabei entsteht das Kreuzprodukt der Tabellen (­ Kapitel ). Dies würde 190 × 175 × 174 = 5.785.500 Einträge besitzen. Selbst eine schnelle Datenbank benötigt einige Minuten, wenn nicht gar Stunden, um alle Datensätze zusammenzustellen. Bei Nutzung der Internet-Datenbank käme noch der Aufwand zur Übertragung der Datenmenge hinzu.

Grafische Darstellungen des Entity-Relationship-Modell

grafisches ERM von Land, Stadt, Liegt_An, Fluss Eine Verdeutlichung für die Kombinationsmöglichkeiten verschiedener Tabellen können solche Zeichnungen geben. Im Internet finden Sie umfangreichere Zeichnungen:
http://www.dbis.informatik.hu-berlin.de/fileadmin/lectures/WS2005_06/DBS1_Praktikum/Informationsblatt2.pdf (Stand: 22.11.06) und
http://www.informatik.uni-jena.de/dbis/lehre/ss2006/dbprak/projekt-0.pdf (Seite 9; Stand: 22.11.06)
wobei allerdings anzumerken ist, dass nicht alle Darstellungen zu 100% auf die an der TU-Dresden vorzufindenden Datenbank anwendbar sind. Sowohl die Benennung als auch der Inhalt der Tabellen unterscheiden sich zuweilen.

Aufgaben zur Terra-Datenbank

  1. Gesucht sind alle Länder mit L_NAME, L_ID, EINWOHNER. [190]3
  2. Gesucht ist die Langform des Landes mit L_ID = 'D' und die entsprechende Einwohnerzahl. [1]
  3. Gesucht sind alle Inseln (Name) der Inselgruppe der Philippinen. [9]
  4. Ermitteln Sie die Namen aller Kontinente. [5]
  5. Gesucht ist die Einwohnerzahl der deutschsprachigen Länder (D, A, CH). [1]
  6. Gesucht ist die Summe der Stadteinwohner je Land. [185]
  7. Gesucht sind alle Berge der Alpen (Beachten Sie, dass die Alpen in Teilgebirge aufgegliedert sind). [4]
  8. Gesucht sind alle Hochgebirge (Gebirge mit Bergen über 3000 m Höhe). [28]
  9. Gesucht sind alle Flüsse (Name), die in die Ostsee oder Nordsee münden und über 1000 km lang sind. [4]
  10. Gesucht sind alle Wüsten (Name) der Art "Sandwueste" mit einer Fläche größer als 25000 km². [9]
  11. Aufgabe gestrichen.
  12. Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner, die Fläche an. [53]
  13. Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner, die Fläche sowie den prozentualen Flächenanteil am Kontinent an. [53]
  14. 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). [28]
  15. Gesucht sind Namen und Hauptstädte aller Länder, die nicht Mitglied der UNO sind.
  16. Ermitteln Sie die Namen aller Flüsse, die sowohl durch Deutschland als auch durch Österreich fließen. Es kann davon ausgegangen werden, dass die Landesidentifikatoren für Deutschland (D) und für Österreich (A) bekannt sind.
  17. Geben Sie die Namen, die jeweilige Länderkennung und die Zahl der Einwohner für alle Länder an, die mehr als 45 Millionen Einwohner haben. Ordnen Sie dabei die Länder in absteigender Reihenfolge nach der Einwohnerzahl. [19]
  18. Gesucht ist der Anteil der Meere an der Erdoberfläche (Angabe in Prozent). [1]
    Hinweise: Oberflächenformel: O = 4pr², Erdradius gleich 6370 km, Flaeche in Tabelle Kontinent liegt normiert vor (Faktor 1 Mill.), damit 6.37 * 6.37 anstelle 6370 * 6370.
  19. Gesucht sind alle Inselgruppen sowie die Anzahl der zugehörigen Inseln. [35]
  20. Gesucht sind alle Flüsse mit mehr als zwei an ihnen liegenden Städten, sortiert nach dieser Anzahl. [21]
  21. Gesucht sind alle Städte, in denen mehrere Organisationen ihren Sitz haben. [5]
  22. Ermitteln Sie die Namen aller Flüsse, die sowohl durch Deutschland als auch durch Österreich fließen. [1]
  23. Gesucht ist die größte Insel der Welt (Name und Fläche der Insel). [1]
  24. Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner, die Fläche, das Bruttosozialprodukt sowie den prozentualen Flächenanteil auf dem Kontinent (1. Teilaufgabe) [56] bzw. am Kontinent (2. Teilaufgabe) [52] an.

1Unterstrichene Attribute der Tabellen sind Schlüssel der Relation.

2Die Trennung in Entity- und Relationship-Tabellen ist stark vereinfacht. Normalerweise findet man in fast allen Tabellen Relationships und in vielen Tabellen kommen Entities vor.
Die Tabelle Stadt enthält zum Beispiel die Beziehung „Welche Stadt in welchem Land liegt.“, indem sie die Attribute ST_NAME und L_ID enthält. Trotzdem bezeichne ich sie hier als Objekt-Tabelle, denn sie sammelt alle Daten zum Objekt „Stadt“.

3Angegeben wird der Grad der resultierenden Relation. Die Lösungen haben Stand Juni 2001. Sollten Aktualisierungen an der Datenbank durchgeführt werden, so kann sich das auch auf die Ergebnismengen auswirken (­).