Nutzung und Modellierung von Datenbanken

Slides:



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

Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
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
Auswertung im GTDS fixe Abläufe für Standard-Aufgaben Mamma-Auswertung
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
SQL - Structured Query Language AIFB SS (1/3) Bildung von Gruppen (Group)(1/3) Zusammenfassung von Zeilen mit demselben Wert in einer vorgegebenen.
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.
SQL-Datentypen INTEGER
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Datenbankentwicklung IV-LK
Datenbanken Mehr als Tabellen.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Datenbankentwicklung IV-LK
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Datenbanken?.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
SQL Überblick Abfragen aus einer Tabelle
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Aggregatsfunktion SQL = Structured Query Language.
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Am Beispiel der Tabelle Crew des Raumschiffes Enterprise
Relationale Datenbanken IV
Verdichten von Daten mit Gruppenfunktionen
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Naturwissenschaftlich-technologische Ausbildungsrichtung in der 8., 9. und 10. Jahrgangsstufe.
Erste Einführung in SQL
Structured Query Language
Vorlesung #5 SQL (Teil 2).
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:
PHPmyadmin Maya Kindler 6c.
Datenbanken abfragen mit SQL
Phonetische Übung Deutschland Europa die Hauptstadt grenzen das Bundesland (die Bundesländer) die Staatssprache die Sehenswürdigkeit (-en)
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
MONITOR - Materialverfolgung...vom Lieferanten über den Wareneingang bis zum Kunden... weiter.
Ein Dozent hat mittels eines Fragebogens die Körpergröße seiner Studenten festgestellt. Anhand der erfassten Daten weiß er, dass der kleinste Student 158.
Einiges über Deutschland. Die deutschsprachigen Länder liegen im Zentrum Europas. Das ist vor allem die BRD (Bundesrepublik Deutschland) oder Deutschland.
China Rallye Bearbeitet von Name.
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Aggregatfunktionen bei mehreren Tabellen
Sortierte Datenbankabfragen
Vorlesung #5 SQL (Teil 2).
Aggregatfunktionen.
Vorlesung #6 SQL (Teil 3).
Wirtschaftsinformatik
Herzlich Willkommen! Name der Stadt Name des Schülers
BERLIN.
Sichten.
Beispiele zur Datenänderung
Einfache Funktionen in Excel
Textmuster.
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Daten & Fakten zum Bundesland und der Bundeshauptstadt
Datenbank WI WAHB12 Carolin & Sarah.
Herzlich Willkommen! Stockholm Mein Name
2.3 Gruppierte Datensätze
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
(Structured Query Language)
 Präsentation transkript:

Nutzung und Modellierung von Datenbanken Quelle: openclipart.org, Lizenz: Public Domain Vertiefung SQL T. Fruth

Inhalt SQL-Aliases Berechnungen mit SQL Aggregatfunktionen Gruppierungen Weitere SQL-Funktionen Zur Information: Alle Aufgaben und SQL-Statements in dieser Präsentation beziehen sich auf die Terra-Datenbank (Endversion), siehe nächste Folie.

Relationenmodell Terra Quelle: inf-schule.de, Lizenz: inf-schule

1 SQL-Aliases

SQL-Aliases (1) Gib die Namen aller Weltmetropolen mit mehr als 10 Mio. Einwohner und die Namen der entsprechenden Länder absteigend nach Einwohnerzahl sortiert aus. SELECT ort.Name, ort.Einwohner, land.Name FROM ort, land WHERE ort.LNR = land.LNR AND ort.Einwohner > 10000000 ORDER BY ort.Einwohner DESC; Die Spaltenbezeichnungen der Ausgabe sind ungünstig gewählt. Das liegt daran, weil die originären Spaltenbezeichnungen der entsprechenden Tabellen der Datenbank verwendet wurden.

SQL-Aliases (2) Gib die Namen aller Weltmetropolen mit mehr als 10 Mio. Einwohner und die Namen der entsprechenden Länder absteigend nach Einwohnerzahl sortiert aus. SELECT ort.Name AS Metropole, ort.Einwohner, land.Name AS Land FROM ort, land WHERE ort.LNR = land.LNR AND ort.Einwohner > 10000000 ORDER BY ort.Einwohner DESC; BESSER!

Einfache Berechnungen 2 Einfache Berechnungen mit SQL

Einfache Berechnungen Gib die Bevölkerungsdichte (in Einwohner / km²) aller Europäischen Länder aus. Beachte: In der land-Tabelle werden die Einwohner in Millionen angegeben. SELECT land.Name, land.Einwohner * 1000000 / land.Flaeche AS BevDichte FROM land, kontinent WHERE land.KNR = kontinent.KNR AND kontinent.Name = 'Europa' ORDER BY BevDichte DESC; Terme unter Verwendung der Operatoren +, -, * und / sind im SELECT-Teil erlaubt. Zusatzaufgabe: Ändern Sie die Abfrage so ab, dass die Bevölkerungsdichte in 1000 Einwohner / km² angegeben wird.

3 Berechnungen mit Aggregatfunktionen

Aggregatfunktionen (1) Eine Aggregatfunktion ist eine Funktion, die gewisse Eigenschaften von Daten zusammenfasst. Quelle: wikipedia Die Aggregatfunktionen im Überblick Funktion Ergebnis COUNT (<Datenfeld>) Anzahl der Einträge in diesem Datenfeld. AVG (<Datenfeld>) Durchschnitt aller Werte in diesem Datenfeld. MAX (<Datenfeld>) Maximum aller Werte in diesem Datenfeld. MIN (<Datenfeld>) Minimum aller Werte in diesem Datenfeld. SUM (<Datenfeld>) Summe aller Werte in diesem Datenfeld. Quelle: Fischer, Knapp, Neupert, Grundlagen der Informatik II, Oldenbourg-Verlag, 1. Auflage, München, 2006

Aggregatfunktionen (2) Wie viele Länder gibt es auf der Erde? SELECT COUNT(*) AS AnzLänder FROM land; Wie viele Orte mit dem Namen „Berlin“ gibt es auf der Erde? SELECT COUNT(ort.Name) AS AnzahlBerlins FROM ort WHERE ort.Name = 'Berlin';

Aggregatfunktionen (3) Wie viele Menschen leben in deutschen Orten im Schnitt? SELECT AVG(ort.Einwohner) AS durchSchnEinw FROM ort, land WHERE ort.LNR = land.LNR AND land.Name='Deutschland';

Aggregatfunktionen (4) Die restlichen Aggregatfunktionen funktionieren analog. Formulieren Sie für folgende Fragestellungen jeweils eine Abfrage: Wie viele Einwohner hat der größte Ort der Welt? Wie groß (Fläche) ist das kleinste Land der Welt? Wie viele Menschen gibt es auf der Welt?

Aggregatfunktionen (5) Bisher waren die Fragestellungen recht einfach, da das Ergebnis nur aus einer einzelnen Zahl (z.B. Anzahl Länder der Erde oder durchschnittliche Einwohner pro Land, …) bestand. Man spricht hier von statistischen Daten. Schauen wir uns nun komplexere Fragestellungen an…

4 Gruppierungen

Gruppierungen (1) Mit SQL ist es möglich, einen Datenbestand zunächst einmal in einzelne Gruppen einzuteilen und auf diese Gruppen dann jeweils eine Aggregatfunktion anzuwenden. Mit diesem Prinzip kann man nun komplexere Fragestellungen an einen Datenbestand beantworten…

Gruppierungen (2) Gib die Anzahl der deutschen Orte je Bundesland (Landesteil) aus. Aggregatfunktion SELECT ort.landesteil AS Bundesland, COUNT(*) AS AnzahlOrte FROM ort, land WHERE ort.LNR = land.LNR AND land.Name='Deutschland' GROUP BY ort.landesteil; Gruppierung Man erkennt in der Fragestellung, dass sich eine Abfrage nicht auf eine ganze Tabelle, sondern auf einzelne Gruppen (hier: Bundesländer) einer Tabelle bezieht. Auf die einzelnen Gruppen kann man dann eine Aggregatfunktion anwenden (hier: COUNT).

Gruppierungen (3) Gib für jeden Kontinent die durchschnittliche Größe (Fläche) seiner Länder an. SELECT kontinent.Name AS Kontinent, AVG(land.Einwohner) AS durchSchnEinwJeLand FROM land, kontinent WHERE land.KNR = kontinent.KNR GROUP BY kontinent.Name;

Gruppierungen (4) Man kann das Ergebnis einer Gruppierung auch einschränken. Wir haben bereits die Anzahl der Orte je Bundesland mit einer gruppierenden Abfrage bestimmt. SELECT ort.landesteil AS Bundesland, COUNT(*) AS AnzahlOrte FROM ort, land WHERE ort.LNR = land.LNR AND land.Name='Deutschland' GROUP BY ort.landesteil; In einer nächsten Abfrage sollen die deutschen Stadtstaaten aus dem Ergebnis herausgenommen werden, also nur jene Bundesländer angezeigt werden, die mehr als einen Ort aufweisen.

Gruppierungen (5) SELECT ort.landesteil AS Bundesland, COUNT(*) AS AnzahlOrte FROM ort, land WHERE ort.LNR = land.LNR AND land.Name='Deutschland' GROUP BY ort.landesteil; SELECT ort.landesteil AS Bundesland, COUNT(*) AS AnzahlOrte FROM ort, land WHERE ort.LNR = land.LNR AND land.Name='Deutschland' GROUP BY ort.landesteil HAVING COUNT(*) > 1; Vergewissern Sie sich selbst, dass die Abfrage das gewünschte Ergebnis liefert. ODER SELECT ort.landesteil AS Bundesland, COUNT(*) AS AnzahlOrte FROM ort, land WHERE ort.LNR = land.LNR AND land.Name='Deutschland' GROUP BY ort.landesteil HAVING AnzahlOrte > 1; Es können auch Aliasnamen in der HAVING-Klausel verwendet werden.

weiteren SQL-Funktionen 5 Berechnungen mit weiteren SQL-Funktionen

Weitere SQL-Funktionen Es gibt weitere, vordefinierte SQL-Funktionen. Ein Liste finden Sie z.B. hier. Überlegen Sie sich selbst Abfragen an die Terra-DB unter Verwendung weiterer SQL-Funktionen.