DROP DATABASE if EXISTS awp_11fi5_rechnung;
CREATE DATABASE if NOT exists awp_11fi5_rechnung;

USE awp_11fi5_rechnung;

CREATE TABLE Kunden(
	KNr INT AUTO_INCREMENT,
	KName VARCHAR(40),
	Vorname VARCHAR(40),
	Straße VARCHAR(40),
	PLZ VARCHAR(5),
	Ort VARCHAR(40),
	Telefon VARCHAR(40),
	Email VARCHAR(60),
	Kartenstatus VARCHAR(40),
	PRIMARY KEY(KNr)
);

CREATE TABLE Gutschriften(
	GNr INT AUTO_INCREMENT,
	KNr INT,
	Datum DATE,
	Betrag DECIMAL(10,2),
	GText VARCHAR(120),
	PRIMARY KEY(GNr),
	FOREIGN KEY(KNr) REFERENCES Kunden(KNr)
);

CREATE TABLE Rechnungen(
	RNr INT AUTO_INCREMENT,
	KNr INT,
	AuftragsNr INT,
	Datum DATE,
	Betrag DECIMAL(10,2),
	Mahnstatus VARCHAR(20),
	Mahngebür DECIMAL(10,2),
	PRIMARY KEY(RNr),
	FOREIGN KEY(KNr) REFERENCES Kunden(KNr)
);

CREATE TABLE Lastschriften(
	LNr INT AUTO_INCREMENT,
	KNr INT,
	RNr INT,
	Datum DATE,
	Betrag DECIMAL(10,2),
	LText VARCHAR(40),
	PRIMARY KEY(LNr),
	FOREIGN KEY(KNr) REFERENCES Kunden(KNr),
	FOREIGN KEY(RNr) REFERENCES Rechnungen(RNr)
);

CREATE TABLE Artikel(
	ANr INT AUTO_INCREMENT,
	Bezeichnung VARCHAR(60),
	Bestand INT,
	Verkaufspreis_Vorschlag DECIMAL(10,2),
	Datum_Änderung_Verkaufspreis DATE,
	PRIMARY KEY(ANr)
);

CREATE TABLE Rechnungspositionen(
	RNr INT,
	ANr INT,
	Menge INT,
	Einzelpreis DECIMAL(10,2),
	PRIMARY KEY(RNr, ANr),
	FOREIGN KEY(RNr) REFERENCES Rechnungen(RNr),
	FOREIGN KEY(ANr) REFERENCES Artikel(ANr)
);