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

USE awp_11fi5_p2_kosidas;

CREATE TABLE Kategorie(
	KategorieID INT(12) auto_increment,
	Bezeichnung VARCHAR(64),
	PRIMARY KEY(KategorieID)
)ENGINE=INNODB;

CREATE TABLE Farbe(
	Farbcode VARCHAR(7),
	Bezeichnung VARCHAR(64),
	PRIMARY KEY(Farbcode)
)ENGINE=INNODB;

CREATE TABLE Artikel(
	ArtikelID INT(12) auto_increment,
	Bezeichnung VARCHAR(64),
	Preis DECIMAL(12,2),
	KategorieID INT(12),
	Farbcode VARCHAR(7),
	PRIMARY KEY(ArtikelID),
	FOREIGN KEY(KategorieID) REFERENCES Kategorie(KategorieID),
	FOREIGN KEY(Farbcode) REFERENCES Farbe(Farbcode)
)ENGINE=INNODB;



CREATE TABLE Kunde(
	KundeID INT(11) AUTO_INCREMENT,
	Nachname VARCHAR(45),
	Vorname VARCHAR(45),
	Straße_NR VARCHAR(45),
	PLZID INT(11),
	IBAN VARCHAR(34),
	BIC VARCHAR(11),
	PRIMARY KEY(KundeID)
);

ALTER TABLE Kunde
CHANGE Straße_NR Strasse VARCHAR(45),
ADD Nummer VARCHAR(3) AFTER Strasse;

CREATE TABLE Bank(
	BIC VARCHAR(11) NOT NULL,
	NAME VARCHAR(45),
	PLZID INT,
	PRIMARY KEY(BIC)
);

CREATE TABLE Ort(
	PLZID INT AUTO_INCREMENT,
	PLZ VARCHAR(5),
	Stadt VARCHAR(45),
	PRIMARY KEY(PLZID)
);

ALTER TABLE Bank
ADD FOREIGN KEY (PLZID) REFERENCES Ort(PLZID);

ALTER TABLE Kunde
ADD FOREIGN KEY (PLZID) REFERENCES Ort(PLZID),
ADD FOREIGN KEY (BIC) REFERENCES Bank(BIC);
