Informationsbestände analysieren Datenabfrage mit SQL 5. Datenabfrage mit SQL Übung 5.1. Datenbank „Schule“ Ziel Sie können mit SQL Daten aus einer bestehende Datenbank auslesen und Auswertungen vornehmen. Dauer 2 Lektionen 5.1.1. Ausgangslage Es ist die gleiche Datenbank gegeben wie in Übung 3.3. Die DB liegt als Access-Datei vor, der Zugriff erfolgt über eine JavaAnwendung. ERD Entität Identifikationsschlüssel kombinierter Schlüssel Attribut Fremdschlüssel Abbildung 11 : ERD in Access Darstellung Das Produkt Microsoft Access verwendet eine eigene Darstellung des ERD. Die Identifikationsschlüssel werden fett dargestellt und anstelle des Symbols m (für multipel) wird das –Zeichen verwendet © Probst Rene V 1.2 25 Übungen Modul-100 5.1.2. SQL-Editor Damit Sie die SQL-Befehle selbständig anschreiben müssen und nicht die durch Access über QBE generierte Lösung verwenden können, steht Ihnen eine Java-Anwendung zur Verfügung. Kopieren Sie die Datei sql.jar auf Ihr Verzeichnis. Richten Sie eine ODBC-Verbindung für die Datenbank ein (siehe unten) Starten Sie die MS-DOS Box geben Sie folgenden Befehl ein : java –cp sql.jar main.SQL_Edit ODBCName wobei ODBCName dem unter 2 angegebenen Namen entsprechen muss. Beispiel : Wenn für die ODBC-Verbidnung der Name Modul100 gewählt ist, lautet der Befehl java –cp sql.jar main.SQL_Edit Modul100 Abbildung 12 : 26 SQL-Editor Übungen Modul 100.doc Abteilung Informatik/Technik Informationsbestände analysieren Datenabfrage mit SQL 5.1.3. ODBC ODBC (Open DataBase Connectivity) ist eine genormte Schnittstelle für den Zugriff auf Datenbanken. Sie wurde von Microsoft mit Access 1.0 eingeführt und ist auf Windows-Systemen ein Standard geworden und wird von praktisch allen Produkten unterstützt. Um ODBC nutzen zu können, muss für die gewünschte Datenbank ein ODBC-Treiber installiert sein. Einrichten 1. Öffnen Sie den ODBC-Datenquellen Administrator • Öffnen Sie die Systemsteuerung ([Start] Systemsteuerung • Wählen Sie Verwaltung • Wählen Sie Datenquellen (ODBC) 2. • • • • Richten Sie die ODBC-Verbindung ein Klicken Sie auf [Hinzufügen...] und wählen Sie den Access-Treiber Geben Sie einen Datenquellen Namen ein, z.B. Modul100, Uebung usw. Klicken Sie auf [Auswählen...] und selektieren Sie im Dateidialog die gewünschte Datenbank Schliessen Sie alle Dialoge. Die ODBC-Verbindung ist nun eingerichtet. Abbildung 13 : © Probst Rene ODBC-Administration V 1.2 27 Modul-100 Übungen 5.1.4. Aufgaben Es handelt sich um die gleichen Fragestellungen wie bei Aufgabe 5-3. Sie können daher die Ergebnisse mit denen der Übung 5-3 vergleichen und so feststellen, ob Sie die SQL-Abfrage korrekt formuliert haben. 1. Wer wohnt alles in der Hauptstrasse? 2. Wie viele SchülerInnen kommen nicht aus der Gemeinde „Dorf“? 3. Wie viele SchülerInnen sind in den drei Klassen der Gemeinde „Dorf“ eingeteilt? 4. Welche Noten hat Hans-Peter Müller (Kirchweg 4) in Mathe erzielt? 5. In welchen Fächern erhält die Klasse 9a unterricht? 6. Welchen Notenschnitt hat die Klasse 8a im Fach Mathe? 7. Wie viele SchülerInnen haben ungenügende Noten? (Noten < 4.0) 8. Wie viele Geschwisterpaare gehen in der Gemeinde „Dorf“ zur Schule? 9. Formulieren Sie noch eine weitere Frage, die Sie an die vorliegenden Daten stellen wollen! Hinweis : Alle SchülerInnen gehen in der Gemeinde „Dorf“ zur Schule! 28 Übungen Modul 100.doc Abteilung Informatik/Technik Informationsbestände analysieren Datenabfrage mit SQL Übung 5.2. Datenbank „Nordwind“ Ziel Sie können mit SQL Daten aus einer bestehenden Datenbank auslesen und Auswertungen vornehmen. Dauer 2 Lektionen 5.2.1. Ausgangslage Sie verwenden wie in Übung 6.2 die Datenbank „Nordwind“ und beantworten die gleichen Fragen! ERD Abbildung 14 : © Probst Rene ERD der Datenbank „Nordwind“ V 1.2 29 Modul-100 Übungen 5.2.2. Übungen Tabellen abfragen Beantworten Sie die folgende Fragen! Hinweis : Die DB Struktur finden Sie unter Punkt 1 in diesem Dokument. 1. Geben Sie von allen Lieferanten die Adresse (inkl. Firmenname) an! 2. Erstellen Sie eine Liste der Versandfirmen! 3. Erstellen Sie eine Liste des Personals! View (Abfragen) erstellen Wählen Sie aus mehreren Tabellen Attribute aus, so dass komplexere Abfragen möglich sind. Sie erhalten dann eine Ansicht, die Ihnen die gewünschten Tabellen zeigt. 4. Listen Sie alle Artikel sowie die zugehörige Kategorie auf! 5. Sie möchten wissen, welche Kunden von welchen Mitarbeitern (Tabelle Personal) betreut werden! 6. Erstellen Sie eine List, aus der ersichtlich ist, welche Artikel von welchen Mitarbeitern (Tabelle Personal) durch welche Versandfirma ausgeliefert wurden! Bedingte Abfragen Oft will man nicht den ganzen Wust von Information. Dazu können die Abfragen nach beliebigen Attributen gefiltert werden. 30 7. Erstellen Sie eine Liste aller Artikel der Kategorie „Gewürze“! 8. Welche Artikel hat die Mitarbeiterin „Davolio Nancy“ nach „Brasilien“ (Bestimmungsland in Bestellungen) verkauft? 9. Welche Kunden haben „Fleischprodukte“ nach dem„1. Januar 1996“ bestellt? Übungen Modul 100.doc Abteilung Informatik/Technik Informationsbestände analysieren Datenabfrage mit SQL Aggragationsfunktionen Neben den eigentlichen Daten, wie sie in der Datenbank abgelegt sind, können auch Aggregationen wie Anzahl der Nennungen Summe von Attributwerten Minimum und/oder Maximum eines Wertes usw ausgeführt werden.. 10. Wie viele Kunden werden durch „Suyama Michael“ betreut? 11. Für welchen Betrag hat „Peacock Margaret“ vom „1.1.96 bis 31.12.96“ an „Romero y tomillo“ Ware verkauft? 12. Wie viele Lieferungen wurde durch die Firma „Federal shipping“ an „Bottom-Dollar Markets“ versendet? © Probst Rene V 1.2 31 Übungen 32 Übungen Modul 100.doc Modul-100 Abteilung Informatik/Technik