Datenbanksysteme für hörer anderer Fachrichtungen

Slides:



Advertisements
Ähnliche Präsentationen
Sicherheitsaspekte Sicherheit im DBMS
Advertisements

ER-Datenmodell und Abfragen in SQL
Bauinformatik II Softwareanwendungen 1
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 2 SQL Anfragen.
Kapitel 2 SQL Anfragen.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Übung Datenbanksysteme SQL-Anfragen (2)
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbankentwicklung IV-LK
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
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)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 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 #8 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Befehle in SQL Erläuterungen.
Einführung in Datenbankmodellierung und SQL
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Relationales Datenmodell und DDL
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
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.
Relationale Datenbanken IV
Verdichten von Daten mit Gruppenfunktionen
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Structured Query Language
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Vorlesung #5 SQL (Teil 2).
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
RelationentheorieObjektorientierte Datenbanken  AIFB SS Anfragen auf Sammlungen(1/29) OQL besteht aus einer Menge von Anfrageausdrücken, die.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
1 Gruppierung, Aggregierung und Sortierung (1) Finde für jeden Flugzeugtyp die Zahl aller von Frankfurt abgehenden Flüge und sortiere Ergebnis nach Flugzeugtyp:
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
 standardisierte -Datendefinitionssprache (DDL) -Datenmanipulationssprache (DML) -Anfragesprache (Query)  derzeit aktueller Standard ist SQL 3  objektrelationale.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 SQL (Teil 2).
Vorlesung #6 SQL (Teil 3).
Vorlesung #7 SQL (Teil 4).
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Indexierung Oracle: indexes Indexierung.
Nutzung und Modellierung von Datenbanken
2.3 Gruppierte Datensätze
(Structured Query Language)
 Präsentation transkript:

Datenbanksysteme für hörer anderer Fachrichtungen SQL - Zusammenfassung Datenbanksysteme für hörer anderer Fachrichtungen

SQL-Zusammenfassung Gerüst einer SQL-Anfrage Duplikate mit DISTINCT eliminieren (hoher Rechenaufwand!) Reihenfolge der Statements in der Query muss eingehalten werden Ziffern geben Reihenfolge der Abarbeitung an

SQL-Zusammenfassung Prädikate kombinierbar (AND, OR, NOT) Where-Klausel Prädikate kombinierbar (AND, OR, NOT) Einsatz von Vergleichsoperatoren Strings müssen in einfachen Anführungszeichen stehen Liefert nur Tupel, für die die Bedingung gleich true ist Suche mit Platzhaltern (Wildcards): „_“  beliebiges Zeichen + LIKE „%“  beliebige Zeichenkette + LIKE Beispiel: SELECT * FROM Student WHERE Name LIKE ‚K%‘ AND Semster > 9;

SQL-Zusammenfassung Repräsentieren Werte, die NULL-Werte Repräsentieren Werte, die unbekannt, nicht verfügbar oder nicht anwendbar sind SQL hat eine dreiwertige Logik true unknown  bei AND-Verknüpfung gesamte Bedingung unknown false In Gruppierung als eigene Gruppe dargestellt

SQL-Zusammenfassung Kreuzprodukt (wenig sinnvoll) Anfragen über mehrere Relationen Kreuzprodukt (wenig sinnvoll) Joins (stehen in der WHERE-Klausel, bevorzugte Variante) Namenskonflikte auflösen Beispiel: SELECT s.Name, v.Titel FROM Studenten s, hoeren h, Vorlesungen v WHERE s.MatrNr = h.MatrNr AND h.VorlNr = v.VorlNr

SQL-Zusammenfassung Mengenoperationen Vereinigung UNION (Duplikate werden automatisch eliminiert!) Schnitt INTERSECT Differenz EXCEPT Voraussetzung: Gleiches Schema der verknüpften Relationen! Beispiel: (SELECT Name FROM Assistenten) UNION (SELECT Name FROM Professoren)

SQL-Zusammenfassung Sortieren des Ausgabetupel über ORDER BY Sortierung Sortieren des Ausgabetupel über ORDER BY Aufsteigend (ASC) – Defaultwert Absteigend (DESC)

SQL-Zusammenfassung Mehrere SELECT-Statements in einer Anfrage Geschachtelte Anfragen Mehrere SELECT-Statements in einer Anfrage Inneres Anfrageergebnis wird in äußerer Anfrage verwendet Zwei Arten geschachtelter Anfragen Korreliert (Unteranfrage bezieht sich auf äußere Anfrage) Unkorreliert (Unteranfrage bezieht sich nur auf „eigene“ Attribute) Unkorrelierte Anfragen sind effizienter (Unteranfrage wird nur einmal ausgewertet) Beispiele: SELECT p.Name FROM Professoren p WHERE NOT EXISTS(SELECT * FROM Vorlesungen v WHERE v.gelesenVon = p.PersNr);

SQL-Zusammenfassung Durchschnitt AVG(*) Maximum MAX(*) Minimum MIN(*) Aggregatfunktionen und Gruppierung Durchschnitt AVG(*) Maximum MAX(*) Minimum MIN(*) Summe SUM(*) Anzahl COUNT(*) Alle in der SELECT-Klausel gelisteten Attribute müssen auch in der GROUP BY-Klausel stehen! Beispiel: SELECT gelesenVon, Name, SUM(SWS) FROM Vorlesungen, Professoren WHERE gelesenVon = PersNr AND Rang = `C4` GROUP BY gelesenVon, Name HAVING AVG(SWS) >= 3;

SQL-Zusammenfassung Temporäre Tabellen Verwendung einer Ergebnismenge aus einer Unteranfrage Umbenennung dieser in eine „temporäre Tabelle“ Beispiel: SELECT tmp.MatrNr,tmp.Name,tmp.VorlAnzahl FROM (SELECT s.MatrNr, s.Name, COUNT(*) AS VorlAnzahl FROM Studenten s, hoeren h WHERE s.MatrNr = h.MatrNr GROUP BY s.MatrNr, s.Name HAVING COUNT(*) > 2) tmp;

SQL-Zusammenfassung Inner join Left, right oder full outer join Joins Inner join Left, right oder full outer join Beispiel: SELECT p.PersNR,p.Name,f.PersNr from Professoren p, prüfen f left outer join on p.PersNr=f.PersNR

SQL-Zusammenfassung Insert into zum Einfügen von Tupeln durch Anfrage Veränderung am Datenbestand Insert into zum Einfügen von Tupeln durch Anfrage Bsp: INSERT INTO hören SELECT MatrNr, VorlNr FROM Stundenten, Vorlesungen WHERE Titel=‚Logik‘ Import zum Einfügen von Tupeln aus Dateien Delete und Update zum Löschen und Verändern von Datensätzen (nur Inhalt) DROP und ALTER zum Verändern des Schemas (Löschen ganzer Tabellen bzw. Verändern von Spalten)

SQL-Zusammenfassung Sichten Oft verwendet, um Anfragen übersichtlicher zu gestalten Stellen eine Art „virtuelle Relation“ dar Für den Datenschutz und Statistik verwendet spart Speicherplatz, kostet Rechenzeit im vergleich zu CREATE TABLE Bsp: CREATE VIEW prüfenSicht AS SELECT MatrNr, VorlNr, PersNr FROM prüfen

SQL-Zusammenfassung Webressource http://www.w3schools.com/sql/