Tabellen verknüpfen: Joins

Größe: px
Ab Seite anzeigen:

Download "Tabellen verknüpfen: Joins"

Transkript

1 SQL2-1 -

2 Tabellen verknüpfen: Joins Bisher haben wir Tabellen mittels Unterabfragen verknüpft d. h. eine Spalte einer anderen Tabelle kann ein Selektionskriterium liefern. Wie kann man aber eine "echte" Kombination von Datensätzen aus mehreren Tabellen erreichen? Antwort: Mittels Joins! Die Join- Operation liefert Zeilen aus zwei oder mehr Tabellen, die eine gemeinsame Menge von Merkmalen teilen. Es gibt verschiedene Typen von Join- Operationen

3 Der CROSS JOIN ein erstes Beispiel SELECT * FROM Kunden, Artikel WHERE Kundennr< 3 ; Was ist passiert? Jede Zeile der einen Tabelle wird mit jeder Zeile der anderen Tabelle verknüpft! - 3 -

4 CROSS JOIN: Regeln Ein CROSS JOIN wird durch die Angabe mehrerer Tabellennamen in der FROM-Klausel realisiert. Der CROSS JOIN verknüpft jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle. Normalerweise hat ein CROSS JOIN keinen besonderen praktischen Nutzen

5 Einschränkung der Verknüpfungen Die Anzahl der Verknüpfungen wird sinnvollerweise durch die Angabe von Bedingungen in der WHERE-Klausel erreicht. Die allgemeine Syntax lautet: SELECT Spalte1 [, Spalte2 [,...] ] FROM Tabelle1, Tabelle2 [,...] WHERE Tabelle1. SpalteI = Tabelle2. SpalteJ [ AND... ] [ sonstige_ Bedingungen ] Die erste Tabelle im JOIN wird zuerst ausgewertet. Dies sollte die Basistabelle sein (die die wenigsten Ergebnisse zurückliefert)

6 Beispiel Erstellung einer kleinen Auftragsliste: SELECT Datum, Kunden. Name, Artikel. Name, Anzahl FROM Kunden, Artikel, Auftrag WHERE Kunden. Kundennr= Auftrag. Kundennr AND Artikel. ArtNr= Auftrag. ArtNr ORDER BY Datum ; - 6 -

7 Beispiel (2) Die Erstellung der Auftragsliste im Detail: - 7 -

8 Spaltenbezüge in JOINs Durch die Verknüpfung mehrerer Tabellen müssen die Bezüge auf Spaltennamen ggf. qualifiziert werden: Tabelle. Spaltenname Komplexe Abfragen können durch die Vergabe von Aliasnamen für Tabellen vereinfacht werden SELECT Datum, KU. Name, ART. Name, Anzahl FROM Kunden KU, Artikel ART, Auftrag AUF WHERE KU. Kundennr= AUF. Kundennr AND ART. ArtNr= AUF. ArtNr ORDER BY Datum ; - 8 -

9 JOINs: Regeln Spätestens bei JOINs ist es nicht mehr sinnvoll, alle Spalten zurückzugeben! Insbesondere sind die Spalten, die der Verknüpfung zweier Tabellen dienen, redundant und sollten wenn überhaupt nur einmal ausgegeben werden. Die Spalten in der WHERE- Klausel und in der SELECT- Klausel sind prinzipiell unabhängig! - 9 -

10 Klassifizierung von JOINs Nach Art der Verknüpfung: Equi- JOIN: Gleichheit der Felder Non- Equi- JOIN: Alle Vergleiche außer Gleichheit Nach Existenz der Verknüpfung: INNER JOIN: Nur Einträge mit bestehenden Verknüpfungen werden angezeigt OUTER JOIN: Es werden auch Einträge zurückgegeben, zu denen keine Verknüpfung besteht

11 INNER JOIN Es werden die Daten aus zwei Tabellen angezeigt, die durch die Bedingung Artikel. ArtNr = Auftrag. ArtNr verknüpft sind. Dies ist eine Art "Standardverknüpfung für relationale Datenbanken sie entspricht der Verknüpfung von Tabellen über Fremdschlüssel

12 INNER JOIN Für INNER JOINs existiert in den meisten RDBMS alternativ eine spezielle Syntax, die aber (praktisch noch) nicht standardisiert ist. Beispiel: SELECT Spalte1 [, Spalte2 [,...] ] FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1. SpalteI = Tabelle2. SpalteJ [ WHERE sonstige_ Bedingungen ] ; Auch hier können mehr als zwei Tabellen verknüpft werden, das Ganze wird aber unübersichtlicher als in der Standardsyntax... Bei gleichem Spaltennamen kann man statt der ON- Klausel auch die USING- Klausel verwenden: USING Spaltenname

13 NATURAL JOIN Der NATURAL JOIN soll die "natürliche" Verknüpfung zweier Tabellen realisieren. Er ist ein INNER JOIN, bei dem alle Spalten mit gleichem Namen und Datentyp in die JOIN- Bedingung eingebunden sind. SELECT * FROM Tabelle1 NATURAL JOIN Tabelle2... liefert keine doppelten Spalten zurück!

14 OUTER JOIN Beim OUTER JOIN werden im Gegensatz zum INNER JOIN alle Einträge einer Tabelle zurückgegeben (unabhängig von den Verknüpfungen!). Die nicht existenten Felder werden mit NULL gefüllt. Auch hier existieren beide oben angegebenen Syntaxvarianten aber leider nicht in allen RDBMS die gleichen!

15 OUTER JOIN: Syntax SELECT Spalte1 [, Spalte2 [,...] ] FROM Tabelle1 < LEFT RIGHT > JOIN Tabelle2 ON Tabelle1. SpalteI = Tabelle2. SpalteJ [ WHERE sonstige_ Bedingungen ] ;

16 Outer-Join, Beispiel

17 OUTER JOIN: Beispiel Was passiert, wenn man den JOIN umdreht? SELECT Kunden. Name, Artikel. Name, Anzahl FROM Kunden RIGHT JOIN ( Artikel INNER JOIN Auftrag ON Artikel. ArtNr = Auftrag. ArtNr) ON Kunden. Kundennr = Auftrag. Kundennr;

18 JOINs... Damit ist unser Streifzug durch die JOINs im wesentlichen beendet Die bisherigen Beispiele waren aber naturgemäß extrem einfach prinzipiell können JOINs mit allen anderen Syntaxelementen kombiniert werden (wie wir im folgenden sehen werden...) => JOINs sind das Basiselement bei der Arbeit mit relationalen Datenbanken!

19 Mengenoperatoren in SELECT- Anweisungen SQL kennt drei Mengenoperatoren: INTERSECT Schnittmenge zweier Mengen UNION Vereinigung zweier Mengen MINUS Differenz zweier Mengen Mit diesen Operatoren können die Ergebnisse zweier SELECT- Anweisungen verknüpft werden

20 INTERSECT Syntax: Select- Anweisung1 INTERSECT Select_ Anweisung2 [ ORDER BY Spaltennr1 [, Spaltennr2 [...]] ;

21 INTERSECT: Regeln Die zwei SELECT- Anweisungen dürfen keine ORDER BY- Klausel enthalten. Sie können jedoch das Ergebnis der gesamten INTERSECT- Operation ordnen. Die Anzahl der von den beiden SELECT-Anweisungen zurückgegebenen Spalten muß gleich sein. Die Datentypen der von den beiden SELECT- Anweisungen abgefragten Spalten müssen gleich sein. In der ORDER BY- Klausel müssen die zum Ordnen verwendeten Spalten über Nummern statt Namen angesprochen werden

22 INTERSECT: Beispiel Sie haben die folgende Tabelle mit Kunden Ihres Hauptkonkurrenten zugespielt bekommen und möchten feststellen, welche Ihrer Kunden auch bei Ihrem Konkurrenten in der Kartei stehen

23 Intersect Beispiel

24 UNION Syntax: Select- Anweisung1 UNION [ ALL ] Select_ Anweisung2 [ ORDER BY Spaltennr1 [, Spaltennr2 [...]] ; UNION bildet die Vereinigung zweier Mengen UNION ALL gibt doppelte Datensätze zurück Angenommen, Sie wollen die Gesamtanzahl aller verkauften Produkte Ihrer Firma anzeigen. Da aber jede Produktionsstätte (A,B,C), wo die Produkte hergestellt werden. Da Duplikate möglich sind (jede Produktionsstätte kann ja dieselben Produkte erstellen), ist die Verwendung von ALL notwendig: SELECT ProductName, UnitsSold FROM Facts_Divison_A UNION ALL SELECT ProductName, UnitsSold FROM Facts_Divison_B UNION ALL SELECT ProductName, UnitsSold FROM Facts_Divison_C

25 UNION: Regeln Die zwei SELECT- Anweisungen dürfen keine ORDER BY- Klausel enthalten. Sie können jedoch das Ergebnis der gesamten UNION- Operation ordnen. Die Anzahl der von den beiden SELECT-Anweisungen zurückgegebenen Spalten muß gleich sein. Die Datentypen der von den beiden SELECT-Anweisungen abgefragten Spalten müssen gleich sein. In der ORDER BY- Klausel müssen die zum Ordnen verwendeten Spalten über Nummern statt Namen angesprochen werden

26 UNION: Beispiel Wir wollen die Konkurrenzdaten nutzen, um unsere Marketingabteilung mit neuen Daten zu versorgen... SELECT Name, Strasse, PLZ FROM Kunden UNION SELECT Nachname+", "+ Vorname, Strasse, PLZ FROM Konkurrenzkunden ORDER BY 1 ;

27 MINUS Syntax: Select- Anweisung1 MINUS Select_ Anweisung2 [ ORDER BY Spaltennr1 [, Spaltennr2 [...]] ; MINUS bildet die Differenz zweier Mengen Regeln sind analog zu INTERSECT und UNION

28 MINUS: Beispiel Welche Konkurrenzkunden sind keine Kunden von uns? SELECT Name, Strasse, PLZ FROM Konkurrenzkunden MINUS SELECT Nachname+", "+ Vorname, Strasse, PLZ FROM Kunden ORDER BY 1 ;

29 SQL: Ändern von Daten INSERT Datensätze in eine Tabelle einfügen UPDATE Ändern einzelner Feldinhalte DELETE Datensätze aus einer Tabelle löschen

30 INSERT: Wiederholung Einfügen einzelner Datensätze INSERT INTO Tabellenname [ ( Spalte1 [, Spalte2 [... ] ] ) ] VALUES ( Wert1 [, Wert2 [... ] ] ); Einfügen durch Kopieren aus einer anderen Tabelle: INSERT INTO Zieltabelle [ ( Spalte1 [, Spalte2 [... ] ] ) ] SELECT Spalte1 [, Spalte2 [... ] ] FROM Quelltabelle WHERE Suchbedingung ;

31 UPDATE Mit der UPDATE- Anweisung lassen sich selektiv die Inhalte einzelner Felder ändern. Syntax: UPDATE Tabellenname SET Spaltenname1 = Wert1 [, Spaltenname2 = Wert2 [... ] ] [ WHERE Suchbedingung ] ; Achtung: Ein UPDATE ohne WHERE-Klausel ändert die betreffenden Spalten in allen Datensätzen der Tabelle!

32 UPDATE: Beispiel Der Einkaufspreis für den Komplett- PC ist auf 424 gefallen UPDATE Artikel SET EK= 424 WHERE Name=" Komplett- PC" ; Auf alle Artikel über 500 werden 10% Rabat gegeben: UPDATE Artikel SET Preis= Preis* 0. 9 WHERE Preis> 500 ;

33 UPDATE: Beispiel Um den Nachnamen in einer Personentabelle zu ändern, könnte ein UPDATE Statement wie folgt aussehen: UPDATE tpersonendaten SET Nachname = 'Wille' WHERE SozVersNummer = In diesem Beispiel wird - so die Spalte SozVersNummer ein Primärschlüsselfeld ist - nur dieser eine Datensatz verändert. Wenn mehrere Zeilen das Einschränkungskriterium erfüllen, so wird jede einzelne Zeile aktualisiert. UPDATE tpersonendaten SET Nachname = 'Wille Nun, es fehlt die Einschränkung auf die Zeile, die verändert werden soll, dann gilt das UPDATE für alle Zeilen! Fazit: Vorsicht, immer das UPDATE Statement doppelt kontrollieren!

34 UPDATE... SELECT Auch in einer UPDATE- Anweisung lassen sich (im WHERE- Teil) Unterabfragen verwenden. Syntax: UPDATE Tabellenname SET Spaltenname1 = Wert1 [, Spaltenname2 = Wert2 [... ] ] [ WHERE SpaltennameI Select- Anweisung ] ;

35 Beispiel Alle Artikel, deren Preis unter dem Durchschnitt liegt, sollen um 15 teuerer werden: UPDATE Artikel SET Preis= Preis+ 15 WHERE Preis < ( SELECT AVG (Preis) FROM Artikel) ;

36 DELETE Die DELETE- Anweisung löscht (ohne Rückfrage!) Datensätze aus der Tabelle. Syntax: DELETE FROM Tabellenname WHERE Bedingung ; Anmerkung: Wenn man alle Datensätze löschen will, geht es in Oracle schneller mit TRUNCATE TABLE Tabellenname ;

37 DELETE: Beispiel Die Kunden ohne Ortsangabe sollen wieder aus unserer Datenbank gelöscht werden: DELETE FROM Kunden WHERE Ort="???" ;

38 DELETE: Regeln Beim Einsatz der DELETE- Anweisung sind folgende Punkte zu beachten: DELETE löscht nur komplette Datensätze aus einer Tabelle. Einzelne Felder lassen sich nicht löschen (verwenden Sie dafür UPDATE). Das Löschen von Datensätzen kann zu Problemen mit der referentiellen Integrität in anderen Tabellen führen! DELETE löscht nur Datensätze und nicht die Tabelle selbst (verwenden Sie dafür DROP TABLE). DELETE ohne WHERE- Klausel löscht alle Datensätze!!!

39 DELETE... SELECT Auch innerhalb der DELETE- Anweisung lassen sich Unterabfragen einsetzen. Syntax: DELETE FROM Tabellenname WHERE SpaltennameI Select- Anweisung ;

40 Sichten Sichten sind "virtuelle Tabellen" dienen der Kapselung komplexer Abfragen lassen sich wie jede andere Tabelle verwenden (aber gewisse Einschränkungen bei Updates...) belegen keinen physischen Platz in der Datenbank Syntax: CREATE VIEW Sichtname [ ( Spalte1, Spalte2,... )] AS Select- Statement ;

41 CREATE VIEW ein Beispiel Die einfachste aller Sichten ist die identische Sicht auf eine Tabelle: CREATE VIEW MeineKunden AS SELECT * FROM Kunden ;

42 CREATE VIEW 2. Beispiel Aber auch komplexe Abfragen lassen sich als Sicht kapseln: CREATE VIEW Auftragsliste AS SELECT Datum, Kunden. Name, Artikel. Name, Anzahl FROM Kunden, Artikel, Auftrag WHERE Kunden. Kundennr= Auftrag. Kundennr AND Artikel. ArtNr= Auftrag. ArtNr ; Der Zugriff erfolgt dann wie auf eine gewöhnliche Tabelle: SELECT * FROM Auftragsliste ORDER BY Datum ;

43 Einschränkung von SELECT in Sichten Wenn man bei der Formulierung einer Sicht die SELECT- Anweisung verwendet, sind die folgenden zwei Regeln zu beachten: Der UNION- Operator kann nicht verwendet werden. Die Klausel ORDER BY läßt sich nicht verwenden. Allerdings kann man in einer Sicht mit der Klausel GROUP BY die gleichen Funktionen wie mit der Klausel ORDER BY realisieren

44 Einsatzfälle von Sichten Mit Sichten lassen sich unter anderem folgende Aufgaben realisieren: Sicherheitsfunktionen für den Benutzer bereitstellen zwischen Einheiten umrechnen ein neues virtuelles Tabellenformat erzeugen die Konstruktion komplexer Abfragen vereinfachen

45 Sichten sind (fast...) Tabellen! Sichten lassen sich prinzipiell (fast) genau wie Tabellen verwenden Man kann sogar Sichten erstellen, die sich auf andere Sichten (statt auf Tabellen) beziehen prinzipiell ist eine beliebige hierarchische Verschachtelung möglich... Aber Vorsicht: Eine solche "Unter- Sicht ist von ihrer "Hauptsicht" abhängig wenn man die Hauptsicht löscht, liefert die Untersicht einen Fehler!

46 Änderung von Daten in Sichten Eine Sicht spiegelt eventuell nur einen Ausschnitt aus einer Gruppe von Tabellen wider daher ist das Modifizieren der Daten in den zugrundeliegenden Tabellen nicht immer möglich. Häufige Einschränkungen sind:z Auf Sichten aus mehreren Tabellen läßt sich die DELETE- Anweisung nicht anwenden. Die INSERT- Anweisung kann man nicht verwenden, wenn nicht alle NOT NULL- Spalten in die Sicht eingeschlossen wurden. alle zu aktualisierenden Datensätze müssen zur selben physikalischen Tabelle gehören. In Sichten mit DISTINCT kann man keine Datensätze aktualisieren oder einfügen. virtuelle Spalten (Spalten, die das Ergebnis eines Ausdrucks oder einer Funktion sind) lassen sich nicht aktualisieren

47 DROP VIEW Sichten lassen sich auf die für SQL übliche Weise (ohne Rückfrage!) löschen: DROP VIEW Sichtname ; Alle Sichten, die sich auf die gelöschte Sicht beziehen, werden nun ungültig und liefern einen Fehler oder werden ggf. vom Datenbanksystem gelöscht

48 Miniübung 1 Gegeben sind folgende Tabellen: Person (PNr, Vorname, Nachname, Titel, ANr, KNr) Adresse (ANr, Straße, Postfach, PLZ, Ort) Kommunikation (KNr, Tel, Fax, ) 1. Geben Sie die relevanten Daten zu allen Personen aus. 2. An welcher Adresse wohnt der Inhaber der Telefonnummer 01234/ 56789?

49 Miniübung 2 Gegeben sind folgende Tabellen: Die drei Tabellen aus Miniübung 1 Personal (PSNr, PNr, AbtNr, Chef, Gehalt) Abteilung (AbtNr, Name, Standort) 1. Geben Sie eine Liste der Mitarbeiter aus der Abteilung "Verkauf" mit Telefon- und Faxnummer aus. Bedenken Sie, daß ein Mitarbeiter nicht unbedingt über moderne Kommunikationsmittel verfügen muß

50 Miniübung 3 (Tabellen aus Miniübungen 1 und 2...) 1. Geben Sie alle Mitarbeiter aus, deren Chef ich bin. 2. Geben Sie für jeden Mitarbeiter das Gehalt an sowie wieviel Mitarbeiter weniger verdienen als er, also z. B. Name Gehalt #weniger Hubert Müller 6500,

51 Miniübung 4 Tabellen aus Miniübungen 1 und 2 sowie Kunden (KdNr, Name, Strasse, PLZ, Ort) Projekt (PkNr, PSNr, KdNr, Thema, Preis) 1. Geben Sie zu jedem Mitarbeiter das Hauptprojekt (mit dem der größte Umsatz gemacht wird) an

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

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

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

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

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

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

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

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

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

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

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

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

Aufgabe 1: Integrität

Aufgabe 1: Integrität Aufgabe 1: Integrität Gegeben sei das folgende Schema: Personal: (PNR, Name, Gehalt, Abt, Vorges) a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende Integritätsbedingungen

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

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

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

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

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

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

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

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

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

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

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

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag Gregor Kuhlmann Friedrich Müllmerstadt MySQL Der Schlüssel zu Datenbanken-Design und -Programmierung r?: X c 3 E i- O uu Rowohlt Taschenbuch Verlag Inhalt Editorial 11 Einleitung 12 1 Einführung in das

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

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

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

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

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

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

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

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 in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

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

[1] DBS-exercice

[1] DBS-exercice [1] DBS-exercice 1.11.14 Daten abfragen (SELECT) Wenn Sie die Möglichkeiten des SELECT-Befehls nutzen, müssen Sie diese Reihenfolge der einzelnen Befehlskomponenten einhalten: SELECT spaltenliste FROM

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

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

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press Marcus Throll, Oliver Bartosch Einstieg in SQL Verstehen, einsetzen, nachschlagen Galileo Press Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Datenbank Grundlagen. Performanceuntersuchungen

Datenbank Grundlagen. Performanceuntersuchungen Vorlesung Datenbanken, Entwurfsarbeit 1 Fachbereich Automatisierung und Informatik Wernigerode Datenbank Grundlagen Performanceuntersuchungen Entwicklung einer Datenbank zur Verwaltung eines Bestellwesens

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

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

In diesem Abschnitt wollen wir uns mit einem besonderen Thema widmen. Dem Thema SQL-JOIN.

In diesem Abschnitt wollen wir uns mit einem besonderen Thema widmen. Dem Thema SQL-JOIN. 1 In diesem Abschnitt wollen wir uns mit einem besonderen Thema widmen. Dem Thema SQL-JOIN. Logisch angesiedelt ist dieses Thema bei dem SQL-DML Anweisungen, da es sich um einen besonderen Aspekt bei Select

Mehr

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL Oracle und SQL Kompakt-Intensiv-Training In unsere Schulung "Oracle und SQL" erhalten Sie einen breitgefächerten Überblick über die fachmännische und effektive Nutzung der SQL-Implementierung in Oracle.

Mehr

ARBEITSBLATT ZUR SQL-BEFEHLEN

ARBEITSBLATT ZUR SQL-BEFEHLEN Gegeben ist die folgende Datenbank: ARBEITSBLATT ZUR SQL-BEFEHLEN In einer Firma gibt es Mitarbeiter. Jeder Mitarbeiter ist eindeutig einer Abteilung zugeordnet. Manche Mitarbeiter sind an einem Projekt

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2) Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

SQL - Datenbankdesign - Aufbau

SQL - Datenbankdesign - Aufbau SQL - Datenbankdesign - Aufbau Kompakt-Intensiv-Training Unsere fünftägige ANSI SQL Schulung vermittelt Ihnen alle nötigen Kenntnisse zur Erstellung von Datenauswertungen und Programmierung wiederkehrender

Mehr

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

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus: Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine

Mehr

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221) Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank

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

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

- Welche Beziehungstypen werden von ACCESS unterstützt? ACCESS unterstützt die Beziehungen + 1:1 + 1:n bzw. 1:cn + m:n

- Welche Beziehungstypen werden von ACCESS unterstützt? ACCESS unterstützt die Beziehungen + 1:1 + 1:n bzw. 1:cn + m:n ACCESS 1. Aufgabe - Welche Beziehungstypen werden von ACCESS unterstützt? ACCESS unterstützt die Beziehungen + 1:1 + 1:n bzw. 1:cn + m:n - Was versteht man unter referentieller Integrität? Dies sind Regeln,

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

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

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

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird. Übungen und Lösungen 1. Einführung Datenbanken 1) Welche Datenbanktypen kennen Sie? Wodurch sind sie gekennzeichnet? Hierarchische Datenbanken: Zwischen den Datensätzen besteht eine untergeordnete Rangfolge.

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Datenbanksysteme Teil 7 MySQL DML Die SELECT-Anweisung Mengenoperationen & Joins. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbanksysteme Teil 7 MySQL DML Die SELECT-Anweisung Mengenoperationen & Joins. Stefan Maihack Dipl. Ing. (FH) Datum: Datenbanksysteme Teil 7 MySQL DML Die SELECT-Anweisung Mengenoperationen & Joins Stefan Maihack Dipl. Ing. (FH) Datum: 28.10.2005 1 Mengenoperationen Erst ab der MySQL-Version 4.0.0 wurden Teile von Mengenoperationen

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

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

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

Structured Query Language (SQL) 1

Structured Query Language (SQL) 1 Structured Query Language (SQL) 1 1. Grundlagen und Hilfsmittel Structured Query Language, kurz SQL, wurde in den 70er Jahren bei IBM entwickelt, als eine Arbeitsgruppe die erste relationale Datenbank

Mehr

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion. SQL,Teil 2: SELECT W. Spiegel Übersicht SELECT Mehrfache Werte vermeiden: SELECT DISTINCT Ausgabe ordnen: ORDER BY Projektion Selektion: WHERE Join mit SELECT Beispiel Aufgaben 1 SELECT Die SELECT-Anweisung

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

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

1.1 Datenbanken Tabellen SQL und die Befehlseingabe Beispieldatenbank 36

1.1 Datenbanken Tabellen SQL und die Befehlseingabe Beispieldatenbank 36 Vorwort 11 1 Einleitung 15 1.1 Datenbanken 21 1.2 Tabellen 29 1.3 SQL und die Befehlseingabe 29 1.4 Beispieldatenbank 36 2 Am Anfang 38 2.1 Aufrufen der SQL-Eingabemaske 38 2.2 Schließen der SQL-Eingabemaske

Mehr

Relationentheorie grundlegende Elemente

Relationentheorie grundlegende Elemente Relationentheorie grundlegende Elemente Symbol Bedeutung Entsprechung in SQL π AAAA Projektion SELECT σ F Selektion WHERE ρ Umbenennung RENAME; AS Natural Join NATURAL JOIN (nicht in MS SQL Server verwendbar)

Mehr

Übungsaufgaben mit Lösungen

Übungsaufgaben mit Lösungen Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 1 Übungsaufgaben mit Lösungen 1) Ausgabe sämtlicher Spalten der Tabelle DEPARTMENT. SELECT * FROM DEPARTMENT 2) Ausgabe aller Projektnummern und Projektnamen.

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

10 SQL-Basics: Erweiterte Abfragen mit SELECT Im Mittelpunkt dieses Kapitels steht nicht nur die einfache Auswahl von Spalten, sondern auch die

10 SQL-Basics: Erweiterte Abfragen mit SELECT Im Mittelpunkt dieses Kapitels steht nicht nur die einfache Auswahl von Spalten, sondern auch die 10 SQL-Basics: Erweiterte Abfragen mit SELECT Im Mittelpunkt dieses Kapitels steht nicht nur die einfache Auswahl von Spalten, sondern auch die Gestaltung eines Abfrageergebnisses mit Hilfe von Aggregatfunktionen

Mehr

Datenmanipulation in SQL. Select Anweisung

Datenmanipulation in SQL. Select Anweisung Datenmanipulation in SQL Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen mit

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt Some SQL Queries % you can use them with the project Buch/Verlag select Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf select DISTINCT Name, ort From Verkauf; selektiert Name und Ort

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

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

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

Abfragen aus mehreren Tabellen (mit join)

Abfragen aus mehreren Tabellen (mit join) Abfragen aus mehreren Tabellen (mit join) Bislang wurden nur einzelne Tabellen eingesetzt. Das reicht oft auch aus, doch sobald man etwas komplexere Webprojekte realisieren möchten, wird man kaum umhinkommen,

Mehr

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

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname  Age Gruppe Schmidt Hans Meisel Amelie Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch

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

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

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

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Datenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester 1999. CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);

Datenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester 1999. CREATE DOMAIN KennzeichenDomain AS VARCHAR(9); Institut für Angewandte Informatik AIFB und Formale Beschreibungsverfahren Universität Karlsruhe (TH) Prof. Dr. W. Stucky U. Schmidle Tel.: 0721 / 608-3812, 3509 Fax.: 0721 / 693717 e-mail: stucky schmidle

Mehr

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

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

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

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

Access Grundkurs. M. Eng. Robert Maaßen

Access Grundkurs. M. Eng. Robert Maaßen Access Grundkurs M. Eng. Robert Maaßen Wer steht da? M. Eng. Robert Maaßen ich@robertmaassen.de www.robertmaassen.de Studium: Informatik Vertiefungsrichtung Medientechnik, Diplom Ingenieur (FH), HAWK,

Mehr

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL.

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL. MySQL Was bieten Datenbanken? Zentralisation von Daten Maschinenunterstützte Weiterverarbeitung Daten werden vielen Benutzern gleichzeitig zur Verfügung gestellt Ausschalten von konkurrierenden Zugriffen

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

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

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

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