Anwendungsprogrammierung (Teil II)
Blockpraktikum im Sommersemester 2004
Dozent: Prof. Dr. A. Söder
Zeiten: 3x2 Std. Vorlesung, 3*(2,5 Std. Übungen
Leistungsnachweis: Teilnahme an Vorlesungen erfolgreiche Teilnahme an den Übungen (Abgabe von 3 Übungen)
Ziele der Vorlesung:
- Erwerben von Grundkenntnissen der Konzepte von relationalen Datenbanken
- Erwerben von Grundkenntnissen vom Zugriff auf Datenbanken - Erwerben von Grundkenntnissen der Abfragesprache SQL - Erwerben von Grundkenntnissen im Erstellen von Datenbanken
- Praktische Anwendung der Lehrinhalte auf konkrete Problemsituationen durch eine Reihe von Übungen mittels MS ACCESS bzw. SQL Server
Empfohlene Literatur
Ebner, Michael., SQL Lernen Addison Wesley 1999
Date J. C., Darwen H., SQL der Standard Addison Wesley 1998
Anwendungsprogrammierung Teil 2 - Gliederung der Vorlesung
1 Relationales Datenmodell Begriffe
Integrität Normalisierung
Relationale Datenoperationen Datenbankdesign
2 SQL-Grundlagen
Anwendung von SQL
Sprachumfang des SQL-Standards 3 Datendefinition
CREATE TABLE - Definition von Basistabellen 4 Datenmanipulation: Retrievalanweisungen
Format der SELECT-Anweisung Auswahl der Ergebnisspalten Zeilenauswahl (WHERE-Klausel) Verknüpfung von Tabellen
Aggregatfunktionen Unterabfragen
UNION - Vereinigung von Mengen 5 Datenmanipulation: Änderungsanweisungen
DELETE: Datenlöschung UPDATE: Datenänderung INSERT: Datenneuaufnahme 6 VIEW-Konzept
Was ist ein VIEW
Wie wird ein VIEW definiert Wozu VIEWs
7 Datenschutz Datenschutz im SQL-Standard GRANT (Vergabe von Zugriffsrechten)
8 Praktikum
Anwendungsprogrammierung Teil 2 - Übersicht über Übungen
Regeln
(1) Alle Übungen müssen bis Ende des Blockpraktikums abgegeben (auf Papier oder in Form einer Präsentation am Rechner)
(2) Jede abgegebene Übung enthält - Namen der Gruppenmitglieder
- SQL-Statements der Lösung bzw. Antwort auf Fragen
- Nachweis der Korrektheit bei SQL-Statements in Form von Testprotokollen (SQL-Ausgaben, usw.)
(3) Jede Gruppe läßt sich die erfolgreiche Abgabe von Übungen
bzw. die Präsentation vom Dozenten auf einem Formblatt bestätigen
Inhalte
Übung 1: SQL-Praktikum 1 Übung 2: SQL-Praktikum 2 Übung 3: Datenmodellierung
Hilfsmittel:
ACCESS-Manuale Skript
Anwendungsprogrammierung Teil 2 - Übungen Übung 1
Bilden Sie die Beispieldatendank aus dem Skript (Seiten A1, A2) auf eine entsprechende ACCESS- bzw. SQL-Server Datenbank ab. und erfassen Sie die angegebenen Beispieldaten.
Lösen Sie die nachfolgenden Aufgaben am Rechner und tragen Sie die jeweilige SQL- Anweisung als Anwort in die Aufgabenstellung ein.
1. Lassen Sie sich alle Datensätze aus der Tabelle kunde anzeigen.
SQL:
2. Lassen Sie sich alle Waren aus ware mit einem um 10% erhöhten Preis anzeigen.
SQL:
3. Welche unterschiedlichen Orte gib es in der Tabelle kunde?.
SQL:
4. Welche Kunden wohnen in Bonn?
SQL:
5. Lassen Sie sich alle Kunden anzeigen,deren Name nicht mit M anfängt SQL:
6. Welche Waren mit einem Bestand kleiner als 50 liegen preislich über EUR 100 oder kosten genau EUR30?
SQL:
7. Welche Waren kosten zwischen EUR 50 oder EUR 100?
SQL:
Anwendungsprogrammierung Teil 2 - Übungen
8.. Welche Aufträge haben ein Auftragsvolumen von 2, 7 oder 9 Einheiten?
SQL:
9. Welche Kunden haben welche Aufträge (AuftragsNr.) erteilt?
SQL:
10. Welche Kunden haben welche Ware bestellt? Was hat der Kunde für die einzelnen Bestellungen zu zahlen?
SQL:
11. Welche Kunden haben von welcher Ware mehr als 5 Einheiten bestellt?
SQL:
12. Welche Kunden existieren in den einzelnen Städten?
SQL:
13.Wie hoch ist die Gesamtauftragsmenge der einzelnen Waren?
Zusatz:Lassen Sie sich alle Waren aus der Tabelle ware anzeigen, wobei für nicht bestellte Waren die Gesamtmenge mit 0 ausgegeben werden soll.
SQL:
SQL:
14. Welche Kunden haben mehr als einen Auftrag erteilt?
Zusatz:Wie heißt der Kunde SQL:
SQL:
15. Welche Kunden haben noch nie einen Auftrag erteilt?
SQL:
Anwendungsprogrammierung Teil 2 - Übungen
16. Was die teuerste Ware?
SQL:
17 Welche Warennummer hat die billigste Jeans?
SQL:
18 Lassen Sie sich die Warennummer und den Preis der jeweils teuersten Ware pro Warenbezeichnung anzeigen.
SQL:
19. Lassen Sie sich alle Kunden und falls vorhanden, die zugehörigen Auftragsdaten anzeigen.
SQL:
20. Lassen Sie sich die Waren nach Bezeichnung und Preis absteigend sortiert anzeigen.
SQL:
Übung 2
1.a) Erhöhen Sie den Preis aller T-Shirts um 10 %.
SQL:
b) Senken Sie den Preis aller Artikel, die mehr als 10-mal verkauft worden sind um 10%.
SQL:
c) Der Kunde Manz hat 4 Jeans gekauft. Fügen Sie einen Satz in die Datenbank ein! . SQL:
d) Löschen Sie alle Kunden, die noch keinen Auftrag erteilt haben.
SQL:
Anwendungsprogrammierung Teil 2 - Übungen
2.a) Erstellen Sie eine Abfrage (View) Artikel, der die Warenbezeichnung und den Warenbestand aller Datensätze der Tabelle Ware darstellt.
SQL:
b) Lassen Sie sich alle Artikel mit Bestand größer 20 anzeigen
SQL:
3.a) Erstellen Sie eine Abfrage (View) opt, der alle Kunden, deren Name mit M beginnt, auswählt.
SQL:
b) Fügen Sie einen neuen Kunden ,,K99, Meier, Essen ,, ein.
SQL:
c) Korrigieren Sie ,,Meier" zu ,,Maier"
4.a) Erstellen Sie eine Abfrage (view) gesamt, so daß durch SELECT * FROM Gesamt angezeigt wird, welche Kunden welche Waren in welcher Höhe geordert und wieviel sie dafür zu zahlen haben..
SQL:
b) Lassen Sie sich aus gesamt nur den Kundennamen und den zu zahlenden Betrag anzeigen.
SQL:
5.Importieren Sie die Datei Umsatz1.txt in Ihre Übungsdatenbank.
Finden Sie dann jeweils den Artikel mit dem höchsten Umsatz bzw. der höchsten Auftragsmenge
Anwendungsprogrammierung Teil 2 - Übungen
Übung 3: Datenmodellierung
Eine Vertriebsfirma führt für Kunden und Interessenten Schulungen durch. Die durchgeführten Schulungen werden einfach in Karteikarten protokolliert. Für jeden Teilnehmer eines Kurses wird folgende Information (Beispiel) abgespeichert:
Aktenzeichen: 47-11-007-025
---
Firma: Access GmbH
Adresse: Universitätsstrasse 25
93025 Regensburg
--- Teilnehmername: Mayer Horst
Adresse: unbekannt
Funktion im Betrieb: Programmierer
---
Kursbezeichnung: Access für Profis
Zielgruppe: Programmierer
Datum: 17.- 20.7.2002 Teilnahme erfolgreich: ja
Diese Informationen sollen nun von einer ACCESS-Anwendung bzw. VB-Anwendung verwaltet werden.
1.) Entwerfen Sie hierfür passende Tabellen und Beziehungen (mittels ACCESS).
a) Vermeiden Sie hierbei die redundante Speicherung von Daten (z.B. der Informationen über eine Firma), die im manuellen Karteisystem einen hohen Änderungsaufwand verursacht!
b) Die Tabellen sollen mindestens der 2.Normalform genügen.
Hilfestellung: (Möglicher Beginn einer Lösung)
Tabelle FIRMA: Firmenid
Tabelle TEILNAHME: Personenid, Kursid
Fremdschlüssel(Kursid) referenziert KURS