Inhalt
Aufgabe 1 - Datenbanken Join - Einstieg
Aufgabe 1: Sprachen
Es ist eine Datenbank gegeben, die abbildet, welche Person welche Sprachen spricht. Die Datenbank enthält 3 Tabellen:
- Personen: Diese Tabelle speichert Informationen über die Personen wie Vorname, Nachname und Geburtsdatum.
- Fremdsprachen: Hier werden die verschiedenen Fremdsprachen gespeichert.
- Sprachkenntnisse: Diese Tabelle dient zur Verknüpfung von Personen und den von ihnen gesprochenen Fremdsprachen sowie zur Speicherung des Sprachniveaus (Anfänger, Fortgeschritten, Fließend, Muttersprachler).
Erstellen der Datenbank und befüllen der Tabellen
Ein erweitertes DB-Seed mit zusätzlichen Datensätzen kann hier heruntergeladen werden: KSN_JoinSimple_DB-Seed Achtung - die Tabellen heißen hier
KSN_JoinSimple_Personen,KSN_JoinSimple_Fremdsprachen,KSN_JoinSimple_Sprachkenntnisse
-- Tabelle Personen
CREATE TABLE Personen (
ID INT PRIMARY KEY AUTO_INCREMENT,
Vorname VARCHAR(50),
Nachname VARCHAR(50),
Geburtsdatum DATE
);
-- Tabelle Fremdsprachen
CREATE TABLE Fremdsprachen (
ID INT PRIMARY KEY AUTO_INCREMENT,
Sprache VARCHAR(50)
);
-- Tabelle Sprachkenntnisse
CREATE TABLE Sprachkenntnisse (
ID INT PRIMARY KEY AUTO_INCREMENT,
PersonID INT,
FremdspracheID INT,
Niveau ENUM('Anfänger', 'Fortgeschritten', 'Fließend', 'Muttersprachler'),
FOREIGN KEY (PersonID) REFERENCES Personen(ID),
FOREIGN KEY (FremdspracheID) REFERENCES Fremdsprachen(ID)
);
-- Personen einfügen
INSERT INTO Personen (Vorname, Nachname, Geburtsdatum) VALUES
('Max', 'Mustermann', '1990-05-15'),
('Anna', 'Müller', '1985-09-23'),
('Tom', 'Schmidt', '1995-03-10');
-- Fremdsprachen einfügen
INSERT INTO Fremdsprachen (Sprache) VALUES
('Englisch'),
('Französisch'),
('Spanisch'),
('Chinesisch');
-- Sprachkenntnisse einfügen
-- Max spricht Englisch fließend, Spanisch auf fortgeschrittenem Niveau und Französisch auf Anfängerniveau
INSERT INTO Sprachkenntnisse (PersonID, FremdspracheID, Niveau) VALUES
(1, 1, 'Fließend'),
(1, 3, 'Fortgeschritten'),
(1, 2, 'Anfänger');
-- Anna spricht Englisch auf muttersprachlichem Niveau und Spanisch fließend
INSERT INTO Sprachkenntnisse (PersonID, FremdspracheID, Niveau) VALUES
(2, 1, 'Muttersprachler'),
(2, 3, 'Fließend');
-- Tom spricht Chinesisch auf Anfängerniveau und Englisch auf fortgeschrittenem Niveau
INSERT INTO Sprachkenntnisse (PersonID, FremdspracheID, Niveau) VALUES
(3, 4, 'Anfänger'),
(3, 1, 'Fortgeschritten');
Übungsabfragen - Einstieg
Aufgabe Befüllen mit Daten mit Hilfe von KI
Erstelle die oben angegebenen Tabellen, verwende für jede Tabelle das Prefix
KSN_JoinSimple_(z.B.:KSN_JoinSimple_Sprachkenntnisse).Erweitere Insert-Statements um 10 zusätzliche Personen und entsprechenden Sprachkenntnissen. Lass dir die Insert mit Hilfe einer KI generieren und dokumentiere den entsprechenden Prompt.
Aufgabe 1
Finde alle Personen, die Englisch sprechen.
+---------+------------+ | Vorname | Nachname | +---------+------------+ | Max | Mustermann | | Anna | Müller | | Tom | Schmidt | +---------+------------+
Aufgabe 2
Zeige die Namen und Geburtsdaten aller Personen an, die mindestens eine Fremdsprache auf fließendem Niveau sprechen.
+---------+------------+--------------+ | Vorname | Nachname | Geburtsdatum | +---------+------------+--------------+ | Max | Mustermann | 1990-05-15 | | Anna | Müller | 1985-09-23 | +---------+------------+--------------+
Aufgabe 3
Welche Personen sprechen Chinesisch? Gib ihre Namen und das Niveau ihres Chinesischkenntnisses an.
+---------+------------+----------+ | Vorname | Nachname | Niveau | +---------+------------+----------+ | Tom | Schmidt | Anfänger | +---------+------------+----------+
Aufgabe 4
Welche Fremdsprachen werden von mindestens zwei Personen gesprochen?
+--------------+ | Fremdsprache | +--------------+ | Englisch | | Spanisch | +--------------+
Aufgabe 5
Finde alle Personen, die mindestens eine Fremdsprache sprechen, aber kein Englisch.
+---------+------------+ | Vorname | Nachname | +---------+------------+ | Tom | Schmidt | +---------+------------+
Übungsabfragen - Erweitert
Aufgabe 6
Welche Personen sprechen mehr als zwei Fremdsprachen?
+---------+------------+ | Vorname | Nachname | +---------+------------+ | Max | Mustermann | +---------+------------+
Aufgabe 7
Gib alle Fremdsprachen aus, die von mindestens einer Person auf muttersprachlichem Niveau gesprochen werden.
+--------------+ | Fremdsprache | +--------------+ | Englisch | +--------------+
Aufgabe 8
Welche Personen haben Kenntnisse in Fremdsprachen, die auf Anfänger- oder fortgeschrittenem Niveau sind?
+---------+------------+ | Vorname | Nachname | +---------+------------+ | Max | Mustermann | | Anna | Müller | | Tom | Schmidt | +---------+------------+
Aufgabe 9
Welche Personen haben genau zwei Sprachkenntnisse und sprechen mindestens eine Fremdsprache fließend?
+---------+------------+ | Vorname | Nachname | +---------+------------+ | Max | Mustermann | +---------+------------+
Aufgabe 10
Finde alle Personen, die Französisch auf einem Niveau sprechen, das höher ist als ihr Spanischniveau.
+---------+------------+ | Vorname | Nachname | +---------+------------+ | Max | Mustermann | +---------+------------+