Informatik 9.Klasse SQL: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
(Gemischte SQL-Abfragen)
(Freie Übungsdatenbanken für SQL-Abfragen)
 
(44 dazwischenliegende Versionen von einem Benutzer 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]
  
<big>[[Übung 1: Gemischte SQL-Abfragen]]</big><br>
+
== Übungen mit Lösungen==
[[Übung 2: SQL-Abfragen über mehrere Tabellen]]
+
  
'''Schema:'''<br>
+
=== Datentypen in MySQL ===
<br>
+
<big>Übung 1: [[Zuordnungsübung Datentypen]]</big><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 ; BIP: DECIMAL(10,2) ]<br>
+
LANDKREIS [ <span style="text-decoration: underline;">Name</span> : VARCHAR(100) ; Bevölkerungsdichte : INT ; <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>
+
=== Schema erstellen ===
 +
<big>[[Übung 1: Schema aus Tabelle erstellen]]</big><br>
 +
<big>[[Übung 2: Schema aus Tabelle erstellen]]</big><br>
  
<u>Aufgabe 1:</u><br>
+
=== Klassendiagramm ===
Gib alle Informationen über Städte aus und sortiere sie absteigend nach der Anzahl ihrer Einwohner.
+
<big>Übung 1: [[Kardinalität bestimmen]]</big><br>
<popup name="Lösung">
+
<syntaxhighlight lang="sql">
+
SELECT *
+
FROM STADT
+
ORDER BY Einwohner DESC
+
</syntaxhighlight>
+
</popup>
+
  
<u>Aufgabe 2:</u><br>
+
=== Schlüsselkandidat und Primärschlüssel ===
Gib den Namen und das Geburtsdatum des Politikers aus, der Ministerpräsident von Bayern ist.
+
<big>Übung 1: [[Primärschlüssel 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>
+
=== Schema und Klassendiagramm ===
Gib den Namen der Städte und deren Vorwahlen aus, die im Bundesland Hessen liegen.
+
<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 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>
+
=== SQL-Abfragen ===
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: [[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 P.Vorname, P.Name
+
<big>Übung 4: [[SQL-Abfragen über mehrere Tabellen]]</big><br>
FROM STADT AS S, LANDKREIS AS L, BUNDESLAND AS B, POLITIKER AS P
+
<big>Übung 5: [[SQL-Abfragen über mehrere Tabellen II]]</big><br>
WHERE S.Name = "Augsburg" AND
+
<big>Übung 6: [[Gemischte SQL-Abfragen (Join, Datumsfunktionen, Aggregatfunktionen, Gruppierung, Sortierung)]]</big>
S.Landkreis = L.Name AND
+
L.Bundesland = B.Name AND
+
B.Ministerpräsident = P.ID
+
</syntaxhighlight>
+
</popup>
+
  
<u>Aufgabe 5:</u><br>
+
== Interaktive LearningApps ==
Gib die Anzahl der Einwohner je Landkreis (Tipp: Tabelle STADT) aus.
+
<popup name="Lösung">
+
<syntaxhighlight lang="sql">
+
SELECT Landkreis, SUM(Einwohner)
+
FROM STADT
+
GROUP BY Landkreis
+
</syntaxhighlight>
+
</popup>
+
  
<u>Aufgabe 6:</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 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>
+
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>
+
Welche Ministerpräsidenten (Name) regieren 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 P.Name = "Seehofer" AND P.Vorname = "Horst" AND
+
B.Fachgebiet = "Bildung" AND
+
P.ID = BT.P_ID AND
+
B.ID = BT.B_ID
+
</syntaxhighlight>
+
</popup>
+
 
+
<u>Aufgabe 12:</u><br>
+
Wie viele Berater stehen "Horst Seehofer" je Fachgebiet zur Verfügung?
+
<popup name="Lösung">
+
<syntaxhighlight lang="sql">
+
SELECT B.Fachgebiet, COUNT(B.ID)
+
FROM POLITIKER AS P, BERATER AS B, berät AS BT
+
WHERE P.Name = "Seehofer" AND P.Vorname = "Horst" AND
+
P.ID = BT.P_ID AND
+
B.ID = BT.B_ID
+
GROUP BY B.Fachgebiet
+
</syntaxhighlight>
+
</popup>
+

Aktuelle Version vom 11. März 2016, 07:57 Uhr

Inhaltsverzeichnis

Tutorials

Arbeiten mit SQLiteSpy (Tabellen erstellen,bearbeiten,löschen und Datensätze einfügen, ändern und löschen)

Freie Übungsdatenbanken für SQL-Abfragen

Übungen mit Lösungen

Datentypen in MySQL

Übung 1: Zuordnungsübung Datentypen

Schema erstellen

Übung 1: Schema aus Tabelle erstellen
Übung 2: Schema aus Tabelle erstellen

Klassendiagramm

Übung 1: Kardinalität bestimmen

Schlüsselkandidat und Primärschlüssel

Übung 1: Primärschlüssel bestimmen

Schema und Klassendiagramm

Übung 1: Klassendiagramm aus Schema erstellen
Übung 2: Klassendiagramm aus Schema erstellen

SQL-Abfragen

Übung 1: SQL-Abfragen über eine Tabelle
Übung 2: SQL-Abfragen mit Datumsfunktionen
Übung 3: Aggregatfunktionen und Gruppierung
Übung 4: SQL-Abfragen über mehrere Tabellen
Übung 5: SQL-Abfragen über mehrere Tabellen II
Übung 6: Gemischte SQL-Abfragen (Join, Datumsfunktionen, Aggregatfunktionen, Gruppierung, Sortierung)

Interaktive LearningApps

Gemischte SQL-Abfragen - Pferderennen (Multiplayer) (basiert auf dem Schema aus Übung 2: Klassendiagramm aus Schema erstellen)