CREATE TABLE kategorooria(
kategooria_id int primary key AUTO_INCREMENT,
kategooria_nimi varchar(50) unique);
);
CREATE TABLE kasutaja(
kasutaja_id int primary key AUTO_INCREMENT,
eesnimi varchar(50),
peerenimi varchar(50),
email varchar(50)
);
alter table retsept add foreign key(kasutaja_id) REFERENCES kasutaja(kasutaja_id);
create table toiduaine( toiduaine_id int primary key AUTO_INCREMENT, toiduaine_nimi varchar(100) UNIQUE);
create table tehtud(
tehtud_id int primary key AUTO_INCREMENT,
tehtud_kp date,
retsept_id int,
FOREIGN key (retsept_id) REFERENCES retsept(retsept_id)
);
create table yhik(
yhik_id int primary key AUTO_INCREMENT,
yhik_nimi varchar(100) unique);
create table koostis(
koostis_id int primary key AUTO_INCREMENT,
kogus int,
retsept_id int,
toiduaine_id int,
yhik_id int,
FOREIGN key (retsept_id) REFERENCES retsept(retsept_id),
FOREIGN key (toiduaine_id) REFERENCES toiduaine(toiduaine_id),
FOREIGN key (yhik_id) REFERENCES yhik(yhik_id))
CREATE PROCEDURE `tehtud_lisamine`(IN `Kuupaev` DATE, IN `Retsept_id` INT) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN
INSERT INTO tehtud(tehtud_kp, retsept_id)
VALUES (Kuupaev, Retsept_id);
SELECT * FROM tehtud
INNER JOIN retsept
ON tehtud.retsept_id = retsept.retsept_id;
END
CREATE PROCEDURE `retsepti_alter`(IN `tabeli_nimi` VARCHAR(20), IN `veerunimi` VARCHAR(20), IN `type` VARCHAR(20)) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN
SET @STMT = CONCAT("ALTER TABLE ", tabeli_nimi, " ", "ADD COLUMN ", veerunimi, " ", type);
PREPARE S FROM @STMT;
EXECUTE S;
DEALLOCATE PREPARE S;
END
DROP TRIGGER IF EXISTS `retseptUpdate`;CREATE DEFINER=`root`@`localhost` TRIGGER `retseptUpdate` BEFORE UPDATE ON `retsept` FOR EACH ROW INSERT INTO logi(kuupaev, andmed)
SELECT NOW(), CONCAT(old.retsepti_nimi, "-", new.retsepti_nimi, " ", n1.eesnimi, "-", n2.eesnimi)
FROM retsept
INNER JOIN kasutaja n1 ON OLD.kasutaja_id=n1.kasutaja_id
INNER JOIN kasutaja n2 ON NEW.kasutaja_id = n2.kasutaja_id
WHERE retsept.retsept_id = new.retsept_id