128 lines
3.1 KiB
MySQL
128 lines
3.1 KiB
MySQL
|
USE project;
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Produkt
|
||
|
(
|
||
|
ProduktID int AUTO_INCREMENT,
|
||
|
Produktname VARCHAR(50),
|
||
|
vegetarisch tinyint(1),
|
||
|
vegan tinyint(1),
|
||
|
primary key (ProduktID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Naehrstoff
|
||
|
(
|
||
|
ProduktID int,
|
||
|
Eiweiss int,
|
||
|
Kohlenhydrate int,
|
||
|
Fett int,
|
||
|
foreign key (ProduktID) references Produkt (ProduktID),
|
||
|
primary key (ProduktID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Allergen
|
||
|
(
|
||
|
AllergenID int AUTO_INCREMENT,
|
||
|
Allergenbezeichnung varchar(50),
|
||
|
primary key (AllergenID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Naehrwerte
|
||
|
(
|
||
|
ProduktID int,
|
||
|
Brennwert int,
|
||
|
foreign key (ProduktID) references Produkt (ProduktID),
|
||
|
primary key (ProduktID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Zusatzstoff
|
||
|
(
|
||
|
E_Nummer int,
|
||
|
Zusatzstoffbezeichnung varchar(50),
|
||
|
primary key (E_Nummer)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Menge
|
||
|
(
|
||
|
MengenID int AUTO_INCREMENT,
|
||
|
ProduktID int,
|
||
|
Portionsgroesse varchar(50),
|
||
|
Menge int,
|
||
|
Einheit varchar(50),
|
||
|
primary key (MengenID),
|
||
|
foreign key (ProduktID) references Produkt (ProduktID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Person
|
||
|
(
|
||
|
PersonID int AUTO_INCREMENT,
|
||
|
Personenname varchar(50),
|
||
|
Personenvorname varchar(50),
|
||
|
Naehrwertziel int,
|
||
|
Ernaerungsstil varchar(50),
|
||
|
primary key (PersonID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Menu
|
||
|
(
|
||
|
MenuID int AUTO_INCREMENT,
|
||
|
Menuname varchar(50),
|
||
|
primary key (MenuID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Menucontent
|
||
|
(
|
||
|
MenuID int,
|
||
|
ProduktID int,
|
||
|
foreign key (MenuID) references Menu (MenuID),
|
||
|
foreign key (ProduktID) references Produkt (ProduktID),
|
||
|
primary key (MenuID, ProduktID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Allergie
|
||
|
(
|
||
|
PersonID int,
|
||
|
AllergenID int,
|
||
|
foreign key (PersonID) references Person (PersonID),
|
||
|
foreign key (AllergenID) references Allergen (AllergenID),
|
||
|
primary key (PersonID, AllergenID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS enthaeltZusatzstoff
|
||
|
(
|
||
|
ProduktID int,
|
||
|
E_Nummer int,
|
||
|
Anwendungsgrund char(1),
|
||
|
foreign key (ProduktID) references Produkt (ProduktID),
|
||
|
foreign key (E_Nummer) references Zusatzstoff (E_Nummer),
|
||
|
primary key (ProduktID, E_Nummer, Anwendungsgrund)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS Zusatzstoffunvertraeglichkeit
|
||
|
(
|
||
|
PersonID int,
|
||
|
E_Nummer int,
|
||
|
foreign key (PersonID) references Person (PersonID),
|
||
|
foreign key (E_Nummer) references Zusatzstoff (E_Nummer),
|
||
|
primary key (PersonID, E_Nummer)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS enthaeltAllergen
|
||
|
(
|
||
|
AllergenID int,
|
||
|
ProduktID int,
|
||
|
spuren_von tinyint(1),
|
||
|
foreign key (AllergenID) references Allergen (AllergenID),
|
||
|
foreign key (ProduktID) references Produkt (ProduktID),
|
||
|
primary key (AllergenID, ProduktID)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS konsumiert
|
||
|
(
|
||
|
TransaktionsID int AUTO_INCREMENT,
|
||
|
PersonID int,
|
||
|
MenuID int,
|
||
|
Datum datetime,
|
||
|
foreign key (PersonID) references Person (PersonID),
|
||
|
foreign key (MenuID) references Menu (MenuID),
|
||
|
primary key (TransaktionsID)
|
||
|
)
|