|
|
| (52 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| == Übungen == | | == Tutorials == |
| | <big>[[Arbeiten mit SQLiteSpy]] (Tabellen erstellen,bearbeiten,löschen und Datensätze einfügen, ändern und löschen)</big><br> |
|
| |
|
| === Gemischte SQL-Abfragen === | | == Freie Übungsdatenbanken für SQL-Abfragen == |
| | *[http://dbup2date.uni-bayreuth.de/bundesliga.html Fussball Bundesliga Datenbank (Aktuelle Saison 2015/2016)] |
| | *[http://dbup2date.uni-bayreuth.de/wetterdaten.html Wetter Datenbank der Universität Bayreuth] |
|
| |
|
| '''Schema:'''<br>
| | == Übungen mit Lösungen== |
| <br>
| |
| <code>BUNDESLAND [ <span style="text-decoration: underline;">Name</span> : VARCHAR(100) ; <span style="text-decoration: overline;">Landeshauptstadt</span> : INT ; Einwohner : INT ; Fläche : INT ; <span style="text-decoration: overline;">Ministerpräsident</span> : INT ]<br>
| |
| LANDKREIS [ <span style="text-decoration: underline;">Name</span> : VARCHAR(100) ; Bevölkerungsdichte ; <span style="text-decoration: overline;">Bundesland</span> : VARCHAR(100) ]<br>
| |
| STADT [ <span style="text-decoration: underline;">ID</span> : INT ; Name : VARCHAR(100) ; Vorwahlen : VARCHAR(100) ; Webadresse : VARCHAR(100) ; Einwohner : INT ; <span style="text-decoration: overline;">Landkreis</span> : VARCHAR (100) ]<br>
| |
| POLITIKER [<span style="text-decoration: underline;">ID</span> : INT ; Name : VARCHAR(50) ; Vorname : VARCHAR(50) ; GebDat : DATE ] <br>
| |
| BERATER [ <span style="text-decoration: underline;">ID</span> : INT ; Name : VARCHAR(50) ; Vorname : VARCHAR(50) ; Fachgebiet : VARCHAR(100) ] <br>
| |
| berät [ <span style="text-decoration: underline overline;">B_ID</span> : INT ; <span style="text-decoration: underline overline;">P_ID</span> : INT] <br>
| |
| </code>
| |
| <br>
| |
| '''Vereinfachtes Klassendiagramm:'''<br>
| |
| [[Datei:Klassendiagramm Bund und Laender.png]]
| |
|
| |
|
| '''Formuliere für nachfolgende Aufgaben die zugehörige SQL-Abfrage!''' <br>
| | === Datentypen in MySQL === |
| | <big>Übung 1: [[Zuordnungsübung Datentypen]]</big><br> |
|
| |
|
| <u>Aufgabe 1:</u><br> | | === Schema erstellen === |
| Gib alle Informationen über Städte aus und sortiere sie absteigend nach der Anzahl ihrer Einwohner.
| | <big>[[Übung 1: Schema aus Tabelle erstellen]]</big><br> |
| <popup name="Lösung"> | | <big>[[Übung 2: Schema aus Tabelle erstellen]]</big><br> |
| <syntaxhighlight lang="sql">
| |
| SELECT *
| |
| FROM STADT
| |
| ORDER BY Einwohner DESC
| |
| </syntaxhighlight> | |
| </popup> | |
|
| |
|
| <u>Aufgabe 2:</u><br>
| | === Klassendiagramm === |
| Gib den Namen und das Geburtsdatum des Politikers aus, der Ministerpräsident von Bayern ist.
| | <big>Übung 1: [[Kardinalität bestimmen]]</big><br> |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT P.Name, P.GebDat
| |
| FROM POLITIKER AS P, BUNDESLAND AS B
| |
| WHERE B.Name = "Bayern" AND
| |
| B.Ministerpräsident = P.ID
| |
| </syntaxhighlight> | |
| </popup> | |
|
| |
|
| <u>Aufgabe 3:</u><br>
| | === Schlüsselkandidat und Primärschlüssel === |
| Gib den Namen der Städte und deren Vorwahlen aus, die im Bundesland Hessen liegen.
| | <big>Übung 1: [[Primärschlüssel bestimmen]]</big><br> |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql"> | |
| SELECT S.Name, S.Vorwahlen
| |
| FROM STADT AS S, LANDKREIS AS L
| |
| WHERE L.Bundesland = "Hessen" AND
| |
| S.Landkreis = L.Name
| |
| </syntaxhighlight> | |
| </popup> | |
|
| |
|
| <u>Aufgabe 4:</u><br> | | === Schema und Klassendiagramm === |
| Die Augsburger Bürger möchten einen Brief an ihren Ministerpräsidenten schreiben. Gib den Vornamen und Namen ihres Ministerpräsidenten aus.
| | <big>[[Übung 1: Klassendiagramm aus Schema erstellen]]</big><br> |
| <popup name="Lösung"> | | <big>[[Übung 2: Klassendiagramm aus Schema erstellen]]</big><br> |
| <syntaxhighlight lang="sql">
| |
| SELECT P.Vorname, P.Name
| |
| FROM STADT AS S, LANDKREIS AS L, BUNDESLAND AS B, POLITIKER AS P
| |
| WHERE S.Name = "Augsburg" AND
| |
| S.Landkreis = L.Name AND
| |
| L.Bundesland = B.Name AND
| |
| B.Ministerpräsident = P.ID
| |
| </syntaxhighlight> | |
| </popup> | |
|
| |
|
| <u>Aufgabe 5:</u><br> | | === SQL-Abfragen === |
| Gib die Anzahl der Einwohner je Landkreis aus.
| | <big>Übung 1: [[SQL-Abfragen über eine Tabelle]]</big><br> |
| <popup name="Lösung"> | | <big>Übung 2: [[SQL-Abfragen mit Datumsfunktionen]]</big><br> |
| <syntaxhighlight lang="sql"> | | <big>Übung 3: [[Aggregatfunktionen und Gruppierung]]</big><br> |
| SELECT Landkreis, SUM(Einwohner)
| | <big>Übung 4: [[SQL-Abfragen über mehrere Tabellen]]</big><br> |
| FROM STADT
| | <big>Übung 5: [[SQL-Abfragen über mehrere Tabellen II]]</big><br> |
| GROUP BY Landkreis
| | <big>Übung 6: [[Gemischte SQL-Abfragen (Join, Datumsfunktionen, Aggregatfunktionen, Gruppierung, Sortierung)]]</big> |
| </syntaxhighlight> | |
| </popup> | |
|
| |
|
| <u>Aufgabe 6:</u><br>
| | == Interaktive LearningApps == |
| Wie viele Städte hat der Landkreis "Deggendorf"?
| |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT COUNT(ID)
| |
| FROM STADT
| |
| WHERE Landkreis = "Deggendorf"
| |
| </syntaxhighlight>
| |
| </popup>
| |
|
| |
|
| <u>Aufgabe 7:</u><br> | | <big>[[Gemischte SQL-Abfragen - Pferderennen (Multiplayer)]] (basiert auf dem Schema aus '''Übung 2: Klassendiagramm aus Schema erstellen''')</big><br> |
| Wie viele Städte hat das Bundesland "Hessen"?
| |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT COUNT(S.ID)
| |
| FROM STADT AS S, LANDKREIS AS L
| |
| WHERE L.Bundesland = "Hessen" AND
| |
| S.Landkreis = L.Name
| |
| </syntaxhighlight>
| |
| </popup>
| |
| | |
| <u>Aufgabe 8:</u><br>
| |
| Welcher Ministerpräsident (Name) regiert ein Bundesland, das größer als 70 000[km<sup>2</sup>] ist?
| |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT P.Name
| |
| FROM POLITIKER AS P, BUNDESLAND AS B
| |
| WHERE B.Fläche > 70000 AND
| |
| P:ID = B.Ministerpräsident
| |
| </syntaxhighlight>
| |
| </popup>
| |
| | |
| <u>Aufgabe 9:</u><br>
| |
| An welchem Wochentag wurde "Horst Seehofer" geboren?
| |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT DAYNAME(GebDat)
| |
| FROM POLITIKER
| |
| WHERE Name = "Seehofer" AND Vorname = "Horst"
| |
| </syntaxhighlight>
| |
| </popup>
| |
| | |
| <u>Aufgabe 10:</u><br>
| |
| Gib eine Liste mit den Namen aller Ministerpräsidenten und deren Alter im Jahr 2015 aus!
| |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT Name, 2015 - YEAR(GebDat)
| |
| FROM POLITIKER
| |
| </syntaxhighlight>
| |
| </popup> | |
| | |
| <u>Aufgabe 11:</u><br>
| |
| Welche Berater (Name, Vorname) beraten "Horst Seehofer" im Fachgebiet "Bildung"?
| |
| <popup name="Lösung">
| |
| <syntaxhighlight lang="sql">
| |
| SELECT B.Name, B.Vorname
| |
| FROM POLITIKER AS P, BERATER AS B, berät AS BT
| |
| WHERE Name = "Seehofer" AND Vorname = "Horst" AND
| |
| B.Fachgebiet = "Bildung" AND
| |
| P.ID = BT.P_ID AND
| |
| B.ID = BT.B_ID
| |
| </syntaxhighlight>
| |
| </popup>
| |