Übung 3. Komplexe SQL-Anfragen. Prof. Dr. Andreas Schmietendorf 1. Übung 3

Ähnliche Dokumente
Übung 3. Interaktive Abfragen auf eine SQL-Datenbank. Prof. Dr. Andreas Schmietendorf. Wirtschaftsinformatik

Übung 2. Verwendung eines RDBMS. Prof. Dr. Andreas Schmietendorf 1. Übung 2

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Abfragen (Queries, Subqueries)

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

SQL: Abfragen für einzelne Tabellen

ACCESS SQL ACCESS SQL

Grundlagen zur Verwendung von Datenbankmanagementsystemen

Views in SQL. 2 Anlegen und Verwenden von Views 2

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

U8: SQL Datenbank Daniel Baron 1

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Datenbankabfragen und Datenmanipulation

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Aufgabe 1 Indexstrukturen

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Verteilungsmechanismen in verschiedenen RDBMS

Lösungen der Übungsaufgaben von Kapitel 10

Einführung in SQL Datenbanken bearbeiten

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Kapitel 3: Datenbanksysteme

Service Engineering. Übung 2c Einbindung von Web APIs in mobilen Applikationen Prof. Dr. Andreas Schmietendorf, André Nitze

Kapitel 2: Einstieg in SQL

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie

Kapitel 5: Der SQL-Standard

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DB2 for z/os. Übungen zur Schulung

9. Einführung in Datenbanken

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Tag 4 Inhaltsverzeichnis

SQL Intensivpraktikum SS 2008

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Grundlagen von Datenbanken

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Bibliografische Informationen digitalisiert durch

Inhaltsverzeichnis. jetzt lerne ich

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

StructuredQueryLanguage(SQL)

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Datenbank- und Informationssysteme - Übungsblatt 6 -

ARBEITSBLATT ZUR SQL-BEFEHLEN

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Software-Engineering Einführung

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

Datenbanken Wintersemester 11/12. Prof. Dr. W. May

Vorlesung Datenbankmanagementsysteme

Microsoft Access 2010 SQL nutzen

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

105.3 SQL-Datenverwaltung

Service Engineering. Ableitung der Servicekomposition aus BPMN-Modellen. Prof. Dr. Andreas Schmietendorf 1. SoSe Service Engineering

Prakt. Datenbankprogrammierung. Sommersemester 2005

Unterabfragen (Subqueries)

5.3 Datenänderung/-zugriff mit SQL (DML)

Ein Ausflug zu ACCESS

Rückblick: Datenbankentwurf

Oracle Database 12c: Introduction to SQL (ORA-D80174)

Einführung in Datenbanken und SQL

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Prof. Dr. Bernd Blümel Prof. Dr. Volker Klingspor. Datenbanken und SQL

(Von der Nähe zur Distanz zum User geordnet)

Options- und Freitext-Modul Update-Anleitung

Tag 4 Inhaltsverzeichnis

Wirtschaftsinformatik 2. Tutorium im WS 11/12

S(tructured)Q(uery)L(anguage)

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle Art der Info Technische Background Info (April 2002)

1.1 Datenbanken Tabellen SQL und die Befehlseingabe Beispieldatenbank 36

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View?

SQL: statische Integrität

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

=ZÄHLENWENN Zählt die nichtleeren Zellen eines Bereiches, deren Inhalte mit den Suchkriterien übereinstimmen

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Vorlesung Datenbanken I Endklausur

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Service Engineering. Nutzung von Servicemarktplätzen im Internet (Bezugsbereich der Übung: integrierbare Service APIs)

E-Business Architekturen

Klausur Datenbanksysteme

Übung Datenbanken in der Praxis. Relationale Algebra

UEB. Übungen zum Seminar 4053

Datenbanken & Informationssysteme Übungen Teil 1

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

SQL. Fortgeschrittene Konzepte Auszug

IV. Datenbankmanagement

6. Datenintegrität. Integritätsbedingungen

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Transkript:

Komplexe SQL-Anfragen Prof. Dr. Andreas Schmietendorf 1

Aufgabenbeschreibung Prof. Dr. Andreas Schmietendorf 2

Zielstellung setzt auf den Ergebnissen der Übung 2 auf. Dem entsprechend wird wiederum die EMPLOYEE.FDB-Datenbank verwendet. Allerdings stehen bei dieser Übung fortgeschrittene Abfragetechniken sowie Einfügeund Veränderungs-Operationen im Mittelpunkt der Aufgabenstellungen. Darüber hinaus soll der Umgang mit verschiedenen Verbundoperationen (so genannte Join-Operationen) erprobt werden. Berücksichtigen Sie zur Durchführung der Aufgabenstellungen auch die im Rahmen der Vorlesung verwendeten Unterlagen bzw. die Verwendung des Internets! Prof. Dr. Andreas Schmietendorf 3

Aufgabe 1 Formulieren Sie eine Anfrage für die Tabelle PROJ_DEPT_BUGET die alle Tupel für den Fall ausgibt, das die Belegung des Attributs PROJECTED_BUDGET zwischen 50000 und 60000 liegt. Formulieren Sie eine Anfrage für die Tabelle CUSTOMER, welche die Anzahl der Kunden ausgibt, die den folgenden POSTAL_CODE besitzen 92121, 75205, 75008 Verändern Sie die letzte SQL-Anfrage so, dass anstelle der Anzahl die folgenden Attribute ausgegeben werden: - CUST_NO, CUSTOMER, PHONE_NO, ADDRESS_LINE1, CITY Prof. Dr. Andreas Schmietendorf 4

Aufgabe 2 Verwenden Sie die Ungewissheitsselektion mit LIKE im Rahmen von 3 selbst entwickelten SQL-Anfragen für die EMPLOYEE- Datenbank. Testen Sie mit Hilfe einer entsprechenden SQL-Anweisung das Attribut MNGR_NO innerhalb der Tabelle DEPARTMENT auf NULL-Werte. Bei wie vielen Tupeln ist dieses Attribut nicht belegt? Warum können wir mittels der vorher entwickelten SQL-Anweisung nicht auf ggf. enthaltene 0-Werte testen? Prof. Dr. Andreas Schmietendorf 5

Aufgabe 3 Geben Sie jeweils 10 neue Mitarbeiter in die Tabelle EMPLOYEE ein, verwenden Sie die Vorlage innerhalb dieser Versuchsanleitung. Prüfen Sie jeweils nach Eingabe eines weiteren Mitarbeiters den Inhalt der Tabelle EMPLOYEE mittels einer select-anweisung. - Mindestens Belegung aller not null Attribute - Datumsangabe entsprechend des folgenden Formats 11.12.2005 - Geforderte Variation der folgenden Attributsbelegungen: EMP_NO DEPT_NO JOB_COUNTRY SALARY Erläutern Sie die Gründe für ggf. auftretende Probleme Prof. Dr. Andreas Schmietendorf 6

Aufgabe 4 Schreiben Sie eine Update-Anweisung für die Tabelle COUNTRY und verändern Sie dort die Währungen auf Euro, sofern dieses zutrifft (d.h. erfolgte Umstellung der Landeswährungen). Analysieren Sie die Inhalte der Tabelle COUNTRY nach der ausgeführten Update-Anweisungen. Setzen Sie die ausgeführte Transaktion durch ein Rollback zurück, prüfen Sie die Inhalte der Tabelle erneut. Transaktionsannahme Rollback Prof. Dr. Andreas Schmietendorf 7

Aufgabe 5 Erhöhen Sie das Gehalt SALARY aller Ingenieure in den USA (JOB_CODE Eng) um jeweils 20000. Verwenden Sie dafür die Update-Anweisung. Erläutern Sie den dabei aufgetretenen Fehler. Welche Möglichkeiten bestehen um diese Fehlermeldung zu beseitigen? Warum sollte die Datenbank nicht ohne weiteres umkonfiguriert werden, denken Sie ggf. auch an nicht technische Aspekte? Prof. Dr. Andreas Schmietendorf 8

Aufgabe 6 Ermitteln Sie das Kreuzprodukt für die Relationen DEPARTMENT und EMPLOYEE. Wie viele Tupel (Zeilen) und Attribute (Spalten) enthält ihre Ergebnisrelation? Ermitteln Sie einen natürlichen Verbund der Relationen DEPARTMENT und EMPLOYEE unter Verwendung des Attributs DEPT_NO. Wie viele Tupel (Zeilen) und Attribute (Spalten) enthält ihre Ergebnisrelation jetzt? Prof. Dr. Andreas Schmietendorf 9

Aufgabe 7 Welche Tabellen der Datenbank EMPLOYEE.FDB können mittels Join-Operation miteinander verbunden werden? Experimentieren Sie mit den folgenden Join-Operationen - Linker äußerer Join (left outer join) - Rechter äußerer Join (right outer join) - Äußerer Join (full outer join) Erläutern Sie die Unterschiede dieser Verbundoperationen anhand selbst ausgewählter Beispiele. Prof. Dr. Andreas Schmietendorf 10

Aufgabe 8 Geben Sie die Kunden (Attribute CUSTOMER und TOTAL_VALUE) im Zusammenhang mit dem Umsatzvolumen aus. Sortieren Sie die Reihenfolge der ausgegebenen Tupel einmal aufsteigend und einmal absteigend. Erläutern Sie den im Rahmen der Tabelle EMPLOYEE verwendeten Trigger SAVE_SALARY_CHANGE hinsichtlich seiner prinzipielle Funktionsweise. Identifizieren Sie weitere Einsatzszenarien für die Verwendung von Triggern. Prof. Dr. Andreas Schmietendorf 11

Hinweise und SQL-Beispiele Prof. Dr. Andreas Schmietendorf 12

Beispiel: DELETE-Anweisung Prof. Dr. Andreas Schmietendorf 13

Beispiel: INSERT-Anweisung Prof. Dr. Andreas Schmietendorf 14

Beispiel: UPDATE-Anweisung -vorher - Prof. Dr. Andreas Schmietendorf 15

Beispiel: UPDATE-Anweisung -nachher - Prof. Dr. Andreas Schmietendorf 16

Beispiel: Natürlicher Verbund Prof. Dr. Andreas Schmietendorf 17

Beispiel: Linker äußerer Verbund Prof. Dr. Andreas Schmietendorf 18

Organisation Prof. Dr. Andreas Schmietendorf 19

Organisation der Übung Bitte berücksichtigen Sie die folgende Vorgehensweise: Kombination von Einzel- und Gruppenarbeit! Vorgeschlagene Methode zur Aufgabenlösung - Analyse der kompletten Aufgabenstellung (alle Folien!) - Ausführen der Übungen 1 bis 8 (jeder Student für sich 90 min) - Diskussion der erreichten Ergebnisse und ggf. Korrektur (45 min) - Erstellung eines zusammenfassenden Protokolls (45 min) Zeit für die Durchführung: ca. 180 min Bereitstellung eines entsprechenden Protokolls je Gruppe Prof. Dr. Andreas Schmietendorf 20