[ Theorie ] [ Terra-Datenbank ] [ Praxis ] [ Aufgaben ] [ Quellen ]
Terra-Datenbank
Die relationale Datenbank TERRA enthält Informationen über die politische Geographie und die Topographie der Erde.
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 dar.
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
Aufgaben zur Terra-Datenbank
- Gesucht sind alle Länder mit L_NAME, L_ID, EINWOHNER. [190]
- Gesucht ist die Langform des Landes mit L_ID = 'D' und die entsprechende Einwohnerzahl. [1]
- Gesucht sind alle Inseln (Name) der Inselgruppe der Philippinen. [9]
- Ermitteln Sie die Namen aller Kontinente. [5]
- Gesucht ist die Einwohnerzahl der deutschsprachigen Länder (D, A, CH). [1]
- Gesucht ist die Summe der Stadteinwohner je Land. [185]
- Gesucht sind alle Berge der Alpen (Beachten Sie, dass die Alpen in Teilgebirge aufgegliedert sind). [4]
- Gesucht sind alle Hochgebirge (Gebirge mit Bergen über 3000 m Höhe). [28]
- 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 25000 km². [9]
- Aufgabe gestrichen.
- Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner, die Fläche an. [53]
- 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]
- 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]
- Gesucht sind Namen und Hauptstädte aller Länder, die nicht Mitglied der UNO sind.
- 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.
- 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]
- 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.
- Gesucht sind alle Inselgruppen sowie die Anzahl der zugehörigen Inseln. [35]
- Gesucht sind alle Flüsse mit mehr als zwei an ihnen liegenden Städten, sortiert nach dieser Anzahl. [21]
- Gesucht sind alle Städte, in denen mehrere Organisationen ihren Sitz haben. [5]
- Ermitteln Sie die Namen aller Flüsse, die sowohl durch Deutschland als auch durch Österreich fließen. [1]
- Gesucht ist die größte Insel der Welt (Name und Fläche der Insel). [1]
- 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.