Herzlich willkommen,

liebe Schülerinnen und Schüler der Klasse 10d am DBG!

Neu laden - phpMyAdmin
www.10d.dbg-db.de/00Alle
Voreingestellten SQL-Code bearbeiten


Aktuelles Thema (24.11.2023): AKL-Besprechung und Einfügen von Daten mit SQL

1. Rückgabe und Besprechung des AKL

2. Effektives Einfügen von Daten mit SQL
Bearbeite das Arbeitsblatt DB10_DML_Klassenzimmer.pdf (ca. 293 kB).

Bitte von zu Hause aus in phpMyAdmin einloggen und die Daten in die Datenbank importieren!

Zugriff auf Dein Home-Laufwerk in der Schule aus dem Internet ("über die Cloud"):

    www.cloud.gym-oberasbach.de
 

Frühere Themen

Datenbankschema ein-/ausblenden:
Land und Ort - Model - Sortiment - Wahlkurs - Fächer - Elektromarkt - Flüsse -

Ergebnis: 17 Datensätze

ANrErgebnis
5SELECT * FROM BELEGT:  Es gibt 12 Wahlfach-Belegungen.
Die (ehemals voreingestellte) Abfrage:
SELECT s.Name, s.Vorname, s.Klasse, w.Kurs, w.Tag, w.Uhrzeit, w.LNr
FROM SCHUELER s, WAHLKURS w, BELEGT b
WHERE s.SNr = b.SNr AND w.Kurs = b.Kurs
ORDER BY w.Kurs, s.Name, s.Vorname

Die Einzelbuchstaben bei FROM  dienen als Abkürzung.
Man muss damit bei der Angabe der in der Ergebnistabelle gewünschten Attribute (bei SELECT ...) nicht den Tabellen-Namen einem Attribut voranstellen, es genügt der Abkürzungsbuchstabe:
Also:  SELECT s.Name, ...  anstelle von  SELECT SCHUELER.Name, ...
Die Angaben nach SELECT  legen fest, welche Attribute (aus welchen Tabellen) in der Ergebnistabelle angezeigt werden sollen.
Die Bedingungen nach WHERE   sorgen dafür, dass nur Datensätze aus SCHUELER s und WAHLKURS w miteinander kombiniert werden, für die es in BELEGT b einen entsprechenden Eintrag von SNr und Kurs gibt.
6SQL-Abfrage, die als Ergebnis eine Tabelle liefert mit den Kürzeln und Namen aller Lehrkräfte und nur den Fächern (FNr und Fachname), die von ihnen auch tatsächlich unterrichtet werden:
SELECT l.LNr, l.Name, f.FNr, f.Fach
FROM LEHRER l, FACH f, LEHRT t
WHERE l.LNr = t.LNr AND f.FNr = t.FNr
ORDER BY l.Name, f.FNr
7Gesucht sind die Kürzel und Namen der Lehrkräfte mit den Fächern (FNr und Fachname), die sie aktuell in der Klasse 10d unterrichten, alphabetisch sortiert nach dem Fachnamen:
SELECT l.LNr, l.Name, f.FNr, f.Fach
FROM LEHRER l, FACH f, LEHRT t
WHERE l.LNr = t.LNr AND f.FNr = t.FNr AND in10d = 1
ORDER BY f.Fach
8Wie ANr = 7, gesucht sind aber nur die Kernfach-Lehrkräfte mit ihrem jeweiligen Kernfach:
SELECT l.LNr, l.Name, f.FNr, f.Fach
FROM LEHRER l, FACH f, LEHRT t
WHERE l.LNr = t.LNr AND f.FNr = t.FNr AND in10d = 1 AND f.Kernfach = 1
ORDER BY f.Fach
9Gesucht ist eine Tabelle mit allen Fächern und der Anzahl der Lehrkräfte der 10d, die diese Fächer unterrichten (unabhängig davon, ob in der 10d oder nicht), absteigend sortiert nach der Anzahl:
SELECT f.Fach, COUNT(*) AS "Anzahl der Lehrkräfte"
FROM LEHRER l, FACH f, LEHRT t
WHERE l.LNr = t.LNr AND f.FNr = t.FNr
GROUP BY f.Fach
ORDER BY COUNT(*) DESC
10Elektromarkt
a) Welche Mitarbeiter (Name, Vorname) arbeiten in Nürnberg?
SELECT m.Name, m.Vorname, f.Ort
FROM Mitarbeiter m, Filiale f
WHERE m.Filiale = f.Nr AND f.Ort = "Nürnberg"
11Elektromarkt
b) Unter welcher Telefonnummer kann man Frau Abele in der Arbeit erreichen?
SELECT m.Name, m.Vorname, f.Telefon
FROM Mitarbeiter m, Filiale f
WHERE m.Filiale = f.Nr AND m.Name = "Abele"
12Elektromarkt
c) Welche Großhändler beliefern die Filiale in Augsburg?
SELECT g.Name, f.Ort AS "beliefert Filiale in"
FROM Grosshaendler g, Filiale f, Beliefert b
WHERE g.Nr = b.Haendler AND f.Nr = b.Filiale AND f.Ort = "Augsburg"
13Elektromarkt
d) Gesucht sind Ansprechpartner und Telefonnummer des Großhändlers, der Filiale 2 mit Haushaltswaren beliefert.
SELECT g.Ansprechpartner, g.Tel
FROM Grosshaendler g, Filiale f, Beliefert b
WHERE g.Nr = b.Haendler AND f.Nr = b.Filiale AND f.Nr = 2 AND g.Branche = "Haushalt"
14Elektromarkt
e) Wie heißt der direkte Vorgesetzte von Lars Becker?
SELECT m.Name, m.Vorname, CONCAT(v.Name, " ", v.Vorname) AS Vorgesetzter
FROM Mitarbeiter m, Mitarbeiter v
WHERE m.Name = "Becker" AND m.Vorname = "Lars" AND v.Nr = m.Vorgesetzter
15Wdh. "Flüsse" - Aufgabe 3
Klassentabellen: "Fluss", "Stadt" und "Bundesland"
Beziehungstabelle: "fliesstDurch"
Klassen-Beziehungsdiagramm:
n:m-Beziehung "fließt_durch >" zwischen "Fluss" und "Stadt"
n:1-Beziehung "liegt_in >" zwischen "Stadt" und "Bundesland"
16Wdh. "Flüsse" - Aufgabe 4 a)
Namen der Städte und Name des Bundeslandes, in dem die Städte liegen:
SELECT b.Name, s.SName
FROM Bundesland b, Stadt s
WHERE b.Bundesland = s.Bundesland
ORDER BY b.Name, s.SName
17Wdh. "Flüsse" - Aufgabe 4 b)
Namen und Längen der Flüsse und Namen und Einwohnerzahlen der Städte, durch die sie fließen:
SELECT f.FName, f.Länge, s.SName, s.Einwohner
FROM Fluss f, Stadt s, fliesstDurch d
WHERE f.FName = d.Flussname AND s.SName = d.Stadtname
ORDER BY FName, SName
18Wdh. "Flüsse" - Aufgabe 4 c)
Was gibt die folgende SQL-Abfrage aus?
SELECT b.Name AS Bundesland, f.FName, f.Länge, s.SName, s.Einwohner
FROM Fluss f, Stadt s, fliesstDurch d, Bundesland b
WHERE f.FName = d.Flussname AND s.SName = d.Stadtname AND b.Bundesland = s.Bundesland
ORDER BY b.Name, FName, SName

Die Abfrage gibt die Namen der Bundesländer aus mit den Namen und Längen der Flüsse und den Namen und Einwohnerzahlen der Städte, durch die die Flüsse fließen, sortiert nach dem Bundesland, dem Flussnamen und dem Namen der Stadt.
19Wdh. "Flüsse" - Aufgabe 4 d)
Veränderung von c) für Namen und Länge der Flüsse, die durch Bayern fließen, und Namen und Einwohnerzahlen der Städte, durch die die Flüsse fließen:
SELECT b.Name AS Bundesland, f.FName, f.Länge, s.SName, s.Einwohner
FROM Fluss f, Stadt s, fliesstDurch d, Bundesland b
WHERE f.FName = d.Flussname AND s.SName = d.Stadtname AND b.Bundesland = s.Bundesland AND b.Name = "Bayern"
ORDER BY b.Name, FName, SName
20Wdh. "Flüsse" - Aufgabe 4 e)
Veränderung von c) für Namen und Länge der Flüsse und Namen der Bundesländer, durch die die Flüsse fließen:
SELECT DISTINCT f.FName, f.Länge, b.Name AS Bundesland s.SName, s.Einwohner
FROM Fluss f, Stadt s, fliesstDurch d, Bundesland b
WHERE f.FName = d.Flussname AND s.SName = d.Stadtname AND b.Bundesland = s.Bundesland
ORDER BY FName, b.Name SName
21Wdh. "Flüsse" - Aufgabe 4 f)
Warum wurden die Informationen zu den Längen der Flüsse und zu den Einwohnerzahlen der Städte nicht in der Tabelle "fließtDurch" abgespeichert?
In die Tabelle "fließtDurch" müssten die Informationen zu den Längen der Flüsse und zu den Einwohnerzahlen der Städte mehrfach eingetragen werden, sie würde dadurch redundante Informationen enthalten.
Dies könnte, z. B. bei einer Änderung der Einwohnerzahl einer Stadt, zu Inkonsistenz führen, wenn diese Änderung nicht bei allen betroffenen Datensätzen vorgenommen wird (sog. UPDATE-Anomalie).