SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


CREATE TABLE `ingredienti` ( /*Zutaten*/
  `id` varchar(36) NOT NULL,
  `cognome` varchar(200) NOT NULL, /*Name*/
  `caloriePerCento` int(5) NOT NULL, /*Kalorien pro Gramm*/
  `ilPeso` int(5) NULL, /*Gewicht*/
  `prezzo` decimal(4,2) NOT NULL, /*Preis*/
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `folla` ( /*Menge*/
`id` varchar(36) NOT NULL,
`unita` varchar(200) NOT NULL, /*Einheit*/
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `elenco` ( /*Liste*/
`id` varchar(36) NOT NULL,
`creatore` varchar(200) NOT NULL, /*Ersteller*/
`coloreDiSfondo` integer(10) NOT NULL, /*Hintergrundfarbe*/
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `utente` ( /*Benutzer*/
`id` varchar(36) NOT NULL,
`email` varchar(200) NOT NULL, /*Email*/
`parolaDordine` integer(10) NOT NULL, /*Passwort*/
`nomeUtente` integer(10) NOT NULL, /*Benutzernamen*/
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `elencoIngredienti` ( /*Liste_Zutaten*/
`id` varchar(36) NOT NULL,
`ingredientiID` varchar(36) NOT NULL, /*ZutatenID*/
`elencoID` varchar(36) NOT NULL, /*ListeID*/
`follaID` integer(10) NOT NULL, /*MengeID*/
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `utenteElenco` ( /*Benutzer_Liste*/
`id` varchar(36) NOT NULL,
`elencoID` varchar(36) NOT NULL, /*ListeID*/
`utenteID` varchar(36) NOT NULL, /*BenutzerID*/
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `ingredienti`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `folla`
    ADD PRIMARY KEY (`id`);

ALTER TABLE `elenco`
    ADD PRIMARY KEY (`id`);

ALTER TABLE `utente`
    ADD PRIMARY KEY (`id`);

ALTER TABLE `elencoIngredienti`
    ADD PRIMARY KEY (`id`),
    ADD CONSTRAINT `FK_ElencoIngredienti_Ingredienti` FOREIGN KEY (`ingredientiID`) REFERENCES `ingredienti`(`id`), /*Liste_Zutaten hat Foreignkey von Zutaten(id)*/
    ADD CONSTRAINT `FK_ElencoIngredienti_Elenco` FOREIGN KEY (`elencoID`) REFERENCES `elenco`(`id`), /*Liste_Zutaten hat Foreignkey von Liste(id)*/
    ADD CONSTRAINT `FK_ElencoIngredienti_Folla` FOREIGN KEY (`follaID`) REFERENCES `folla`(`id`); /*Liste_Zutaten hat Foreignkey von Menge(id)*/

ALTER TABLE `utenteElenco`
    ADD PRIMARY KEY (`id`),
    ADD CONSTRAINT `FK_UtenteElenco_Utente` FOREIGN KEY (`utenteId`) REFERENCES `utente`(`id`), /*Benutzer_Liste hat Foreignkey von Benutzer(id)*/
    ADD CONSTRAINT `FK_UtenteElenco_Elenco` FOREIGN KEY (`elencoId`) REFERENCES `elenco`(`id`); /*Benutzer_Liste hat Foreignkey von Liste(id)*/
