688 lines
34 KiB
SQL
688 lines
34 KiB
SQL
USE project;
|
|
SET GLOBAL local_infile=1;
|
|
|
|
/*
|
|
---------------------------------- Zusatzstoffklasse ----------------------------------
|
|
*/
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/Zusatzstoffe_Klassen.csv' INTO TABLE Zusatzstoffklase
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
(@b, @g)
|
|
SET Anwendungsgrund = REGEXP_REPLACE(@g, '[^a-zäöüßA-ZÄÖÜ]+', ''), Anwendungsgrundbezeichnung = TRIM(@b);
|
|
|
|
|
|
/*
|
|
---------------------------------- Zusatzstoff ----------------------------------
|
|
*/
|
|
DROP TEMPORARY TABLE IF EXISTS tmp_import_0;
|
|
CREATE TABLE IF NOT EXISTS tmp_import_0
|
|
(
|
|
E_Nummer varchar(5),
|
|
Zusatzstoffbezeichnung varchar(100),
|
|
Anwendungsgrund varchar(5),
|
|
primary key (E_Nummer)
|
|
);
|
|
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/E_nummern.csv' INTO TABLE tmp_import_0
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\r\n'
|
|
(@e, @z, @k)
|
|
SET E_Nummer = TRIM(@e), Zusatzstoffbezeichnung = TRIM(@z), Anwendungsgrund = TRIM(@k);
|
|
|
|
INSERT INTO Zusatzstoff (SELECT E_Nummer, Zusatzstoffbezeichnung FROM tmp_import_0);
|
|
|
|
/*
|
|
---------------------------------- Produkt ----------------------------------
|
|
*/
|
|
DROP TEMPORARY TABLE IF EXISTS tmp_import_1;
|
|
CREATE TABLE IF NOT EXISTS tmp_import_1
|
|
(
|
|
ProduktID int AUTO_INCREMENT,
|
|
Produktname VARCHAR(100),
|
|
vegetarisch tinyint(1),
|
|
vegan tinyint(1),
|
|
primary key (ProduktID)
|
|
);
|
|
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_Produkte_Portionen.csv' INTO TABLE tmp_import_1
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 2 LINES
|
|
(@p, @dummy, @dummy)
|
|
SET Produktname = TRIM(@p);
|
|
|
|
DELETE
|
|
FROM tmp_import_1
|
|
ORDER BY ProduktID DESC
|
|
LIMIT 4;
|
|
|
|
INSERT INTO Produkt (SELECT null, Produktname FROM tmp_import_1 GROUP BY Produktname);
|
|
INSERT INTO Produkt (Produktname)
|
|
VALUES ('Butter');
|
|
INSERT INTO Produkt (Produktname)
|
|
VALUES ('Snack Salat Classic');
|
|
|
|
|
|
/*
|
|
---------------------------------- Allergen ----------------------------------
|
|
*/
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE Allergen
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET Allergenbezeichnung = TRIM(@a);
|
|
|
|
|
|
/*
|
|
---------------------------------- Produktallergen ----------------------------------
|
|
*/
|
|
DROP TEMPORARY TABLE IF EXISTS tmp_import_2;
|
|
CREATE TABLE IF NOT EXISTS tmp_import_2
|
|
(
|
|
AllergenID int,
|
|
ProduktID int,
|
|
contains_allergen tinyint(1),
|
|
foreign key (AllergenID) references Allergen (AllergenID),
|
|
foreign key (ProduktID) references Produkt (ProduktID),
|
|
primary key (AllergenID, ProduktID)
|
|
);
|
|
|
|
# Big Mac
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Big Mac'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Cheeseburger
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Cheeseburger'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Chicken McNuggets
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Chicken McNuggets'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Hamburger
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Hamburger'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Hamburger Royal TS
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Hamburger Royal TS'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# McChicken
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'McChicken'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# McRib
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'McRib'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Pommes Frites
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Pommes Frites'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Apfeltasche
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Apfeltasche'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# McSundae Karamell
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'McSundae Karamell'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# McSundae Schoko
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'McSundae Schoko'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Milchshake Erdbeergeschmack
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Milchshake Erdbeergeschmack'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Milchshake Schokogeschmack
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Milchshake Schokogeschmack'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Milchshake Vanillegeschmack
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Milchshake Vanillegeschmack'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Butter
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Butter'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Konfituere Aprikose
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Konfituere Aprikose'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Konfituere Erdbeere
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Konfituere Erdbeere'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# McCroissant
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'McCroissant'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Balsamico Dressing
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Balsamico Dressing'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Barbecue Sauce
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Barbecue Sauce'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Chili Sauce
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Chili Sauce'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Curry Sauce
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Curry Sauce'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Ketchup
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Ketchup'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Mayonnaise (80%)
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Mayonnaise (80%)'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Sauce suesssauer
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Sauce suesssauer'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Senfsauce
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Senfsauce'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Snack Salat Classic
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 1 LINES
|
|
(@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy,
|
|
@dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b, @dummy)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = 'Snack Salat Classic'), AllergenID = (SELECT AllergenID
|
|
FROM Allergen
|
|
WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
# Warum ist das zweimal in MD_produkte_Allergene.csv?????
|
|
# # Apfeltasche
|
|
# LOAD DATA LOCAL INFILE 'Programmentwurf/MD_produkte_Allergene.csv' INTO TABLE tmp_import_2
|
|
# CHARACTER SET latin1
|
|
# FIELDS terminated by ';'
|
|
# LINES TERMINATED BY '\n'
|
|
# IGNORE 1 LINES
|
|
# (@a, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @b)
|
|
# SET ProduktID = (SELECT ProduktID from Produkt WHERE Produktname = 'Apfeltasche'), AllergenID = (SELECT AllergenID FROM Allergen WHERE Allergenbezeichnung = TRIM(@a)), contains_allergen = TRIM(@b);
|
|
|
|
INSERT INTO enthaeltAllergen (SELECT AllergenID, ProduktID FROM tmp_import_2 WHERE contains_allergen = 1);
|
|
|
|
|
|
/*
|
|
---------------------------------- Menge ----------------------------------
|
|
*/
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_Produkte_Portionen.csv' INTO TABLE Menge
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 2 LINES
|
|
(@produkt, @menge1, @menge2)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = @produkt), Menge = (IF(@menge1 != '-', (REPLACE(@menge1, ' g', '')),
|
|
(REPLACE(@menge2, ' ml', '')))), Einheit = (IF(@menge1 != '-', 'g', 'ml'));
|
|
|
|
DELETE
|
|
FROM Menge
|
|
ORDER BY MengenID DESC
|
|
LIMIT 4;
|
|
|
|
|
|
/*
|
|
---------------------------------- enthält Zusatzstoff ----------------------------------
|
|
*/
|
|
DROP TABLE IF EXISTS tmp_import_3;
|
|
CREATE TABLE IF NOT EXISTS tmp_import_3
|
|
(
|
|
Produkt_name VARCHAR(100),
|
|
E_Nummern VARCHAR(100)
|
|
);
|
|
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_Produkte_Enummern.csv' REPLACE INTO TABLE tmp_import_3
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
(@col1, @col2) SET Produkt_Name = trim(@col1), E_Nummern = trim(@col2);
|
|
|
|
DROP TABLE IF EXISTS tmp_import_4;
|
|
CREATE TABLE IF NOT EXISTS tmp_import_4
|
|
(
|
|
id int NOT NULL auto_increment,
|
|
E_Nummern VARCHAR(100),
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
DROP TABLE IF EXISTS tmp_import_5;
|
|
CREATE TABLE IF NOT EXISTS tmp_import_5
|
|
(
|
|
Produkt_Name varchar(100),
|
|
E_nummern VARCHAR(100)
|
|
);
|
|
|
|
/* Delete all seperators and create new rows */
|
|
INSERT INTO tmp_import_5(Produkt_Name, E_Nummern)
|
|
SELECT Produkt_Name,
|
|
SUBSTRING_INDEX(SUBSTRING_INDEX(tmp_import_3.E_Nummern, ',', numbers.n), ',', -1)
|
|
FROM (SELECT 1 n
|
|
UNION ALL
|
|
SELECT 2
|
|
UNION ALL
|
|
SELECT 3
|
|
UNION ALL
|
|
SELECT 4) numbers
|
|
INNER JOIN tmp_import_3
|
|
ON CHAR_LENGTH(tmp_import_3.E_Nummern)
|
|
- CHAR_LENGTH(REPLACE(tmp_import_3.E_Nummern, ',', '')) >= numbers.n - 1;
|
|
|
|
UPDATE tmp_import_5
|
|
SET Produkt_name = (SELECT ProduktID FROM Produkt WHERE Produktname = Produkt_name);
|
|
|
|
INSERT INTO enthaeltZusatzstoff (SELECT Produkt_Name,
|
|
E_nummern,
|
|
(SELECT Anwendungsgrund FROM tmp_import_0 WHERE E_Nummer = E_nummern)
|
|
FROM tmp_import_5
|
|
WHERE Produkt_Name IN (SELECT ProduktID FROM Produkt)
|
|
AND E_nummern IN (SELECT E_Nummer FROM Zusatzstoff));
|
|
|
|
/*
|
|
---------------------------------- Naehrwerte ----------------------------------
|
|
*/
|
|
LOAD DATA LOCAL INFILE 'Programmentwurf/MD_Produkte_Naehrwerte.csv' INTO TABLE Naehrwerte
|
|
CHARACTER SET latin1
|
|
FIELDS terminated by ';'
|
|
LINES TERMINATED BY '\n'
|
|
IGNORE 2 LINES
|
|
(@produkt, @menge1, @menge2, @kcal, @ew, @kh, @fett)
|
|
SET ProduktID = (SELECT ProduktID
|
|
from Produkt
|
|
WHERE Produktname = @produkt), Menge = (IF(@menge1 != '-', (REPLACE(@menge1, ' g', '')),
|
|
(REPLACE(@menge2, ' ml', '')))), Einheit = (IF(@menge1 != '-', 'g', 'ml')), Kohlenhydrate = @kh, Eiweiss = @ew,
|
|
Fett = CAST(REPLACE(REPLACE(@fett, CHAR(13), ''), CHAR(10), '')
|
|
as double), Brennwert = @kcal;
|
|
# Issue at last four lines: ProduktID cannot be null, ...
|
|
|
|
|
|
/*
|
|
---------------------------------- eigene Datensätze ----------------------------------
|
|
---------------------------------- Personen ----------------------------------
|
|
*/
|
|
INSERT INTO Person (Personenname, Personenvorname, Naehrwertziel, Ernaerungsstil)
|
|
VALUES ('Kaiser', 'Florian', 5000, null);
|
|
INSERT INTO Person (Personenname, Personenvorname, Naehrwertziel, Ernaerungsstil)
|
|
VALUES ('Amtmann', 'Leon', 10000, null);
|
|
INSERT INTO Person (Personenname, Personenvorname, Naehrwertziel, Ernaerungsstil)
|
|
VALUES ('Mustermann', 'Max', 15000, null);
|
|
|
|
|
|
/*
|
|
---------------------------------- Allergie ----------------------------------
|
|
*/
|
|
INSERT INTO Allergie (PersonID, AllergenID)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Kaiser'),
|
|
(SELECT AllergenID FROM Allergen WHERE Allergenbezeichnung = 'Glutenhaltiges Getreide'));
|
|
INSERT INTO Allergie (PersonID, AllergenID)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Kaiser'),
|
|
(SELECT AllergenID FROM Allergen WHERE Allergenbezeichnung = 'Erdnuesse'));
|
|
INSERT INTO Allergie (PersonID, AllergenID)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Amtmann'),
|
|
(SELECT AllergenID FROM Allergen WHERE Allergenbezeichnung = 'Sesamsamen'));
|
|
|
|
|
|
/*
|
|
---------------------------------- Menu ----------------------------------
|
|
*/
|
|
INSERT INTO Menu (Menuname)
|
|
VALUES ('Test Menu');
|
|
INSERT INTO Menu (Menuname)
|
|
VALUES ('Test Menu #2');
|
|
INSERT INTO Menu (Menuname)
|
|
VALUES ('Test Menu #3');
|
|
|
|
|
|
/*
|
|
---------------------------------- Menucontent ----------------------------------
|
|
*/
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Ketchup') LIMIT 1));
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Pommes Frites') LIMIT 1));
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Curry Sauce') LIMIT 1));
|
|
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #2'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Ketchup') LIMIT 1));
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #2'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Big Mac') LIMIT 1));
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #2'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Cheeseburger') LIMIT 1));
|
|
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #3'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Cheeseburger') LIMIT 1));
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #3'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'McSundae Karamell') LIMIT 1));
|
|
INSERT INTO Menucontent (MenuID, MengenID)
|
|
VALUES ((SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #3'),
|
|
(SELECT MengenID FROM Menge WHERE ProduktID = (SELECT ProduktID FROM Produkt WHERE Produktname = 'Big Mac') LIMIT 1));
|
|
|
|
|
|
/*
|
|
---------------------------------- konsumiert ----------------------------------
|
|
*/
|
|
INSERT INTO konsumiert (PersonID, MenuID, Datum)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Kaiser'),
|
|
(SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu'), now());
|
|
INSERT INTO konsumiert (PersonID, MenuID, Datum)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Amtmann'),
|
|
(SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #2'), now());
|
|
INSERT INTO konsumiert (PersonID, MenuID, Datum)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Kaiser'),
|
|
(SELECT MenuID FROM Menu WHERE Menuname = 'Test Menu #2'), now());
|
|
|
|
|
|
/*
|
|
---------------------------------- Zusatzstoffunvertraeglichkeit ----------------------------------
|
|
*/
|
|
INSERT INTO Zusatzstoffunvertraeglichkeit (PersonID, E_Nummer)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Kaiser'),
|
|
(SELECT E_Nummer FROM Zusatzstoff WHERE Zusatzstoffbezeichnung = 'Eisenoxide und Eisenhydroxide'));
|
|
INSERT INTO Zusatzstoffunvertraeglichkeit (PersonID, E_Nummer)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Kaiser'),
|
|
(SELECT E_Nummer FROM Zusatzstoff WHERE Zusatzstoffbezeichnung = 'Gold'));
|
|
INSERT INTO Zusatzstoffunvertraeglichkeit (PersonID, E_Nummer)
|
|
VALUES ((SELECT PersonID FROM Person WHERE Personenname = 'Amtmann'),
|
|
(SELECT E_Nummer FROM Zusatzstoff WHERE Zusatzstoffbezeichnung = 'Gold'));
|
|
|
|
|
|
/*
|
|
---------------------------------- Clean up ----------------------------------
|
|
*/
|
|
DROP TABLE IF EXISTS tmp_import_0;
|
|
DROP TABLE IF EXISTS tmp_import_1;
|
|
DROP TABLE IF EXISTS tmp_import_2;
|
|
DROP TABLE IF EXISTS tmp_import_3;
|
|
DROP TABLE IF EXISTS tmp_import_4;
|
|
DROP TABLE IF EXISTS tmp_import_5; |