-- Tabellen erstellen
CREATE TABLE Leser (Ausweisnr integer PRIMARY KEY, Vorname varchar(200), Nachname varchar(200), Adresse varchar(200));
CREATE TABLE Buch (Signatur varchar(5) PRIMARY KEY, Titel varchar(200), Autor varchar(200), Leser integer, Ausleihdatum date, FOREIGN KEY (Leser) REFERENCES Leser (Ausweisnr) );
CREATE TABLE Mahnung (Rechnungsnr integer PRIMARY KEY, Rechnungsdatum date, Betrag float, bezahlterBetrag float, Leser integer, Buch varchar(5), FOREIGN KEY (Buch) REFERENCES Buch (Signatur), FOREIGN KEY (Leser) REFERENCES Leser (Ausweisnr));

-- Bücher anlegen
INSERT INTO Buch (Signatur, Autor, Titel) VALUES ('DA001', 'Douglas Adams', 'Per Anhalter durch die Galaxis');
INSERT INTO Buch (Signatur, Autor, Titel) VALUES ('AH001', 'Aldous Huxlex', 'Schöne neue Welt');
INSERT INTO Buch (Signatur, Autor, Titel) VALUES ('AH002', 'Aldous Huxlex', 'Schöne neue Welt');
INSERT INTO Buch (Signatur, Autor, Titel) VALUES ('GO001', 'George Orwell', 'Farm der Tiere');
INSERT INTO Buch (Signatur, Autor, Titel) VALUES ('JG001', 'Johann Wolfgang von Goethe', 'Faust');

-- Leser anlegen
INSERT INTO Leser (Ausweisnr, Vorname, Nachname, Adresse) VALUES (1, 'Alice', 'Amann', 'Lesestraße 1, 12345 Leserattenstadt');
INSERT INTO Leser (Ausweisnr, Vorname, Nachname, Adresse) VALUES (2, 'Bob', 'Bernig', 'Lesestraße 1, 12345 Leserattenstadt');
INSERT INTO Leser (Ausweisnr, Vorname, Nachname, Adresse) VALUES (3, 'Claire', 'Clepto', 'Lesestraße 1, 12345 Leserattenstadt');

-- Ausleihen von Bob und Claire:
UPDATE Buch SET Leser=2, Ausleihdatum='2012-01-01' WHERE Signatur='AH001';
UPDATE Buch SET Leser=3, Ausleihdatum='2012-01-03' WHERE Signatur='AH002';
UPDATE Buch SET Leser=3, Ausleihdatum='2012-01-03' WHERE Signatur='GO001';

-- Bob erhält Mahnung:
INSERT INTO Mahnung (Rechnungsnr, Rechnungsdatum, Betrag, Leser, Buch) VALUES (1, '2012-01-14', 5, 2, 'AH001');
-- Bob bezahlt Mahnung und gibt Buch zurück:
UPDATE Buch Set Leser = NULL, Ausleihdatum = NULL WHERE Signatur='AH001';
UPDATE Mahnung SET bezahlterBetrag=5 WHERE Rechnungsnr = 1;
-- Bob leiht neues Buch:
UPDATE Buch SET Leser=2, Ausleihdatum='2012-01-15' WHERE Signatur='DA001';

-- Claire erhält ersten Satz Mahnungen:
INSERT INTO Mahnung (Rechnungsnr, Rechnungsdatum, Betrag, Leser, Buch) VALUES (2, '2012-01-17', 5, 3, 'AH002');
INSERT INTO Mahnung (Rechnungsnr, Rechnungsdatum, Betrag, Leser, Buch) VALUES (3, '2012-01-17', 5, 3, 'GO001');

-- Bob gibt Buch zurück:
UPDATE Buch SET Leser = NULL, Ausleihdatum = NULL WHERE Signatur='DA001';

-- Claire erhält zweiten Satz Mahnungen:
INSERT INTO Mahnung (Rechnungsnr, Rechnungsdatum, Betrag, Leser, Buch) VALUES (4, '2012-02-03', 10, 3, 'AH002');
INSERT INTO Mahnung (Rechnungsnr, Rechnungsdatum, Betrag, Leser, Buch) VALUES (5, '2012-02-03', 10, 3, 'GO001');
-- Claire verarscht Bibliothek:
UPDATE Mahnung SET bezahlterBetrag=0.42 WHERE Rechnungsnr = 2;

-- Alice leiht Buch:
UPDATE Buch SET Leser=1, Ausleihdatum='2012-02-12' WHERE Signatur='DA001';


