Datenbanken und Datenmodellierung

Ähnliche Dokumente
SQL Data Manipulation Language (DML) und Query Language (QL)

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Veranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Einführung in Datenbanken und SQL

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Übersicht der wichtigsten MySQL-Befehle

Microsoft Access 2010 SQL nutzen

Wiederholung VU Datenmodellierung

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

Entitätstypen, Attribute, Relationen und Entitäten

Datenbanksysteme Kapitel 5: SQL - Grundlagen

Es geht also im die SQL Data Manipulation Language.

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

Abfragen (Queries, Subqueries)

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

ACCESS SQL ACCESS SQL

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

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

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

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL structured query language

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Datenbanken und Datenmodellierung

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

SQL als Zugriffssprache

Informatik 12 Datenbanken SQL-Einführung

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Access Grundkurs. M. Eng. Robert Maaßen

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

DB1. DB SQL-DQL 1 Mario Neugebauer

Übungsaufgaben zur Datenbank VEREIN

105.3 SQL-Datenverwaltung

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

Datenbanken Unit 3: Das relationale Modell

Datenmodelle und Datenbanken 2

Datenbanken. Zusammenfassung. Datenbanksysteme

SQL ist eine relational vollständige Datenbanksprache.

Die Datenbanktabelle KUNDEN

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

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

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

SQL. Structured Query Language

1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Datenbanken Unit 3: Das relationale Modell

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

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:

Garten - Daten Bank. - survival pack -

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

4. Datenbanksprache SQL

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Inhaltsverzeichnis. Einleitung

Veranstaltung Pr.-Nr.: Normalisierung. Veronika Waue WS 07/08

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

Geoinformation Abbildung auf Tabellen

Microsoft Access Abfragen: Informationen anzeigen und sortieren

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

Datenbanksysteme SQL Grundlagen

Query Languages (QL) Relationale Abfragesprachen/Relational

7. Übung - Datenbanken

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

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

Lösungen der Übungsaufgaben von Kapitel 10

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Microsoft Access Abfragen. Verknüpfung von Tabellen

Arbeiten mit ACCESS 2010

Folien php/mysql Kurs der Informatikdienste

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Einführung in SQL Datenbanken bearbeiten

Probeklausur Datenmodellierung und Datenbanksysteme

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

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

8 DML (1) Daten abfragen

Transkript:

Veranstaltung Pr.-Nr.: 10 103 V Wirtschaftsinformatik für Wirtschaftwissenschaftler Datenbanken und Datenmodellierung -Teil 1 - Dr. Chris Bizer WS 007/008 Datenbanksysteme Datenbanksysteme dienen der 1. Speicherung großer Datenbestände Beispiele: - Adressdaten aller Kunden des Quelle Versandhauses - Alle Bestellungen dieser Kunden - Vertragsdaten aller T-Mobil Handykunden Die Daten werden in miteinander verknüpften Tabellen gespeichert.. Auswertung dieser Datenbestände Mittels der Abfragesprache SQL lassen sich die gespeicherten Daten auswerten. Beispiele: - Abfrage 1: Gebe mir alle Quelle-Kunden aus Berlin, die mindestens dreimal bestellt haben! - Abfrage : Welche Produkte haben letzten Monat die höchsten Umsätze erzielt? 1

Rolle von Datenbanken in Anwendungssystemen Datenbanksysteme sind Teil fast aller Anwendungssysteme Präsentation Applikation Datenhaltung Bildschirmmasken Programm-Logik Datenbank oder Webbrowser in irgendeiner Programmiersprache Datenbanksysteme Ein Datenbanksystem besteht aus einer Datenbank, welche die eigentlichen Daten enthält, und einem Datenbank- Verwaltungssystem (DBMS Data Base Management System). Aufgaben eines Datenbank-Verwaltungssystems Dateimanagement: Speicherallokation, Zugriffe auf die Festplatte Integritätskontrolle: Stellt sicher, das Daten nur entsprechend vorher definierter Integritätsbedingungen geändert werden können. Autorisierungskontrolle: Überprüft ob der Nutzer auf die Daten zugreifen darf. Datensicherung: Maßnahmen um Folgen von Systemabstürzen oder anderen Fehlersituationen klein zu halten. Kontrolle von Mehrfachzugriffen: Synchronisiert Mehrfachzugriffe und sperrt temporär Datenzugriffe, die zu Konflikten führen würden. Abfrageinterpreter: Übersetzt SQL-Anweisungen in Programmaufrufe entsprechender "low level"-routinen des DBMS Abfrageoptimierer: Sucht für eine gegebene SQL-Abfrage an Hand von Statistikund Indexdaten einen "guten" Zugriffspfad auf die gewünschten Daten.

Marktanteile Datenbanksysteme Quelle: JoinVision E-Services GmbH, July 006 Oracle9i, IBM DB und Microsoft SQL Server Leistungsstarke Server-Systeme, die z.b. zusammen mit SAP ERP eingesetzt werden. MySQL Kostenloses Open-Source Server-System, das im Web-Bereich sehr verbreitet ist. Microsoft Access Desktop-Datenbanksystem Teil des MS Office Pakets, sehr einfache Benutzeroberfläche. Kapitel 5: Datenbanken und Datenmodellierung 1. Das Relationenmodell. Structured Query Language (SQL) 3. Entitiy Relationship Modellierung 4. Relationale Modellierung 5. Normalisierung 3

1. Das Relationenmodell Relationstyp Ein Relationstyp ist eine abstrakte Beschreibung einer Relation (=Tabelle). Es werden die Attribute, deren Datentyp, der Primärschlüssel und der Tabellenname definiert. Schreibweise: Studenten (Matrikelnummer, Vorname, Nachname) Relation Konkrete Ausprägung eines Relationstyps (=Tabelle inkl. Datensätze). Name der Relation Attribute Primärschlüssel Studenten Attributwert Matrikelnummer Vorname Nachname Tupel 307456 Christian Martin Schulz Seger 310 Julia Maier Kandidatenschlüssel und Primärschlüssel Jeder Tupel muss durch einen Schlüssel eindeutig identifizierbar sein. Als Schlüssel kann ein einzelnes Attribut oder eine Attributgruppe dienen. Beispiele aus der Datenbank eines CD Shops: Schlüssel der Relation Artikel: Artikelnummer Schlüssel der Relation Kategorien: KategorienID Schlüssel der Relation Tracks (Songs): Artikelnummer und Tracknummer Kandidatenschlüssel Ein Kandidatenschlüssel ist jedes Attribut oder jede minimale Attributgruppe, die ein Objekt eindeutig und zeitinvariant identifiziert. Es kann mehrere Kandidatenschlüssel in einer Relation geben. z.b. Fahrgestellnummer und Kennzeichen bei einem Auto Primärschlüssel Der Primärschlüssel ist der ausgewählte Kandidatenschlüssel. Der Primärschlüssel wird durch Unterstreichung gekennzeichnet. 4

Beispiele für Kandidatenschlüssel 1. Relation: Studenten Attribut: Matrikelnummer Attribut: Personalausweisnummer. Relation: Staaten Attribut: Kfz. Kennung (D) Attribut: Internationale Telefonvorwahl (0049) 3. Relation: Vom Lieferanten abhängige Preise eines Artikels Attributgruppe: Artikelnummer, Lieferantennummer Fremdschlüssel Fremdschlüssel dienen zur Verknüpfung mehrer Relationen. Definition: Als Fremdschlüssel bezeichnet man ein Attribut oder eine Attributgruppe in Relation B, die gleichzeitig Primärschlüssel in Relation A ist. Beispiel: Rechnungen Kunden Rechnungs nummer 1454 6543 8734 Datum 1.1.000 13.5.000 4.8.000 Kundennummer 310 Kundennummer 307456 310 Vorname Christian Martin Julia Nachname Schulz Seger Maier Das Attribut Kundennummer ist Primärschlüssel in der Relation Kunden und Fremdschlüssel in der Relation Rechnungen. 5

Beispiel einer kompletten Datenbank Es soll der Sachverhalt rund um einen fiktiven Sportverein abgebildet werden Die Mitglieder des Vereins werden als Spieler bezeichnet. Spieler verfügen über zahlreiche persönliche Attribute wie einen vollständigen Namen mit Titel, Geburtsdatum, Geschlecht, Datum des Vereinsbeitritts, Anschrift und Telefon. Innerhalb des Sportvereins existieren mehrere Teams, welche in unterschiedlichen Ligen spielen und jeweils einen Spieler als Kapitän haben. Jeder Spieler kann für unterschiedliche Teams in Wettkämpfen antreten und dabei für das jeweilige Team gewinnen oder verlieren. Um die Spieler in ihrer Disziplinlosigkeit zu zügeln, hat der Verein ein internes Bestrafungssystem entwickelt. Bei jedem Fehlverhalten muss der betreffende Spieler einen Strafbetrag in die Vereinskasse einzahlen. Relationen und Schlüssel der Spieler-Datenbank Spieler (Spielernr, Name, Vorname, Titel, Geboren, Geschlecht, Beitritt, Straße, Hausnr, PLZ, Ort, Telefon) Primärschlüssel: Spielernr Strafen (Zahlungsnr, Spielernr, Datum, Betrag) Primärschlüssel: Zahlungsnr Fremdschlüssel: Spielernr Teams (Teamnr, Kapitän, Liga) Primärschlüssel: Teamnr Fremdschlüssel: Kapitän Anmerkung: Das Attribut Kapitän beinhaltet die Spielernummer des Kapitäns. Wettkämpfe (Teamnr, Spielernr, Gewonnen, Verloren) Primärschlüssel: Teamnr und Spielernr gemeinsam Fremdschlüssel: Spielernr Anmerkung: Einzelne Spieler können gleichzeitig in mehreren Teams spielen. 6

. Structured Query Language (SQL) SQL ist eine standardisierte Sprache zum Arbeiten mit Datenbanken. SQL umfasst folgende Teilbereiche: Data Definition Language (DDL) Erstellen und Verändern von Tabellen, Schlüsseln und Indexen Data Manipulation Language (DML) Daten einfügen, ändern und löschen Data Control Language (DCL) Vergabe von Zugriffsrechten Query Language (QL) Abfrage der Daten SQL-Einsatzformen Interaktives SQL: z.b. mit MS Access Embedded SQL: z.b. in dem PHP-Skripten eines E-Shops Präsentation Applikationslogik Datenbank SQL Daten 7

Der SELECT-Befehl SELECT [DISTINCT ALL] <Attributenliste> oder * FROM <Relationenliste> [ WHERE <Vergleichsausdruck> ] [ ORDER BY <Attributenliste> [ASC DESC] ]; SELECT SpielerNr, Betrag FROM Strafen WHERE YEAR(Datum)>1995 ORDER BY Betrag; SELECT: Welche Attribute sollen ausgegeben werden? *: Alle Attribute auswählen ALL: Mit Duplikaten (default) DISTINCT: Ohne Duplikate FROM: Legt fest aus welchen Tabellen ausgewählt werden soll. WHERE: Auswahlbedingungen (optional) ORDER BY: Attribute nach denen das Ergebnis sortiert werden soll (optional) ASC: Aufsteigend (default) DESC: Absteigend Verarbeitung von SQL-Abfragen SELECT SpielerNr, Betrag FROM Strafen WHERE YEAR(Datum)>1995 ORDER BY Betrag; 1. 6 1 SpielerNr Datum 1.1.000 15.3.1994 1.11.1999 3.5.1994 Betrag 50 0 1. FROM: Definiert die Ausgangstabellen. WHERE: Selektiert die Tupel, die der Bedingung genügen 3. ORDER BY: Sortiert die Tupel 4. SELECT: Selektiert Attribute. 4 6 4 6 SpielerNr 30.6.1998 4.5.000 Datum 1.1.000 1.11.1999 30.6.1998 4.5.000 00 50 Betrag 00 50 4. SpielerNr Betrag 3. SpielerNr Datum Betrag 6 50 6 4.5.000 50 1.1.000 1.11.1999 4 00 4 30.6.1998 00 8

Weitere Beispiele Relation: Spieler (Spielernr, Name, Vorname, Titel, Geboren, Geschlecht, Beitritt, Straße, Hausnr, PLZ, Ort, Telefon) 1. Welche SpielerInnen wohnen in Düsseldorf? SELECT Name, Vorname WHERE Ort="Düsseldorf";. Bestimme die Adressen aller Spieler, absteigend sortiert nach PLZ! SELECT Titel, Vorname, Name, Straße, Hausnr, PLZ, Ort WHERE Geschlecht="M" ORDER BY PLZ DESC; 3. In welchen Orten wohnen die Spieler? Das Ergebnis soll keine Duplikate enthalten. SELECT DISTINCT Ort ; Vergleichsoperatoren Operator = < <= > >= <> BETWEEN IN LIKE IS NULL Erklärung Attributwert gleich einem anderem Attributwert oder einer Konstanten Attributwert soll kleiner, größer, kleiner gleich oder größer gleich einem anderem Attributwert oder einer Konstanten sein. Attributwert ist ungleich einem anderem Attributwert oder einer Konstanten. Attributwert zwischen zwei Grenzen:... WHERE Geburtsjahr BETWEEN 1960 and 1970 Attributwert in einer Menge enthalten:... WHERE Geburtsjahr IN (1960, 1961, 196) Suche nach Zeichenketten anhand von Ähnlichkeitsoperatoren: % : Platzhalter für beliebige Zeichenkette (MS Access: *) _ : Platzhalter für ein Zeichen (MS Access:?) Es wird zwischen Groß- und Kleinschreibung unterschieden. IS NULL oder IS NOT NULL zur Selektion nicht definierter Attributwerte Beispiel zu <> SELECT Vorname, Name WHERE Ort <> Düsseldorf ; Beispiel zu LIKE SELECT Vorname, Name, Straße WHERE Straße LIKE %allee ; 9

Logische Operatoren und Rechenoperationen Bedingungen lassen sich über logische Operatoren verknüpfen: Operator AND OR NOT Erklärung Beide Bedingungen müssen wahr sein. Eine oder beide Bedingungen müssen wahr sein. Negation: Bedingung soll falsch sein. Beispiel zu AND SELECT Vorname, Name WHERE Ort = Düsseldorf AND Geschlecht = W ; Beispiel zu NOT SELECT Vorname, Name WHERE Name NOT LIKE _e% ; Rechenoperationen in SQL SELECT (gewonnen + verloren) FROM Wettkämpfe; Verknüpfung mehrerer Relationen in SQL Rechnungen Kunden Rechnungs nummer 1454 6543 8734 Datum 1.1.000 13.5.000 4.8.000 Kundennummer 310 Kundennummer 307456 310 Vorname Christian Martin Julia Nachname Schulz Seger Maier SELECT Nachname, Rechnungsnummer, Datum FROM Kunden, Rechnungen WHERE Kunden.Kundennummer = Rechnungen.Kundennummer AND Nachname = Schulz ; Ergebnis Nachname Schulz Rechungs nummer 1454 Datum 1.1.000 Bei Attributen, die in mehreren Relationen vorkommen muss der Relationsname angegeben werden. Schulz 6543 13.5.000 10

Korrelationsvariablen Über sogenannte Korrelationsvariablen lassen sich Kurzbezeichnungen für Tabellen definieren. Ursprüngliche Formulierung SELECT Nachname, Rechnungsnummer, Datum FROM Kunden, Rechnungen WHERE Kunden.Kundennummer = Rechnungen.Kundennummer AND Nachname = Schulz ; Formulierung mit Korrelationsvariablen SELECT Nachname, Rechnungsnummer, Datum FROM Kunden K, Rechnungen RE WHERE K.Kundennummer = RE.Kundennummer AND Nachname = Schulz ; Beispiele zur Verknüpfung mehrerer Relationen Spieler (SpielerNr, Name, Vorname, Geboren, Geschlecht, Beitritt, Straße, Hausnr, PLZ, Ort, Telefon) Strafen(ZahlungsNr, SpielerNr, Datum, Betrag) Teams(TeamNr, Kapitän, Liga) Wettkämpfe(TeamNr, SpielerNr, Gewonnen, Verloren) 1. Ermittle den Vornamen und Namen aller Kapitäne. SELECT Vorname, Name, Teams WHERE Spieler.SpielerNr = Teams.Kapitän;. Ermittle die Namen der Spieler aus Düsseldorf, die mindestens eine Strafe erhalten haben. SELECT DISTINCT Vorname, Name, Strafen WHERE Spieler.SpielerNr = Strafen.SpielerNr AND Spieler.Ort = Düsseldorf ; Ermittle in welcher Liga jeder Spieler spielt. Es soll jeweils der Vorname, Name des Spielers und die Liga ausgegeben werden. SELECT S.Vorname, S.Name, T.Liga S, Wettkämpfe W, Teams T WHERE S.SpielerNr = W.SpielerNr AND W.TeamNr = T.TeamNr 11

Spaltenfunktionen Funktion AVG() MAX() MIN() SUM() COUNT(Attribut) COUNT(*) Erklärung Mittelwert einer Spalte Größter Wert der Spalte Kleinster Wert der Spalte Summe der Werte einer Spalte Anzahl aller Tupel der Ergebnisrelation ohne NULL-Werte Anzahl aller Tupel der Ergebnisrelation inkl. NULL-Werte) Beispiel zu COUNT: Wie viele Spieler leben in Düsseldorf? SELECT COUNT(*) WHERE Ort = Düsseldorf ; Beispiel zu SUM: Wie viele Spiele hat Team 1 insgesamt gewonnen? SELECT SUM(Gewonnen) AS Summe FROM Wettkämpfe Bezeichnung WHERE TeamNr = 1; des Ergebnisses Datumsfunktionen Formulierung von Datumswerten: #1/15/006# Folgende Datumsfunktionen stehen in SQL zur Verfügung: Funktion DAY() MONTH() YEAR() NOW Erklärung Ermittelt den Tag eines Datumswerts Ermittelt den Monat eines Datumswerts Ermittelt das Jahr eines Datumswerts Liefert aktuelle Zeit und aktuelles Datum (z.b. YEAR(NOW)) Beispiel Wie viele Spieler wurden vor dem 15.1.1970 geboren? SELECT COUNT(*) AS Anzahl WHERE Geboren < #1/15/1970#; Beispiel Wie viele Spieler sind im Januar geboren? SELECT COUNT(*) AS Anzahl WHERE MONTH(Geboren) = 1; 1

Übung zur Wiederholung Spieler (SpielerNr, Name, Vorname, Geboren, Geschlecht, Beitritt, Straße, Hausnr, PLZ, Ort, Telefon) Strafen(ZahlungsNr, SpielerNr, Datum, Betrag) Teams(TeamNr, Kapitän, Liga) Wettkämpfe(TeamNr, SpielerNr, Gewonnen, Verloren) 1. Wie hoch war die durchschnittliche Strafe im Jahr 006?. Bestimmen Sie das Geburtsdatum des jüngsten Vereinsmitglieds. 3. Wie hoch ist die Gesamtsumme der Bußgeldbeträge für die Spieler aus Düsseldorf? Lösung der Übung Spieler (SpielerNr, Name, Vorname, Geboren, Geschlecht, Beitritt, Straße, Hausnr, PLZ, Ort, Telefon) Strafen(ZahlungsNr, SpielerNr, Datum, Betrag) Teams(TeamNr, Kapitän, Liga) Wettkämpfe(TeamNr, SpielerNr, Gewonnen, Verloren) 1. SELECT AVG(Betrag) FROM Strafen WHERE YEAR(Datum) = 006;. select max(geboren) from Spieler 3. select sum(betrag) from Spieler, Strafen where Spieler.Spielernr = Strafen.Spielernr and Ort = 'Düsseldorf' 13