zurück weiter

Datenbanken - Zweite Übungen

G. Eichelsdörfer - Staatliche Technikakademie Weilburg

Erweitern, Import und Export einer Tabelle

Sie sollten im Browser die Webanwendung phpMyAdmin geöffnet und sich am MySQL-Server angemneldet haben. Auch der MySQL-Monitor sollte in einem Konsolenfenster laufen und mit dem MySQL-Server verbunden sein.

  1. Importieren einer Tabelle in eine Datenbank

    Im meinem Austauschordner (Webspace) steht ein SQL-Skript zur Verfügung, welches (hoffentlich) alle deutschen Postleitzahlen und Wohnorte beinhaltet. Ein SQL-Skript beinhaltet SQL-Anweisungen. Es kann bspw. vom MySQL-Monitor per "source <Pfad zum Skript>" zur Ausführung gebracht werden. Dabei werden die im Skript enthaltenen MySQL-Anweisungen von oben nach unten abgearbeitet.

    1. Laden Sie das ZIP-Archiv "ort.zip" von meinem Austausch-Ordner per Web-Browser herunter und speichern es in dem mysql-Verzeichnis, welches Sie bereits angelegt haben (sollten).
    2. Entpacken Sie das Archiv in dasselbe Verzeichnis. Sie erhalten eine Datei "ort.sql". Die Dateinamenendung ".sql" ist nicht erforderlich. Daran erkennt man aber schnell, dass ein SQL-Skript vorliegt.
    3. Stellen Sie im MySQL-Monitor Ihre DB "experimente" mit "use" zwecks Verwendung ein!
    4. Nun kommt ein etwas größerer Augenblick. Lassen Sie das Skript "ort.sql" per "source ort.sql;" ausführen. Damit wird eine umfangreiche Tabelle "ort" in Ihre DB importiert. Lassen Sie sich einmal mit SELECT den Inhalt dieser Tabelle anzeigen!
  2. Erweitern einer Tabellenstruktur (nur zur Übung, später wäre das anrüchig ;-)

    Nun soll jede in der Tabelle eingetragene Person auch mit ihrer Anschrift und eMail-Adresse erfasst werden. Sowohl Anschrift als auch eMail-Adresse seien obligatorisch (not null).

    Es ist vorgesehen, dass Personen herausgesucht werden sollen, die am gleichen Ort wohnen bzw. deren Anschrift die gleiche Postleitzahl aufweisen. Auch sollen alle Personen gefunden werden können, die bei einem bestimmten eMail-Provider ihr eMail-Konto besitzen.

    1. Planen Sie die der Tabelle hinzuzufügenden Attribute!
    2. Erweitern Sie Ihre Tabelle um die zusammengestellten Attribute!
    3. Fügen Sie den bisherigen Datensätzen (Tabellenzeilen) Werte für die neuen Attribute hinzu! Achten Sie für spätere Anfragen darauf, dass sich Werte für PLZ und Wohnort wiederholen!
    Hinweis: Statt eines Ortsnamens oder einer PLZ ist hier ein Fremdschlüssel zweckmäßig.
  3. Die von Ihnen zusammengestellte Tabelle möchten Sie auf einem anderen System (Ihr Rechner zu Hause) weiterbearbeiten. Dazu ist der Export Ihrer Tabelle zweckmäßig. Proben Sie den Transport Ihrer Tabelle auf folgende Weise!

    1. Exportieren Sie die komplette Tabelle (unkomprimiert) mit phpMyAdmin in eine Datei mit Ihrem Namen!
    2. Öffnen Sie diese Datei mit einen Editor und ändern Sie die Stelle(n) mit dem vorliegenden Tabellennamen so ab, dass die später angelegte Tabelle im Namen den Zusatz "_kopie" trägt! Diese geänderte Datei (.sql am Ende) können Sie in meinen Austauschordner hochladen.
    3. Nun importieren Sie die so exportierte Tabelle in Ihre Datenbank und kontrollieren diese auf Übereinstimmung mit dem Original!
  4. Stellen Sie nun SQL-Anfragen zusammen die folgende Aufgaben erfüllen! Dazu sind jeweils zwei SQL-Anfragen erforderlich. Dabei sollen Sie die erste SQL-Anfrage so gestalten, dass Sie die heranzuziehenden Vergleichsdaten in der ersten und möglichst einzigen Ausgabezeile finden. Als Frontend soll der MySQL-Monitor verwendet werden.

    Es wird erforderlich sein, nach Informationen in der zur Verfügung stehenden Literatur zu suchen.
    Für erste Versuche genügt es, geeignete Abfragen nacheinander einzugeben. Die Information aus der ersten Abfrage kann dann in die zweite eingesetzt werden.
    In einer Ausbauphase ist die Übernahme der Informationen aus einer Abfrage in eine andere zu automatisieren. Dazu müssen Sie ein SQL-Skript mit Hilfe eines Editors erstellen.

    Es sollen alle Personen gesucht werden,

    1. die am gleichen Ort wohnen, wie die erste Person in der Tabelle.
    2. die ihr eMail-Konto beim selben Provider besitzen, wie die erste Person im Alphabet (Nachname, Vorname).
    3. deren PLZ die selben ersten zwei Ziffern aufweisen wie die höchste in der Tabelle "person" vorkommende PLZ.