From a4afe1a11c9a1bf25f63fecea072fa62f9b2b4e6 Mon Sep 17 00:00:00 2001 From: Jan Unger Date: Thu, 25 Aug 2016 20:50:07 +0200 Subject: [PATCH] Kapitel 6 Lektion 7 gesplittet --- .../mediathek_loesung/_application.php | 20 --- Kapitel_6/Lektion_7/mediathek_loesung/cd.php | 10 +- .../mediathek_loesung/lied_bearbeiten.php | 16 +- .../mediathek_loesung/lied_loeschen.php | 12 +- .../Lektion_8/mediathek/_application.php | 14 ++ Kapitel_6/Lektion_8/mediathek/cd.php | 73 +++++++++ Kapitel_6/Lektion_8/mediathek/index.php | 46 ++++++ .../Lektion_8/mediathek/lied_bearbeiten.php | 57 +++++++ .../Lektion_8/mediathek/lied_loeschen.php | 56 +++++++ Kapitel_6/Lektion_8/mediathek/mediathek.sql | 153 ++++++++++++++++++ .../mediathek_loesung/_application.php | 34 ++++ Kapitel_6/Lektion_8/mediathek_loesung/cd.php | 77 +++++++++ .../Lektion_8/mediathek_loesung/index.php | 46 ++++++ .../mediathek_loesung/lied_bearbeiten.php | 63 ++++++++ .../mediathek_loesung/lied_loeschen.php | 58 +++++++ .../Lektion_8/mediathek_loesung/mediathek.sql | 153 ++++++++++++++++++ 16 files changed, 843 insertions(+), 45 deletions(-) create mode 100755 Kapitel_6/Lektion_8/mediathek/_application.php create mode 100755 Kapitel_6/Lektion_8/mediathek/cd.php create mode 100755 Kapitel_6/Lektion_8/mediathek/index.php create mode 100755 Kapitel_6/Lektion_8/mediathek/lied_bearbeiten.php create mode 100755 Kapitel_6/Lektion_8/mediathek/lied_loeschen.php create mode 100755 Kapitel_6/Lektion_8/mediathek/mediathek.sql create mode 100755 Kapitel_6/Lektion_8/mediathek_loesung/_application.php create mode 100755 Kapitel_6/Lektion_8/mediathek_loesung/cd.php create mode 100755 Kapitel_6/Lektion_8/mediathek_loesung/index.php create mode 100755 Kapitel_6/Lektion_8/mediathek_loesung/lied_bearbeiten.php create mode 100755 Kapitel_6/Lektion_8/mediathek_loesung/lied_loeschen.php create mode 100755 Kapitel_6/Lektion_8/mediathek_loesung/mediathek.sql diff --git a/Kapitel_6/Lektion_7/mediathek_loesung/_application.php b/Kapitel_6/Lektion_7/mediathek_loesung/_application.php index ababa5e..a8fcbee 100755 --- a/Kapitel_6/Lektion_7/mediathek_loesung/_application.php +++ b/Kapitel_6/Lektion_7/mediathek_loesung/_application.php @@ -12,23 +12,3 @@ function holeDatenbankverbindung() [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"] ); } - -function holeLied($liedId) -{ - $db = holeDatenbankverbindung(); - $liedStatement = $db->prepare(" - SELECT - lieder.track, - lieder.titel, - cds.id AS cd_id, - cds.name AS cdname, - kuenstler.name AS kuenstlername - FROM lieder - LEFT JOIN cds ON lieder.cd_id = cds.id - LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id - WHERE lieder.id = :lied_id - "); - $liedStatement->execute(['lied_id' => $liedId]); - - return $liedStatement->fetch(PDO::FETCH_ASSOC); -} \ No newline at end of file diff --git a/Kapitel_6/Lektion_7/mediathek_loesung/cd.php b/Kapitel_6/Lektion_7/mediathek_loesung/cd.php index f5a41f0..c99735b 100755 --- a/Kapitel_6/Lektion_7/mediathek_loesung/cd.php +++ b/Kapitel_6/Lektion_7/mediathek_loesung/cd.php @@ -5,12 +5,8 @@ require __DIR__ . '/_application.php'; $db = holeDatenbankverbindung(); if (count($_POST) > 0) { - $insertStatement = $db->prepare("INSERT INTO lieder (cd_id, track, titel) VALUES (:cd_id, :track, :titel)"); - $insertStatement->execute([ - 'cd_id' => $_GET['id'], - 'track' => $_POST['track'], - 'titel' => $_POST['titel'] - ]); + + // TODO: Lied in die Datenbank speichern header('Location: cd.php?id=' . htmlspecialchars($_GET['id'])); exit; @@ -29,7 +25,7 @@ $cdStatement = $db->prepare(" $cdStatement->execute(['cd_id' => $_GET['id']]); $cd = $cdStatement->fetch(PDO::FETCH_ASSOC); -$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id ORDER BY track ASC"); +$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id"); $liederStatement->execute(['cd_id' => $_GET['id']]); $lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC); diff --git a/Kapitel_6/Lektion_7/mediathek_loesung/lied_bearbeiten.php b/Kapitel_6/Lektion_7/mediathek_loesung/lied_bearbeiten.php index 4f8f06b..6a69866 100755 --- a/Kapitel_6/Lektion_7/mediathek_loesung/lied_bearbeiten.php +++ b/Kapitel_6/Lektion_7/mediathek_loesung/lied_bearbeiten.php @@ -3,26 +3,20 @@ require __DIR__ . '/_application.php'; $meldungen = []; -$db = holeDatenbankverbindung(); if (!isset($_GET['id'])) { $meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie bearbeiten möchten.'; } -$lied = holeLied($_GET['id']); +// TODO: Lied mit Angaben zu CD und Künstler aus der Datenbank laden +$lied = []; if (!$lied) { $meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.'; } -if (isset($_POST['aktion'])) { - if ($_POST['aktion'] === 'speichern') { - $updateStatement = $db->prepare("UPDATE lieder SET track = :track, titel = :titel WHERE id = :lied_id"); - $updateStatement->execute([ - 'track' => $_POST['track'], - 'titel' => $_POST['titel'], - 'lied_id' => $_GET['id'] - ]); - } +if (isset($_POST['aktion']) && $_POST['aktion'] === 'speichern') { + + // TODO: Lied in der Datenbank aktualisieren header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id'])); exit; diff --git a/Kapitel_6/Lektion_7/mediathek_loesung/lied_loeschen.php b/Kapitel_6/Lektion_7/mediathek_loesung/lied_loeschen.php index 20259c8..d1795cb 100755 --- a/Kapitel_6/Lektion_7/mediathek_loesung/lied_loeschen.php +++ b/Kapitel_6/Lektion_7/mediathek_loesung/lied_loeschen.php @@ -3,22 +3,20 @@ require __DIR__ . '/_application.php'; $meldungen = []; -$db = holeDatenbankverbindung(); if (!isset($_GET['id'])) { $meldungen[] = 'Bitte geben Sie die ID des Liedes an, das Sie löschen möchten.'; } -$lied = holeLied($_GET['id']); +// TODO: Lied aus der Datenbank laden (analog zu lied_bearbeiten.php) +$lied = []; if (!$lied) { $meldungen[] = 'Es konnte kein Lied mit der ID ' . htmlspecialchars($_GET['id']) . ' gefunden werden.'; } -if (isset($_POST['aktion'])) { - if ($_POST['aktion'] === 'loeschen') { - $deleteStatement = $db->prepare("DELETE FROM lieder WHERE id = :lied_id"); - $deleteStatement->execute(['lied_id' => $_GET['id']]); - } +if (isset($_POST['aktion']) && $_POST['aktion'] === 'loeschen') { + + // TODO: Lied aus der Datenbank löschen header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id'])); exit; diff --git a/Kapitel_6/Lektion_8/mediathek/_application.php b/Kapitel_6/Lektion_8/mediathek/_application.php new file mode 100755 index 0000000..a8fcbee --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek/_application.php @@ -0,0 +1,14 @@ + "SET NAMES utf8"] + ); +} diff --git a/Kapitel_6/Lektion_8/mediathek/cd.php b/Kapitel_6/Lektion_8/mediathek/cd.php new file mode 100755 index 0000000..c99735b --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek/cd.php @@ -0,0 +1,73 @@ + 0) { + + // TODO: Lied in die Datenbank speichern + + header('Location: cd.php?id=' . htmlspecialchars($_GET['id'])); + exit; +} + +$cdStatement = $db->prepare(" + SELECT + cds.id, + cds.name AS cdname, + cds.erscheinungsjahr, + kuenstler.name AS kuenstlername + FROM cds + LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id + WHERE cds.id = :cd_id +"); +$cdStatement->execute(['cd_id' => $_GET['id']]); +$cd = $cdStatement->fetch(PDO::FETCH_ASSOC); + +$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id"); +$liederStatement->execute(['cd_id' => $_GET['id']]); +$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC); + +?> + + + + + Mediathek + + + +

+ + (, ) +

+ +
+ + + + + + + + + + + + + + + + + + + +
TrackTitel
Bearbeiten ...Löschen ...
+ +
+ +

zur Übersicht

+ + + diff --git a/Kapitel_6/Lektion_8/mediathek/index.php b/Kapitel_6/Lektion_8/mediathek/index.php new file mode 100755 index 0000000..104ffa1 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek/index.php @@ -0,0 +1,46 @@ +query(" + SELECT + cds.id, + cds.name AS cdname, + cds.erscheinungsjahr, + kuenstler.name AS kuenstlername + FROM cds + LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id +"); +$cds = $statement->fetchAll(PDO::FETCH_ASSOC); + +?> + + + + + Mediathek + + + + + + + + + + + + + + + + +
KünstlerAlbumErscheinungsjahr
+ + + +
+ + + diff --git a/Kapitel_6/Lektion_8/mediathek/lied_bearbeiten.php b/Kapitel_6/Lektion_8/mediathek/lied_bearbeiten.php new file mode 100755 index 0000000..6a69866 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek/lied_bearbeiten.php @@ -0,0 +1,57 @@ + + + + + + Mediathek + + + + 0): ?> +

Fehler:

+ + +
+

Lied bearbeiten

+

'' ()

+ + + + + +
+ + + diff --git a/Kapitel_6/Lektion_8/mediathek/lied_loeschen.php b/Kapitel_6/Lektion_8/mediathek/lied_loeschen.php new file mode 100755 index 0000000..d1795cb --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek/lied_loeschen.php @@ -0,0 +1,56 @@ + + + + + + Mediathek + + + + 0): ?> +

Fehler:

+ + +
+

Lied löschen

+

'' ()

+ +

+ Möchten Sie Track '' löschen?
+ Diese Aktion kann nicht rückgängig gemacht werden. +

+ + +
+ + + + diff --git a/Kapitel_6/Lektion_8/mediathek/mediathek.sql b/Kapitel_6/Lektion_8/mediathek/mediathek.sql new file mode 100755 index 0000000..1687782 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek/mediathek.sql @@ -0,0 +1,153 @@ +-- phpMyAdmin SQL Dump +-- version 4.4.10 +-- http://www.phpmyadmin.net +-- +-- Host: localhost:3306 +-- Erstellungszeit: 08. Aug 2016 um 18:32 +-- Server-Version: 5.5.42 +-- PHP-Version: 7.0.8 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Datenbank: `mediathek` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `cds` +-- + +DROP TABLE IF EXISTS `cds`; +CREATE TABLE `cds` ( + `id` int(11) NOT NULL, + `kuenstler_id` int(11) NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `erscheinungsjahr` int(11) DEFAULT NULL +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Daten für Tabelle `cds` +-- + +INSERT INTO `cds` (`id`, `kuenstler_id`, `name`, `erscheinungsjahr`) VALUES +(1, 1, 'Wallflower', 2015), +(2, 2, 'Wo der Pfeffer wächst', 2004), +(3, 1, 'The Girl In The Other Room', 2004); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `kuenstler` +-- + +DROP TABLE IF EXISTS `kuenstler`; +CREATE TABLE `kuenstler` ( + `id` int(11) NOT NULL, + `name` varchar(32) COLLATE utf8_unicode_ci NOT NULL +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Daten für Tabelle `kuenstler` +-- + +INSERT INTO `kuenstler` (`id`, `name`) VALUES +(1, 'Diana Krall'), +(2, 'Wise Guys'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `lieder` +-- + +DROP TABLE IF EXISTS `lieder`; +CREATE TABLE `lieder` ( + `id` int(11) NOT NULL, + `cd_id` int(11) NOT NULL, + `track` int(11) NOT NULL, + `titel` varchar(64) COLLATE utf8_unicode_ci NOT NULL +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Daten für Tabelle `lieder` +-- + +INSERT INTO `lieder` (`id`, `cd_id`, `track`, `titel`) VALUES +(1, 1, 1, 'California Dreamin'''), +(2, 1, 2, 'Desperado'), +(3, 1, 3, 'Superstar'), +(4, 2, 1, 'Wo der Pfeffer wächst'), +(5, 2, 2, 'Einer von den Wise Guys'), +(6, 3, 1, 'Stop This World'); + +-- +-- Indizes der exportierten Tabellen +-- + +-- +-- Indizes für die Tabelle `cds` +-- +ALTER TABLE `cds` + ADD PRIMARY KEY (`id`), + ADD KEY `kuenstler_id` (`kuenstler_id`); + +-- +-- Indizes für die Tabelle `kuenstler` +-- +ALTER TABLE `kuenstler` + ADD PRIMARY KEY (`id`); + +-- +-- Indizes für die Tabelle `lieder` +-- +ALTER TABLE `lieder` + ADD PRIMARY KEY (`id`), + ADD KEY `cd_id` (`cd_id`); + +-- +-- AUTO_INCREMENT für exportierte Tabellen +-- + +-- +-- AUTO_INCREMENT für Tabelle `cds` +-- +ALTER TABLE `cds` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4; +-- +-- AUTO_INCREMENT für Tabelle `kuenstler` +-- +ALTER TABLE `kuenstler` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3; +-- +-- AUTO_INCREMENT für Tabelle `lieder` +-- +ALTER TABLE `lieder` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7; +-- +-- Constraints der exportierten Tabellen +-- + +-- +-- Constraints der Tabelle `cds` +-- +ALTER TABLE `cds` + ADD CONSTRAINT `cds_ibfk_1` FOREIGN KEY (`kuenstler_id`) REFERENCES `kuenstler` (`id`); + +-- +-- Constraints der Tabelle `lieder` +-- +ALTER TABLE `lieder` + ADD CONSTRAINT `lieder_ibfk_1` FOREIGN KEY (`cd_id`) REFERENCES `cds` (`id`); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Kapitel_6/Lektion_8/mediathek_loesung/_application.php b/Kapitel_6/Lektion_8/mediathek_loesung/_application.php new file mode 100755 index 0000000..ababa5e --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek_loesung/_application.php @@ -0,0 +1,34 @@ + "SET NAMES utf8"] + ); +} + +function holeLied($liedId) +{ + $db = holeDatenbankverbindung(); + $liedStatement = $db->prepare(" + SELECT + lieder.track, + lieder.titel, + cds.id AS cd_id, + cds.name AS cdname, + kuenstler.name AS kuenstlername + FROM lieder + LEFT JOIN cds ON lieder.cd_id = cds.id + LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id + WHERE lieder.id = :lied_id + "); + $liedStatement->execute(['lied_id' => $liedId]); + + return $liedStatement->fetch(PDO::FETCH_ASSOC); +} \ No newline at end of file diff --git a/Kapitel_6/Lektion_8/mediathek_loesung/cd.php b/Kapitel_6/Lektion_8/mediathek_loesung/cd.php new file mode 100755 index 0000000..f5a41f0 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek_loesung/cd.php @@ -0,0 +1,77 @@ + 0) { + $insertStatement = $db->prepare("INSERT INTO lieder (cd_id, track, titel) VALUES (:cd_id, :track, :titel)"); + $insertStatement->execute([ + 'cd_id' => $_GET['id'], + 'track' => $_POST['track'], + 'titel' => $_POST['titel'] + ]); + + header('Location: cd.php?id=' . htmlspecialchars($_GET['id'])); + exit; +} + +$cdStatement = $db->prepare(" + SELECT + cds.id, + cds.name AS cdname, + cds.erscheinungsjahr, + kuenstler.name AS kuenstlername + FROM cds + LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id + WHERE cds.id = :cd_id +"); +$cdStatement->execute(['cd_id' => $_GET['id']]); +$cd = $cdStatement->fetch(PDO::FETCH_ASSOC); + +$liederStatement = $db->prepare("SELECT * FROM lieder where cd_id = :cd_id ORDER BY track ASC"); +$liederStatement->execute(['cd_id' => $_GET['id']]); +$lieder = $liederStatement->fetchAll(PDO::FETCH_ASSOC); + +?> + + + + + Mediathek + + + +

+ + (, ) +

+ +
+ + + + + + + + + + + + + + + + + + + +
TrackTitel
Bearbeiten ...Löschen ...
+ +
+ +

zur Übersicht

+ + + diff --git a/Kapitel_6/Lektion_8/mediathek_loesung/index.php b/Kapitel_6/Lektion_8/mediathek_loesung/index.php new file mode 100755 index 0000000..104ffa1 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek_loesung/index.php @@ -0,0 +1,46 @@ +query(" + SELECT + cds.id, + cds.name AS cdname, + cds.erscheinungsjahr, + kuenstler.name AS kuenstlername + FROM cds + LEFT JOIN kuenstler ON cds.kuenstler_id = kuenstler.id +"); +$cds = $statement->fetchAll(PDO::FETCH_ASSOC); + +?> + + + + + Mediathek + + + + + + + + + + + + + + + + +
KünstlerAlbumErscheinungsjahr
+ + + +
+ + + diff --git a/Kapitel_6/Lektion_8/mediathek_loesung/lied_bearbeiten.php b/Kapitel_6/Lektion_8/mediathek_loesung/lied_bearbeiten.php new file mode 100755 index 0000000..4f8f06b --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek_loesung/lied_bearbeiten.php @@ -0,0 +1,63 @@ +prepare("UPDATE lieder SET track = :track, titel = :titel WHERE id = :lied_id"); + $updateStatement->execute([ + 'track' => $_POST['track'], + 'titel' => $_POST['titel'], + 'lied_id' => $_GET['id'] + ]); + } + + header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id'])); + exit; +} + +?> + + + + + Mediathek + + + + 0): ?> +

Fehler:

+ + +
+

Lied bearbeiten

+

'' ()

+ + + + + +
+ + + diff --git a/Kapitel_6/Lektion_8/mediathek_loesung/lied_loeschen.php b/Kapitel_6/Lektion_8/mediathek_loesung/lied_loeschen.php new file mode 100755 index 0000000..20259c8 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek_loesung/lied_loeschen.php @@ -0,0 +1,58 @@ +prepare("DELETE FROM lieder WHERE id = :lied_id"); + $deleteStatement->execute(['lied_id' => $_GET['id']]); + } + + header('Location: cd.php?id=' . htmlspecialchars($lied['cd_id'])); + exit; +} + +?> + + + + + Mediathek + + + + 0): ?> +

Fehler:

+ + +
+

Lied löschen

+

'' ()

+ +

+ Möchten Sie Track '' löschen?
+ Diese Aktion kann nicht rückgängig gemacht werden. +

+ + +
+ + + + diff --git a/Kapitel_6/Lektion_8/mediathek_loesung/mediathek.sql b/Kapitel_6/Lektion_8/mediathek_loesung/mediathek.sql new file mode 100755 index 0000000..1687782 --- /dev/null +++ b/Kapitel_6/Lektion_8/mediathek_loesung/mediathek.sql @@ -0,0 +1,153 @@ +-- phpMyAdmin SQL Dump +-- version 4.4.10 +-- http://www.phpmyadmin.net +-- +-- Host: localhost:3306 +-- Erstellungszeit: 08. Aug 2016 um 18:32 +-- Server-Version: 5.5.42 +-- PHP-Version: 7.0.8 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Datenbank: `mediathek` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `cds` +-- + +DROP TABLE IF EXISTS `cds`; +CREATE TABLE `cds` ( + `id` int(11) NOT NULL, + `kuenstler_id` int(11) NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `erscheinungsjahr` int(11) DEFAULT NULL +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Daten für Tabelle `cds` +-- + +INSERT INTO `cds` (`id`, `kuenstler_id`, `name`, `erscheinungsjahr`) VALUES +(1, 1, 'Wallflower', 2015), +(2, 2, 'Wo der Pfeffer wächst', 2004), +(3, 1, 'The Girl In The Other Room', 2004); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `kuenstler` +-- + +DROP TABLE IF EXISTS `kuenstler`; +CREATE TABLE `kuenstler` ( + `id` int(11) NOT NULL, + `name` varchar(32) COLLATE utf8_unicode_ci NOT NULL +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Daten für Tabelle `kuenstler` +-- + +INSERT INTO `kuenstler` (`id`, `name`) VALUES +(1, 'Diana Krall'), +(2, 'Wise Guys'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `lieder` +-- + +DROP TABLE IF EXISTS `lieder`; +CREATE TABLE `lieder` ( + `id` int(11) NOT NULL, + `cd_id` int(11) NOT NULL, + `track` int(11) NOT NULL, + `titel` varchar(64) COLLATE utf8_unicode_ci NOT NULL +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Daten für Tabelle `lieder` +-- + +INSERT INTO `lieder` (`id`, `cd_id`, `track`, `titel`) VALUES +(1, 1, 1, 'California Dreamin'''), +(2, 1, 2, 'Desperado'), +(3, 1, 3, 'Superstar'), +(4, 2, 1, 'Wo der Pfeffer wächst'), +(5, 2, 2, 'Einer von den Wise Guys'), +(6, 3, 1, 'Stop This World'); + +-- +-- Indizes der exportierten Tabellen +-- + +-- +-- Indizes für die Tabelle `cds` +-- +ALTER TABLE `cds` + ADD PRIMARY KEY (`id`), + ADD KEY `kuenstler_id` (`kuenstler_id`); + +-- +-- Indizes für die Tabelle `kuenstler` +-- +ALTER TABLE `kuenstler` + ADD PRIMARY KEY (`id`); + +-- +-- Indizes für die Tabelle `lieder` +-- +ALTER TABLE `lieder` + ADD PRIMARY KEY (`id`), + ADD KEY `cd_id` (`cd_id`); + +-- +-- AUTO_INCREMENT für exportierte Tabellen +-- + +-- +-- AUTO_INCREMENT für Tabelle `cds` +-- +ALTER TABLE `cds` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4; +-- +-- AUTO_INCREMENT für Tabelle `kuenstler` +-- +ALTER TABLE `kuenstler` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3; +-- +-- AUTO_INCREMENT für Tabelle `lieder` +-- +ALTER TABLE `lieder` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7; +-- +-- Constraints der exportierten Tabellen +-- + +-- +-- Constraints der Tabelle `cds` +-- +ALTER TABLE `cds` + ADD CONSTRAINT `cds_ibfk_1` FOREIGN KEY (`kuenstler_id`) REFERENCES `kuenstler` (`id`); + +-- +-- Constraints der Tabelle `lieder` +-- +ALTER TABLE `lieder` + ADD CONSTRAINT `lieder_ibfk_1` FOREIGN KEY (`cd_id`) REFERENCES `cds` (`id`); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;