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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Prof. Peter Dr. Chamoni Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 1 Gliederung 1 Einführung 2 Betriebliche Informationssysteme 3 Modellierung betrieblicher Informationssysteme 4 Relationale Datenbanksprachen: SQL Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 2

2 Gliederung 4 Relationale Datenbanksprachen: SQL 4.1 Relationale Algebra 4.2 Relationale Algebra und SQL Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra Relationale Operationen (I) Das relationale Datenmodell basiert auf den Grundlagen der mathematischen Mengenlehre und bildet den formalen Rahmen für relationale Datenbanksprachen. Die Relationenalgebra ist die grundlegende Datenmanipulationssprache zum Relationenmodell. Sie ermöglicht auf vielfältige Weise die mathematische Verknüpfung von Relationen, d. h. von Mengen, deren Elemente mehrstellige Tupel sind. Die Relationenalgebra definiert allgemeingültige Operationen, die auf Tabellen operieren. Auch die Ergebnisse dieser Operationen sind wieder Tabellen. Diese Operationen dienen als Basis jeder Abfragesprache für relationale Datenbanken. [Hansen/Neumann (2009), S. 299ff.] Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 4

3 4.1 Relationale Algebra Relationale Operationen (II) Teil des Relationalen Modells - Definition von Operationen mit 1 bzw. 2 Eingabetabellen sowie 1 Ausgabetabelle Operationen über 1 Tabelle - Selektion Auswahl bestimmter Zeilen einer Tabelle - Projektion Auswahl bestimmter Spalten einer Tabelle Operationen über 2 Tabellen - Kartesisches Produkt (TIMES) - Verbund (JOIN) - Natürlicher Verbund Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 5 [Hansen/Neumann (2009), S. 299ff.] 4.1 Relationale Algebra Selektion (I) Auswahl einer Untermenge aller Tupel einer Relation R, die eine vorgegebene Bedingung B erfüllen. R WHERE B Ist in der Relation R kein Tupel vorhanden, welches die vorgegebene Bedingung B erfüllt, so ist das Ergebnis der Selektion die leere Relation. Bei der Selektion werden Zeilen aus einer Tabelle ausgewählt, die eine vorgegebene Auswahlbedingung erfüllen. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 6

4 4.1 Relationale Algebra Selektion (II) Ermitteln Sie alle Tupel der Relation Flugstrecke, bei denen die Flugdauer unter 120 Minuten beträgt. Ausgangsrelation Flugstrecke FlugNr Flugdauer Abflugort Ankunftsort LH Frankfurt Dresden LH Düsseldorf Mailand LH Köln-Bonn Moskau Relationale Algebra Flugstrecke WHERE Flugdauer < 120 Ergebnisrelation FlugNr Flugdauer Abflugort Ankunftsort LH Frankfurt Dresden LH Düsseldorf Mailand Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra Selektion (III) Ermitteln Sie alle Tupel der Relation Pilot, bei denen der Nachname Maier auftritt. Ausgangsrelation Pilot PilotID Name Vorname GKID 4711 Borel Heinz Maier Marie Müller Daniel 27 Relationale Algebra Pilot WHERE Name = Maier Ergebnisrelation PilotID Name Vorname GKID 1183 Maier Marie 14 Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 8

5 4.1 Relationale Algebra Projektion (I) Auswahl einer Untermenge der Attribute einer Relation R. R [Attributauswahl] Bei der Projektion werden evtl. entstehende identische Tupel eliminiert. Bei der Projektion werden Spalten aus einer Tabelle ausgewählt, die eine vorgegebene Auswahlbedingung erfüllen. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra Projektion (II) Ausgangsrelation Pilot PilotID Name Vorname GKID 4712 Müller Heinz Maier Marie Müller Daniel 27 Relationale Algebra Pilot [Name, Vorname] Pilot [Name] Ergebnisrelation Name Vorname Name Müller Heinz Müller Maier Marie Maier Müller Daniel Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 10

6 4.1 Relationale Algebra Kartesisches Produkt (I) Bei dem kartesischen Produkt zweier Relationen R 1 und R 2 wird eine neue Relation erzeugt, die aus allen möglichen Kombinationen der Tupel der beiden Relationen R 1 und R 2 besteht. R 1 TIMES R 2 Das kartesische Produkt A x B zweier Tabellen A vom Grad n und B vom Grad m ist die Menge aller Kombinationstupel ((n x m)-tupel). Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra Kartesisches Produkt (II) Bilden Sie das kartesische Produkt der Relationen Pilot und Gehaltsklasse. Ausgangsrelationen Relationale Algebra Pilot TIMES Gehaltsklasse Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 12

7 4.1 Relationale Algebra Verbund (I) Der Verbund zweier Relationen R 1 und R 2 ist das kartesische Produkt beider Relationen, aus dem nur diejenigen Tupel selektiert werden, deren Attributwerte für gleichbenannte Attribute der beiden Relationen R 1 und R 2 gleich sind. R 1 JOIN R 2 Der Verbund zweier Tabellen A und B ist das kartesische Produkt A x B beider Tabellen, aus dem die Zeilen ausgewählt werden, deren Attributwerte für gleichbenannte Spalten der beiden Tabellen A und B gleich sind. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra Verbund (II) Bilden Sie den Verbund zwischen den Relationen Pilot und Gehaltsklasse. Ausgangsrelationen Relationale Algebra Pilot JOIN Gehaltsklasse Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 14

8 4.1 Relationale Algebra Verbund (III) Schrittweises Vorgehen: Pilot JOIN Gehaltsklasse. Ausgangsrelationen Relationale Algebra 1. Kartesisches Produkt Zwischen- Ergebnisrelation Pilot TIMES Gehaltsklasse Pilot JOIN Gehaltsklasse Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra Verbund (IV) Schrittweises Vorgehen: Pilot JOIN Gehaltsklasse. 2. Gemeinsame Attribute identifizieren Zwischen- Ergebnisrelation 3. Auswahl der Zeilen mit dem selben Wert beim Vergleich der gemeinsamen Attribute Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 16

9 4.1 Relationale Algebra Natürlicher Verbund Beim Verbund ist das in beiden Relationen R 1 und R 2 vorkommende Attribut redundant. Wird dieses redundante Attribut nachträglich durch eine Projektion entfernt, so handelt es sich um einen natürlichen Verbund. Ausgangsrelationen Relationale Algebra Pilot Gehaltsklasse Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 17 Gliederung 4 Relationale Datenbanksprachen: SQL 4.1 Relationale Algebra 4.2 Relationale Algebra und SQL Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 18

10 4.2 Relationale Algebra und SQL Datenbanksprache SQL (I) SQL = Structured Query Language SQL zählt zu den Sprachen der 4. Generation (4GL). Es ist eine deklarative Programmiersprache. SQL ist eine Implementierung der Relationenalgebra - Aber kleinere Unterschiede z.b. Ordnung der Tabellenzeilen in SQL z.b. Duplikate von Tabellenzeilen in SQL erlaubt Bekannte auf SQL basierende Datenbankmanagementsysteme: Oracle, IBM DB2, Microsoft SQL Server, Access, Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra und SQL Datenbanksprache SQL (II) Historische Entwicklung Anfang der 80er Jahre durch IBM entwickelt SQL wurde vom ANSI (American National Standard Institut) zur Standardsprache für relationale Datenbanken erklärt. Normierungen durch die ISO (International Organization for Standardization): - 1. Norm: Norm: 1989 (SQL1) - 3. Norm: 1992 (SQL2) - 4. Norm: 1999 (SQL3) Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 20

11 4.2 Relationale Algebra und SQL Datenbanksprache SQL (III) Sprachumfang Zum Sprachumfang von SQL gehören 3 Befehlsgruppen: - Data Definition Language (DDL) Erstellen von Relationen, Datenbanken und Indizes. - Data Manipulation Language (DML) Anlegen, Ändern, und Löschen von Datensätzen in Relationen. - Data Query Language (DQL) integriert in DML Abfrage auf Datenbanken - Data Control Language (DCL) Anlegen von Benutzern und Vergabe von Zugriffsrechten. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra und SQL Datenbanksprache SQL (IV) Einfaches Standardabfrageschema in SQL Zu den wichtigsten Operationen auf Datenbanktabellen zählen Projektion, Selektion, Kartesisches Produkt und Verbund Diese Operationen werden in SQL in der einheitlichen Notation formuliert: Schema einer SQL Standardabfrage SELECT Attributliste FROM Tab 1, Tab 2,,Tab n WHERE Bedingung; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 22

12 4.2 Relationale Algebra und SQL Datenbanksprache SQL (V) Darstellung der relationalen Operationen in SQL Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra und SQL Projektion Pilot Ausgangsrelation PilotID Name Vorname GKID 4712 Müller Heinz Maier Marie Müller Daniel 27 Relationale Algebra Pilot [Name, Vorname] SQL SELECT Name, Vorname FROM Pilot; Ergebnisrelation Name Müller Maier Müller Vorname Heinz Marie Daniel Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 24

13 4.2 Relationale Algebra und SQL Selektion Pilot Ausgangsrelation PilotID Name Vorname GKID 4711 Borel Heinz Maier Marie Müller Daniel 27 Relationale Algebra Pilot WHERE Name = Maier SQL SELECT * FROM Pilot WHERE Name = Maier ; Ergebnisrelation PilotID Name Vorname GKID 1183 Maier Marie 14 Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra und SQL Kartesisches Produkt Ausgangsrelationen Relationale Algebra Pilot TIMES Gehaltsklasse SQL SELECT * FROM Pilot, Gehaltsklasse; Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 26

14 4.2 Relationale Algebra und SQL Verbund Ausgangsrelationen Relationale Algebra Pilot JOIN Gehaltsklasse SQL Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie Relationale Algebra und SQL Natürlicher Verbund Ausgangsrelationen Relationale Algebra Pilot Gehaltsklasse SQL Ergebnisrelation Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 28

15 Gliederung 4 Relationale Datenbanksprachen: SQL 4.1 Relationale Algebra 4.2 Relationale Algebra und SQL Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 29 Allgemeine Informationen zu diesem Abschnitt (I) Die nachfolgenden e beziehen sich auf folgendes relationale Datenmodell Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 30

16 Allgemeine Informationen zu diesem Abschnitt (II) Welche Informationen muss die Ergebnisrelation enthalten? - Achten Sie jeweils darauf, welche Daten laut Aufgabenstellung ausgegeben werden sollen. - Empfehlung Nehmen Sie sowohl den/die Primärschlüssel der beteiligten Tabelle(n) wie auch mindestens ein weiteres Attribut pro Tabelle in die SELECT-Klausel auf. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 31 Vereinfachtes Standardabfrageschema Notwendig SELECT * Attributliste FROM Tab 1, Tab 2,, Tab n Projektion / Attributauswahl Relation / Produkt / Join WHERE Bedingung Selektion einzelner Tupel Optional GROUP BY HAVING Attributliste Bedingung Bildung von Tupelgruppen, Aggregation, Selektion von Tupelgruppen ORDER BY Attributliste ASC DESC Sortierung Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 32

17 Einfache Standardabfrage Notwendig Optional SELECT [DISTINCT] * Attributliste FROM Tabellenname [WHERE Bedingung] [ORDER BY Attributliste] [ASC DESC]; Ergebnisrelation Ausgangsrelation Eingrenzen der Ergebnismenge Sortieren der Ergebnismenge Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 33 SELECT-Klausel (I) Syntax SELECT * Attributliste FROM Tabellenname; Projektion / Attributauswahl Übernehmen Sie alle Daten der Relation Buchung in die Ergebnisrelation. SELECT * FROM Buchung; Stellen Sie die Projektion über die Attribute PassID, FlugNr und das jeweilige Datum dar. SELECT PassID, FlugNr, Datum FROM Buchung; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 34

18 SELECT-Klausel (II) Umbenennung von Attributen (Spalten) in der Ergebnisrelation Ein Attributname (Spalte) kann zur Ausgabe mit Hilfe des AS-Operators umbenannt werden. Das Attribut Name der Relation Pilot soll in der Ergebnisrelation umbenannt werden in Nachname. SELECT PilotID, Name AS Nachname, Vorname FROM Pilot; Das Attribut Name der Relation Pilot soll in der Ergebnisrelation umbenannt werden in Nachname des Piloten. SELECT PilotID, Name AS Nachname des Piloten, Vorname FROM Pilot; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 35 SELECT-Klausel (III) Abgeleitete Attribute Aufnahme eines neuen Attributs In einer Ergebnisrelation kann ein neues Attribut (eine zusätzliche Spalte) aufgenommen werden, dessen Attributwerte konstant sind, sich aus den Werten bestimmter Attribute der Ausgangsrelation herleiten lassen oder das Ergebnis einer Funktion sind. <Ausdruck> AS <Bezeichnung der neuen Spalte> : Die Relation Pilot soll in der Ergebnisrelation durch ein zusätzliches Attribut erweitert werden, das den konstanten Wert Angestellter enthalten und die Bezeichnung Status tragen soll. SELECT PilotID, Name, Vorname, Angestellter AS Status FROM Pilot; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 36

19 SELECT-Klausel (IV) Syntax SELECT [DISTINCT] * Attributliste FROM Tabellenname; Wenn Sie den DISTINCT-Parameter in der SELECT-Klausel angeben, erhalten Sie nur eindeutige Ergebnisse, d.h. die Ausgabe identischer Tupel wird vermieden. Listen Sie aus der Relation Pilot alle Nachnamen der Piloten auf. Stellen Sie sicher, dass in der Ergebnisrelation jeder Nachname nur einmal erscheint. SELECT DISTINCT Name FROM Pilot; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 37 ORDER BY-Klausel (I) Syntax SELECT [DISTINCT] * Attributliste FROM Tabellenname [ORDER BY Attributliste] [ASC DESC]; Mit der ORDER BY-Klausel werden die Tupel (Datensätze) der Ergebnisrelation in eine bestimmte Reihenfolge gebracht. Attributliste: ASC DESC: Angabe der Attribute, nach denen sortiert werden soll. geben die jeweilige Sortierreihenfolge an. Mit DESC wird absteigend sortiert. Mit ASC erfolgt die Sortierung aufsteigend. Dies ist jedoch standardmäßig der Fall und muss somit nicht explizit angegeben werden. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 38

20 ORDER BY-Klausel (II) Sortieren Sie die Pilotenliste nach den Nachnamen in aufsteigender Reihenfolge. SELECT * FROM Pilot ORDER BY Name; alternativ: ORDER BY Name ASC; Sortieren Sie die Pilotenliste nach den Nachnamen in absteigender Reihenfolge. SELECT * FROM Pilot ORDER BY Name DESC; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 39 ORDER BY-Klausel (III) Sortieren Sie die Flugliste absteigend nach dem Datum und danach aufsteigend nach der PilotID. SELECT * FROM Flug ORDER BY Datum DESC, PilotID ASC; Alternativ SELECT * FROM Flug ORDER BY Datum DESC, PilotID; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 40

21 WHERE-Klausel (I) Syntax SELECT [DISTINCT] * Attributliste FROM Tabellenname [WHERE Bedingung]; Selektion Soll nicht der Inhalt der Ausgangsrelation vollständig ausgegeben werden, so kann die Ergebnismenge mittels Bedingungen in der WHERE-Klausel eingegrenzt werden. Listen Sie alle Flüge auf, die vom Piloten mit der PilotID 4711 durchgeführt werden. SELECT * FROM Pilot WHERE PilotID = 4711; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 41 WHERE-Klausel (II) Bedingung (1) ist ein logischer Ausdruck, dessen Ergebnis WAHR oder FALSCH ist. In diesen logischen Ausdrücken werden die Attributwerte (vorwiegend) mit konstanten, vorgegebenen Werten verglichen. Hierbei stehen verschiedene Operatoren zur Verfügung, vor allem: Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 42

22 WHERE-Klausel (III) Bedingung (2) In den logischen Ausdrücken werden die Attributwerte (vorwiegend) mit konstanten, vorgegebenen Werten verglichen. Datentyp des Attributs Darstellung des Vergleichswerts numerisch ohne Anführungszeichen SELECT * FROM Flug WHERE PilotID = 4711; alphanumerisch in einfachen oder doppelten Anführungszeichen SELECT * FROM Flug WHERE FlugNr <> "LH3654"; Datum In folgenden Formaten möglich: #MM/TT/JJJJ# (Access) JJJJ-MM-TT TT.MM.JJJJ SELECT * FROM Flug WHERE Datum = #07/15/2010#; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 43 WHERE-Klausel (IV) Bedingung (3) Bedingungsarten Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 44

23 WHERE-Klausel (V) Bedingung (4) Bedingungsarten Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 45 WHERE-Klausel (VI) Bedingung (5) Klammersetzung bei der Verwendung logischer Operatoren - Auswertung der logischen Ausdrücke ohne Klammersetzung NOT ist die engste Verbindung und wird vorrangig ausgewertet. AND ist die nächststärkere Verbindung und wird danach ausgewertet. OR ist die schwächste Verbindung und wird zuletzt ausgewertet. - Auswertung der logischen Ausdrücke mit Klammersetzung Logische Ausdrücke, die in Klammern gesetzt sind, werden vor allem anderen ausgewertet. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 46

24 Gruppierung (I) Abfragen werden sehr häufig gruppiert, weil nicht nur Informationen auf Datensatzebene (einzelne Tupel) von Interesse sind, sondern auch (daten-)gruppenbezogene Auswertungen angefordert werden. Durch die GROUP BY-Klausel werden alle Tupel, die in einem oder mehreren Attributen den gleichen Wert enthalten, in jeweils einer Gruppe zusammengefasst. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 47 Gruppierung (II) Geben Sie für jeden Passagier seine durchschnittlichen Flugkosten (Preis) an. Buchung Gruppierung Aggregation SELECT PassagierID, AVG(Preis) AS durchschnittl. Flugkosten FROM Buchung GROUP BY PassagierID; Aggregation Gruppierung Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 48

25 GROUP BY-Klausel (I) Syntax SELECT [DISTINCT] * Attributliste FROM Tabellenname [GROUP BY Attributliste]; Durch die GROUP BY-Klausel werden alle Tupel, die in einem Attribut oder mehreren Attributen den gleichen Wert enthalten, in jeweils einer Gruppe zusammengefasst. Dies ist in der Regel nur dann sinnvoll, wenn in der Ergebnisrelation eine gruppenweise Auswertung, also eine der Aggregatfunktionen, enthalten ist. Mit Hilfe von Aggregatfunktionen werden neue Attribute zu einer Ergebnisrelation hinzugefügt, in denen als Wert das pro gebildeter Gruppe ermittelte Ergebnis der Aggregatfunktion dargestellt wird. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 49 GROUP BY-Klausel (II) Aggregatfunktionen Funktion Erläuterung COUNT() Liefert die Anzahl der Werte (außer den Wert NULL) in der Ergebnismenge einer SELECT- Abfrage bzw. einer Gruppierung. SELECT COUNT(PilotID) AS Anzahl FROM Pilot SELECT COUNT(*) AS Anzahl FROM Pilot AVG () MIN () MAX () Liefert den Durchschnittswert eines Datenfeldes der Abfrage oder Gruppierung. Liefert den kleinsten bzw. größten Wert eines Datenfeldes der Abfrage oder Gruppierung. SELECT AVG(Preis) AS Durchschnitt FROM Buchung SELECT MIN(Gehalt) AS Minimum FROM Gehaltsklasse SUM () Liefert die Summe der Werte eines Datenfeldes in der Abfrage oder Gruppierung. SELECT MAX(Gehalt) AS Maximum FROM Gehaltsklasse SELECT SUM(Preis) AS Umsatz FROM Buchung Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 50

26 GROUP BY-Klausel (III) Die GROUP BY-Klausel muss gewisse Bedingungen erfüllen. (Auch dafür gilt: Jedes DBMS weicht an manchen Punkten vom Standard ab.) Jedes Attribut in der SELECT-Klausel, welches nicht zu einer Aggregatfunktion gehört, muss auch in der GROUP BY-Klausel verwendet werden. Umgekehrt ist es möglich, ein Attribut per GROUP BY zu gruppieren, ohne das Attribut selbst in der SELECT-Klausel und damit in der Ergebnisrelation zu verwenden. Achtung: Durch die GROUP BY-Klausel entsteht eine neue interne Tabelle! Deswegen können für die Ausgabe von Gruppen nur Attribute verwendet werden, nach denen gruppiert wurde. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 51 GROUP BY-Klausel (IV) Listen Sie für die einzelnen Gehaltsklassen basierend auf GKID die Anzahl der Piloten auf, die sich in der jeweiligen Gehaltsklasse befinden. SELECT GKID, COUNT(*) AS Anzahl FROM Pilot GROUP BY GKID; Geben Sie pro Flug (basierend auf Flugnummer und Datum) den durchschnittlichen Preis an. SELECT FlugNr, Datum, AVG(Preis) AS Durchschnittspreis FROM Buchung GROUP BY FlugNr, Datum; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 52

27 HAVING-Klausel (I) SELECT [DISTINCT] * Attributliste FROM Tabellenname [GROUP BY Attributliste] [HAVING Bedingung]; Die HAVING-Klausel ist eine Ergänzung zu den Aggregatfunktionen, die bei Gruppierungen verwendet wird, um die Anzahl der Tupelgruppen in der Ergebnisrelation einzugrenzen. Im Gegensatz zur WHERE-Klausel werden die in der HAVING-Klausel angegebenen Bedingungen nicht auf einzelne Tupel, sondern auf Tupelgruppen angewendet. Die in der HAVING-Klausel angegebene Bedingung wird aus dem Wertebereich der Aggregatfunktion vorgegeben. Tupelgruppen, welche diese Bedingung nicht erfüllen, werden verworfen. Mögliche Vergleichsoperatoren: <, >, <>, =, >=, <= Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 53 HAVING-Klausel (II) Bestimmen Sie für die einzelnen Gehaltsklassen basierend auf GKID die Anzahl der Piloten, die der jeweiligen Gehaltsklasse angehören. Die Ergebnisrelation soll nur solche Gehaltsklassen darstellen, denen mindestens drei Piloten angehören. SELECT GKID, COUNT(*) AS Anzahl FROM Pilot GROUP BY GKID HAVING COUNT(*) > 2; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 54

28 HAVING-Klausel (III) Geben Sie pro Flug (anhand des Primärschlüssels) den durchschnittlichen Preis an, den die Passagiere bezahlt haben. Es sollen jedoch nur jene Flüge aufgeführt werden, deren Durchschnittspreis unter 350 liegt. SELECT FlugNr, Datum, AVG(Preis) AS Durchschnittspreis FROM Buchung GROUP BY FlugNr, Datum HAVING AVG(Preis) < 350; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 55 Abfragen über mehrere Tabellen (I) Ein besonderes Merkmal von relationalen Datenbanken ist, dass die Informationen fast immer über mehrere Tabellen verteilt sind und bei Abfragen in der Ergebnismenge zusammengeführt werden müssen. Die Verbundoperationen sind die Grundlage für Datenbankabfragen, die sich über mehrere Relationen erstrecken. Beim Inner-Join wird das kartesische Produkt über zwei Relationen gebildet, verbunden mit der Prüfung, ob ein oder mehrere gemeinsame Attribute den gleichen Wert haben. Der Inner-Join entspricht in der Relationenalgebra dem Verbund. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 56

29 Abfragen über mehrere Tabellen (II) Verbundoperationen auf mehreren Tabellen werden durch ein gemeinsames Attribut definiert. An diese werden einschränkende Bedingungen gestellt. Alle zu verknüpfenden Tabellen werden namentlich in die FROM-Klausel aufgenommen und jeweils durch ein Komma getrennt aufgelistet. In die WHERE-Klausel wird die Bedingung eingefügt, dass die Fremdschlüsselwerte der einen Tabelle mit den Primärschlüsselwerten der jeweils referenzierten Tabelle übereinstimmen müssen. Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 57 Abfragen über mehrere Tabellen (III) Innerer Verbund zwischen den beiden Relationen Pilot und Gehaltsklasse. SELECT * FROM Pilot, Gehaltsklasse WHERE Pilot.GKID = Gehaltsklasse.GKID; Sobald ein Attributname in mehr als einer der verwendeten Relationen vorhanden ist, muss angegeben werden, aus welcher dieser Relationen das Attribut verwendet werden soll. Dies erfolgt durch: Tabellenname.Attributname Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 58

30 Abfragen über mehrere Tabellen (IV) Erstellen Sie eine Übersicht, aus der hervorgeht, welche Piloten welche Flüge durchgeführt haben. SELECT Pilot.PilotID, Name, FlugNr, Datum, Gate FROM Flug, Pilot WHERE Flug.PilotID = Pilot.PilotID; Erstellen Sie eine Übersicht, aus der hervorgeht, welcher Pilot den Flug LH3615 am durchgeführt hat. SELECT Pilot.PilotID, Name, Vorname FROM Flug, Pilot WHERE Flug.PilotID = Pilot.PilotID AND FlugNr = "LH3615" AND Datum = #11/27/2008#; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 59 Abfragen über mehrere Tabellen (V) Listen Sie alle Piloten auf, die mehr als 2 Flüge durchgeführt haben. SELECT Pilot.PilotID, Name, Vorname COUNT(*) AS Anzahl FROM Flug, Pilot WHERE Flug.PilotID = Pilot.PilotID GROUP BY Pilot.PilotID, Name, Vorname HAVING COUNT(*) > 2 ; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 60

31 Abfragen über mehrere Tabellen (VI) Innerer Verbund zwischen den beiden Relationen Flug und Passagier. Diese beiden Relationen können nicht direkt miteinander verknüpft werden. Hierzu muss zusätzlich die Relation Buchung betrachtet werden.? Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 61 Abfragen über mehrere Tabellen (VII) Listen Sie alle Passagiere auf, die im letzten Quartal des Jahres 2008 von Düsseldorf nach Mailand geflogen sind. SELECT DISTINCT Passagier.PassID, Name, Vorname FROM Passagier, Buchung, Flugstrecke WHERE Passagier.PassID = Buchung.PassID AND Buchung.FlugNr = Flugstrecke.FlugNr AND Datum BETWEEN #10/01/2008# AND #12/31/2008# AND Abflugort = "Düsseldorf" AND Ankunftsort = "Mailand"; Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 62

32 Notwendig SELECT [DISTINCT] * Attributliste FROM Tab 1, Tab 2,, Tab n Projektion / Attributauswahl Relation / Produkt / Join WHERE Bedingung Selektion einzelner Tupel Optional GROUP BY HAVING Attributliste Bedingung Bildung von Tupelgruppen, Aggregation, Selektion von Tupelgruppen ORDER BY Attributliste ASC DESC Sortierung Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 63 Verarbeitung einer Datenbankabfrage Prof. Dr. Peter Chamoni - Einführung in die Wirtschaftsinformatik - Folie 64

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Prof. Dr. Dr. Peter Peter

Mehr

Datenbanksysteme Kapitel 5: SQL - Grundlagen

Datenbanksysteme Kapitel 5: SQL - Grundlagen Datenbanksysteme Kapitel 5: SQL - Grundlagen Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Prof. Peter Dr. Chamoni Peter

Mehr

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni

Mehr

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni

Mehr

Datenbanksysteme SQL Grundlagen

Datenbanksysteme SQL Grundlagen Datenbanksysteme SQL Grundlagen Kapitel 5: SQL Übungsunterlagen Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter SQL

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

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

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

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

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

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

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

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

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar Abfragen aus einer Tabelle mit Hilfe der Datenbank-Sprache SQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine

Mehr

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

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

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

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

SQL Data Manipulation Language (DML) und Query Language (QL)

SQL Data Manipulation Language (DML) und Query Language (QL) Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

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

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL Anfragen an Datenbanken mit SQL Folie 28 Syntax einer Anfrage SFW-Anfrage (Select-From-Where-Anfrage) SELECT Projektion π FROM Kart. Produkt WHERE Selektion

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

SQL: Abfragen für einzelne Tabellen

SQL: Abfragen für einzelne Tabellen Musterlösungen zu LOTS SQL: Abfragen für einzelne Tabellen Die Aufgaben lösen Sie mit dem SQL-Training-Tool LOTS der Universität Leipzig: http://lots.uni-leipzig.de:8080/sql-training/ Wir betrachten für

Mehr

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch

Mehr

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

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

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

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 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 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query Languages (QL) Relationale Abfragesprachen/Relational Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell

Mehr

Datenbanksysteme Kapitel 2: SQL Data Definition Language

Datenbanksysteme Kapitel 2: SQL Data Definition Language Datenbanksysteme Kapitel 2: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni -

Mehr

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

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen

Mehr

Datenbankabfragen und Datenmanipulation

Datenbankabfragen und Datenmanipulation Datenbankabfragen und Datenmanipulation Datenbankabfragen auf einer Tabelle...1 SELECT Abfrage...1 Projektion...2 Wertausdrücke...3 Numerische Wertausdrücke...3 Zeichenkettenwertausdrücke...3 Datums und

Mehr

8 DML (1) Daten abfragen

8 DML (1) Daten abfragen 8 DML (1) Daten abfragen Eine Datenbank enthält eine Vielzahl verschiedener Daten. Abfragen dienen dazu, bestimmte Daten aus der Datenbank auszugeben. Dabei kann die Ergebnismenge gemäß den Anforderungen

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Kapitel 2: Einstieg in SQL

Kapitel 2: Einstieg in SQL Kapitel 2: Einstieg in SQL 2. Einstieg in SQL 2. SQL (Structured Query Language) ist die in der Praxis am weitesten verbreitete Datenbanksprache für relationale Datenbanken. Die Historie von SQL geht zurück

Mehr

Datenbanksysteme Kapitel: SQL Data Definition Language

Datenbanksysteme Kapitel: SQL Data Definition Language Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.

Mehr

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

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

Mehr

Telefonbuchdaten. Leitungsdaten Antennendaten Mitarbeiterdaten Immobiliendaten Telefon-Verbindungsdaten Internet-Verbindungsdaten

Telefonbuchdaten. Leitungsdaten Antennendaten Mitarbeiterdaten Immobiliendaten Telefon-Verbindungsdaten Internet-Verbindungsdaten Datenbanken? Datenbanken! Vertragsdaten Kundendaten Rechnungsdaten Telefonbuchdaten Marketingdaten Leitungsdaten Antennendaten Mitarbeiterdaten Immobiliendaten Telefon-Verbindungsdaten Internet-Verbindungsdaten

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

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

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47 SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,

Mehr

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

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum: Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung Stefan Maihack Dipl. Ing. (FH) Datum: 28.10.2005 1 einfachste SELECT-Anweisung Alle Inhalte einer Tabelle holen: SELECT * FROM land; 2 DML - SELECT

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

Mehr

Operationen auf Relationen

Operationen auf Relationen Existierende relationale Datenbanken Beispiele von relationalen DB-Systemen: DB2, SQL (v. IBM), ORACLE, INGRES, INFORMIX, SYBASE, ACCESS u.v.a.m. Die dominierende Query-, DB-Language: SQL (Structured Query

Mehr

Datenbanken im WI-Unterricht mit

Datenbanken im WI-Unterricht mit Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.

Mehr

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

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

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

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

Mehr

Tabellenkalkulationssysteme Inf 9 / 1

Tabellenkalkulationssysteme Inf 9 / 1 Tabellenkalkulationssysteme Inf 9 / 1 1.1 Inhalte von Zellen Die Zellen von Rechenblättern können Werte (Daten) oder Formeln enthalten. Werte können mithilfe von Zellbezügen als Eingabe für Formeln verwendet

Mehr

Informationsmanagement u. Numerische Methoden

Informationsmanagement u. Numerische Methoden Fakultät Bauingenieurwesen Institut für Bauinformatik, Prof. Dr.-Ing. Raimar J. Scherer Informationsmanagement u. Numerische Methoden Relationale und Objekt-orientierte Datenstrukturen 6. Semester 2. Vorlesung:

Mehr

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin SQL Wiederholung Datenbanktechnologien Prof. Dr. Ingo Claÿen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Verbunde Aggregation und Gruppierung Unterabfragen Verbunde Inner-Join Nur

Mehr

Datenbanken und Datenmodellierung

Datenbanken und Datenmodellierung 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.

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

2.5 Structured Query Language (SQL)

2.5 Structured Query Language (SQL) 2.5 Structured Query Language (SQL) Structured Query Language (SQL) geht zurück auf den in IBM Almaden (San Jose) entwickelten Prototypen System R ursprünglich: Structured English Query Language (SEQUEL)

Mehr

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

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. SQL Komplexe Abfragen Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. Voraussetzung für das Verständnis ist die Beherrschung einfacher SELECT-Abfragen Die Möglichkeit, Tabellen zu verknüpfen,

Mehr

SQL. Structured Query Language

SQL. Structured Query Language SQL Structured Query Language Grundlagen zu Abfrage SQL Jede SQL-Abfrage enthält die drei Hauptbefehle: select (engl. auswählen), from (engl. von) und where (engl. wo). Mit select gibt man an, welche Spalten

Mehr

Einführung in die Spezialisierungsrichtungen

Einführung in die Spezialisierungsrichtungen Einführung in die Spezialisierungsrichtungen SQL Dr. Matthias Baumgart 23. November 2012 Einführung Logische Datenbankorganisation Die logische Datenbankorganisation erfolgt in drei Schritten: 1 Aufstellen

Mehr

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung) 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,

Mehr

SQL ist eine relational vollständige Datenbanksprache.

SQL ist eine relational vollständige Datenbanksprache. SQL-Abfragen 1. Einleitung SQL ist eine relational vollständige Datenbanksprache. SQL steht für Structured Query Language. Der englische Ausdruck Query steht für Abfrage. SQL wurde in den siebziger Jahren

Mehr

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

1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen 1. Einleitung 9. Oktober 2012 SQL ist eine relational vollständige Datenbanksprache. SQL steht für Structured Query Language. Der englische Ausdruck Query steht für Abfrage. SQL wurde in den siebziger

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

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

Prof. Dr. Bernd Blümel Prof. Dr. Volker Klingspor. Datenbanken und SQL Prof. Dr. Bernd Blümel Prof. Dr. Volker Klingspor Falsche Datenstruktur 2 Optimierte Struktur 3 Tabellen der campusinfo-datenbank 4 Elemente einer Tabelle 5 Der Fremdschlüssel 6 Beispiele Beispiel1: Kunden

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

Niedersächsisches Kultusministerium Juli 2014

Niedersächsisches Kultusministerium Juli 2014 18. Informatik A. Fachbezogene Hinweise Die Rahmenrichtlinien Informatik sind so offen formuliert, dass sie Raum für die Gestaltung eines zeitgemäßen Informatikunterrichts lassen. Neue Inhalte der Informatik

Mehr

Aggregatfunktionen in SQL

Aggregatfunktionen in SQL Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,

Mehr

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort. 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.ONR) Jugendherberge(JNR, Name, Ort Ort.ONR, Manager Person.PNR) Ort(ONR,

Mehr

Einführung in Datenbanken und SQL

Einführung in Datenbanken und SQL Veranstaltung Pr.-Nr.: 101023 Einführung in Datenbanken und SQL Veronika Waue WS 07/08 Übung 5 Welche Lehrangebote haben die Pruefungsnummer 10027? Jeder Titel soll nur einmal ausgegeben werden. (Achtung

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie

Mehr

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

Mehr

1 Vorstellung Kursbeispiel

1 Vorstellung Kursbeispiel 1 Vorstellung Kursbeispiel Dieses Kapitel basiert auf den datenbanktheoretischen Grundlagen des Kapitel 1 und stellt die im Kurs verwendete Testdatenbank vor. Weiterhin soll grob skizziert werden, wie

Mehr

gibt es kein Bundesland, en?"

gibt es kein Bundesland, en? Allquantoren: : ein heißes es Eisen! "Welche Flüsse fließen en durch alle Bundesländer nder?" ( ( SELECT FL1.Fluss fluss_durch_land AS AS FL1 FL1 WHERE NOT NOT EXISTS ( ( SELECT * land land AS AS L WHERE

Mehr

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

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

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

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

Mehr

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

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

18. Hinweise zur schriftlichen Abiturprüfung 2021 im Fach Informatik

18. Hinweise zur schriftlichen Abiturprüfung 2021 im Fach Informatik 18. Hinweise zur schriftlichen Abiturprüfung 2021 im Fach Informatik A. Fachbezogene Hinweise Grundlage für die schriftliche Abiturprüfung 2021 in Niedersachsen sind die Einheitlichen Prüfungsanforderungen

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel : Datenbanksysteme Vorlesung:

Mehr

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

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

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

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 6 Vertiefung Relationale Algebra Anzeigen von Daten aus mehreren Tabellen Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 22

Mehr

Aggregatfunktionen in der Relationenalgebra?

Aggregatfunktionen in der Relationenalgebra? Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in

Mehr

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

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

Mehr

SQL: Weitere Funktionen

SQL: Weitere Funktionen Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal

Mehr

[ SQL] Wissen, das sich auszahlt

[  SQL] Wissen, das sich auszahlt [www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen

Mehr