SQL - Structured Query Language  AIFB SS 2001 1 (1/3) 2.3.6 Verknüpfung von Relationen (Join)(1/3) Anfragen mit Join („Natural Join“) 22. „Alle Projekte.

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Bauinformatik II Softwareanwendungen 1
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Inner Joins.
MySQL Der Einstieg.
Delphi-Datenbankkomponenten
Das Relationenmodell 1.
Erstellen einer Datenbank
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Einführung Dateisystem <-> Datenbanksystem
Aufgabe April 2004Übung Data Warehousing2 1: Accounts 'gruppe ' auf ' morawetz ' (IP: !) Oracle-Account gleichen Namens SQL*Plus:
© Katharina Brachmann Einfache Datenbankabfragen Buch S81ff (Informatik I, Oldenbourg-Verlag)
Relationentheorie AIFB SS a c d b e Beispiel 1-13: s:(U | F) U = {a, b, c, d, e}; F = {ab c, c d, b e} Dritte Normalform (3NF) Dritte.
Rel-Modell Relationenspezifische Operationen (3|21) (B) Selektion: Auswahl von Tupeln sei b = geeignete Bedingung (Selektionsbedingung):
SQL - Structured Query Language AIFB SS (2/9) Anfragen mit Bedingungen ( )(2/9) angestellte ANG-NRNAMEWOHNORTABT-NR 3115 MeyerKarlsruhe35.
SQL - Structured Query Language AIFB SS (1/7) Verknüpfung von Relationen mit Subqueries (1/7) 32. Namen aller Angestellten, die mit 100 %
SQL - Structured Query Language AIFB SS (1/3) Bildung von Gruppen (Group)(1/3) Zusammenfassung von Zeilen mit demselben Wert in einer vorgegebenen.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Rel-Modell Relationenspezifische Operationen (7|21) Beispiel 8-9: Betrachte angestellte1 – projekt1 – ang-pro1 Gesucht: Name / Proz-Arbzeit.
Datenbanken IFB 2002 Klaus Becker.
Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II.
SQL Überblick Abfragen aus einer Tabelle
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
Einschub Normalisierung-Denormalisierung
Einschub Normalisierung-Denormalisierung
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Datenbanksysteme für hörer anderer Fachrichtungen
7.3.1 Ein Modellierungsbeispiel (1|9)
Freiwillige Feuerwehr der Stadt Perg
Aggregatsfunktion SQL = Structured Query Language.
Mengenoperationen (1/3)
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Semantische Integritätsbedingungen AIFB SS assert-Klausel (2/6) Beispiel 3-2: Angestellter: (Ang-Nr, Ang-Name, Gehalt, Familienstand, Abt-Bez).
Structured Query Language
Erste Einführung in SQL
Structured Query Language
Grundlagen des Relationenmodells
Relationentheorie  AIFB SS Schlüssel / Schlüsselattribute / Nichtschlüsselattribute (2|4) Algorithmus zur Bestimmung aller Schlüssel.
Wiederholung Der wichtigste Befehl zur Datenmanipulation lautet:
1 Sichten-Änderungen (1) Änderungen von Sichten sind i.d.R. problematisch, da sie in entsprechende Änderungen der Basisrelationen überführt werden müssen.
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
Rel-Modell Schema (3|8) Beispiel 8-12: Rel. Datenbank-Schema (beispielhaft) für eine rel. DB mit den Relationen angestellte1, projekt1.
Semantische Integritätsbedingungen  AIFB SS trigger-Klausel (2/5) Beispiel 3-5: Angestellter: (Ang-Nr, Ang-Name, Gehalt,Familienstand, Abt-Bez).
Relationentheorie  AIFB SS Funktionale Abhängigkeiten – Definition und Eigenschaften U Attributmenge; A, B, …  U r: (U | F) Relation über U.
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Anfragen auf Sammlungen(1/29) OQL besteht aus einer Menge von Anfrageausdrücken, die.
Einführung Dateisystem <-> Datenbanksystem
Relationentheorie  AIFB SS Semantische Integritätsbedingungen (1|7) Eine „semantische Integritätsbedingung“ (sIB)  über der Attributmenge.
Relationentheorie  AIFB SS Zerlegung Zerlegung (1|6) 1.Die funktionalen Abhängigkeiten müssen erhalten bleiben („fA-erhaltend“). 2.Die.
Rel-Modell Modellierung der Realwelt im relationalen Datenmodell (1|5) Beispiel 8-5: Objekte:Angestellte, Projekte Beziehungen:Angestellte.
1 Syntaktische Grundform selectA 1, A 2, …, A n fromR 1, R 2, …, R m wherebedingung w ;
SQL - Structured Query Language  AIFB SS (1/6) Spezielle Anfragen an eine Relation(1/6) projekt P-NAMEP-NRP-FILIALEP-LEITER p Karlsruhe3115.
ER-Modell Beziehungen und Beziehungstypen (1|5) Beziehung (relationship) (b): Zwei oder mehr Objekte können miteinander in Beziehung.
Datenbanken abfragen mit SQL
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
SQL Join.
SQL Join.
(Structured Query Language)
 Präsentation transkript:

SQL - Structured Query Language  AIFB SS (1/3) Verknüpfung von Relationen (Join)(1/3) Anfragen mit Join („Natural Join“) 22. „Alle Projekte mit den Informationen der zugehörigen Angestellten.“ SELECT FROM WHERE P-NR, a.ANG-NR, NAME, WOHNORT, ABT-NR, PROZ-ARBZEIT angestellte a, ang-pro ap a.ANG-NR=ap.ANG-NR; Qualifikation mit Aliasnamen Animation und Ergebnis dieses Beispiels (siehe Seite 68) Animation vom Projekt Vikar Kartesisches Produkt Kartesisches Produkt „Natural Join“ Join mit Auswahlbedingung 23. „Alle Projekt-Nummern mit den Namen derjenigen Angestellten, die zu 50% mitarbeiten.“ SELECT FROM WHERE P-NR, NAME angestellte a, ang-pro ap a.ANG-NR=ap.ANG-NR AND PROZ-ARBZEIT=50; Animation und Ergebnis dieses Beispiels (siehe Seite 69)

SQL - Structured Query Language  AIFB SS (2/3) Verknüpfung von Relationen (Join)(2/3) Anfragen mit Join (allgemein  -Join) 24. „Gib für jedes Projekt die Projektnummer und die Namen aller Angestellten an, die dort nicht Projektleiter sind.“ (Angestellter muß nicht an Projekt mitarbeiten) SELECT FROM WHERE P-NR, NAME angestellte, projekt ANG-NR <> P-LEITER; Join mit 3 Relationen 25. „Gib für jeden Angestellten seinen Namen, sowie die Projekt-Filialen der Projekte an, an denen er mitarbeitet.“ SELECT FROM WHERE angestellte a, ang-pro ap, projekt p a.ANG-NR=ap.ANG-NR AND ap.P-NR=p.P-NR; NAME, P-FILIALE Animation und Ergebnis dieses Beispiels (siehe Seite 71) Animation und Ergebnis dieses Beispiels (siehe Seite 70)

SQL - Structured Query Language  AIFB SS (3/3) Verknüpfung von Relationen (Join)(3/3) Join mit derselben Relation Verwendung von Alias-Namen & Qualifikation 26. „Suche Paare von (unterschiedlichen) Angestellten(Ang-Nr,Name), die in der selben Stadt wohnen.“ (Das Ergebnis sollte keine redundanten Angaben enthalten) SELECT FROM WHERE a.NAME A-NAME, b.NAME B-BNAME angestellte a, angestellte b a.WOHNORT=b.WOHNORT AND a.NAME < b.NAME; ANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe MüllerMannheim KleinMannheim32 ANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe MüllerMannheim KleinMannheim32 (kartesisches Produkt) ANG-NRNAMEWOHNORTABT-NRANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe353115MeyerKarlsruhe MeyerKarlsruhe353207MüllerMannheim MeyerKarlsruhe352814KleinMannheim MüllerMannheim303115MeyerKarlsruhe MüllerMannheim303207MüllerMannheim MüllerMannheim302814KleinMannheim KleinMannheim323115MeyerKarlsruhe KleinMannheim323207MüllerMannheim KleinMannheim322814KleinMannheim32 Ergebnis: A-NAMEB-NAME KleinMüller a b

SQL - Structured Query Language  AIFB SS ANG-NRNAMEWOHNORTABT-NRP-NRANG-NRPROZ-ARBZEIT 3115MeyerKarlsruhe MeyerKarlsruhe MeyerKarlsruhe MeyerKarlsruhe MeyerKarlsruhe KleinMannheim KleinMannheim KleinMannheim KleinMannheim KleinMannheim SchmittHeidelberg SchmittHeidelberg SchmittHeidelberg SchmittHeidelberg SchmittHeidelberg Beispiel für „Natural Join“ SELECT FROM WHERE P-NR, a.ANG-NR, NAME, WOHNORT, ABT-NR,PROZ-ARBZEIT angestellte a, ang-pro ap a.ANG-NR=ap.ANG-NR; ANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe KleinMannheim SchmittHeidelberg35 P-NRANG-NRPROZ-ARBZEIT kartesisches Produkt Ergebnis: P-NR ANG- NR NAMEWOHNORT ABT- NR PROZ- ARBZEIT MeyerKarlsruhe MeyerKarlsruhe KleinMannheim KleinMannheim SchmittHeidelberg35100

SQL - Structured Query Language  AIFB SS Beispiel für Join mit Auswahlbedingung ANG-NRNAMEWOHNORTABT-NRP-NRANG-NRPROZ-ARBZEIT 3115MeyerKarlsruhe MeyerKarlsruhe MeyerKarlsruhe MeyerKarlsruhe MeyerKarlsruhe KleinMannheim KleinMannheim KleinMannheim KleinMannheim KleinMannheim SchmittHeidelberg SchmittHeidelberg SchmittHeidelberg SchmittHeidelberg SchmittHeidelberg SELECT FROM WHERE P-NR, NAME angestellte a, ang-pro ap a.ANG-NR=ap.ANG-NR AND PROZ-ARBZEIT=50; ANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe KleinMannheim SchmittHeidelberg35 P-NRANG-NRPROZ-ARBZEIT (kartesisches Produkt) Ergebnis: P-NRNAME Meyer Meyer

SQL - Structured Query Language  AIFB SS Beispiel für Abfragen mit Join (allgemein  -Join) SELECT FROM WHERE P-NR, NAME angestellte, projekt ANG-NR <> P-LEITER; ANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe KleinMannheim SchmittHeidelberg35 (kartesisches Produkt) P-NAMEP-NRP-FILIALEP-LEITER p Karlsruhe3115 p Karlsruhe3115 p Heidelberg1324 P Mannheim2814 ANG-NRNAMEWOHNORTABT-NRP-NAMEP-NRP-FILIALEP-LEITER 3115MeyerKarlsruhe35p Karlsruhe3115 MeyerKarlsruhe35p Karlsruhe3115 MeyerKarlsruhe35p Heidelberg MeyerKarlsruhe35P Mannheim2814 KleinMannheim32p Karlsruhe KleinMannheim32p Karlsruhe KleinMannheim32p Heidelberg KleinMannheim32P Mannheim SchmittHeidelberg35p Karlsruhe SchmittHeidelberg35p Karlsruhe SchmittHeidelberg35p Heidelberg1324 SchmittHeidelberg35P Mannheim2814 Ergebnis: P-NRNAME Meyer Meyer Klein Klein Klein Schmitt Schmitt Schmitt

SQL - Structured Query Language  AIFB SS Beispiel für Join mit 3 Relationen SELECT FROM WHERE angestellte a, ang-pro ap, projekt p a.ANG-NR=ap.ANG-NR AND ap.P-NR=p.P-NR; P- NAME P-NR P- FILIALE P- LEITER p Karlsruhe3115 p Karlsruhe3115 P-NRANG-NRPROZ-ARBZEIT ANG-NRNAMEWOHNORT ABT- NR P-NRANG-NR PROZ- ARBZEIT P- NAME P-NR P- FILIALE P- LEITER 3115MeyerKarlsruhe p Karlsruhe3115 MeyerKarlsruhe p Karlsruhe3115 MeyerKarlsruhe p Karlsruhe3115 MeyerKarlsruhe p Karlsruhe KleinMannheim p Karlsruhe KleinMannheim p Karlsruhe KleinMannheim p Karlsruhe KleinMannheim p Karlsruhe3115 NAME, P-FILIALE ANG-NRNAMEWOHNORTABT-NR 3115MeyerKarlsruhe KleinMannheim32 ANG-NRNAMEWOHNORT ABT- NR P-NRANG-NR PROZ- ARBZEIT 3115MeyerKarlsruhe MeyerKarlsruhe KleinMannheim KleinMannheim (kartesisches Produkt) (kartesische Produkt) Ergebnis: NAMEP-FILIALE MeyerKarlsruhe KleinKarlsruhe