-- ===========================================================
-- Glossar-Migration: Logistik-Rest (10 Volleinträge)
-- Schließt die Atlas-Anfrage 2026-04-20-0035 vollständig ab.
--
-- Bereits da: intermodal, frist, teu, logistik, fahrzeug, auftrag, luftlinie
-- Heute neu:  container, umschlag, disposition, leerfahrt, standkosten,
--             bahnterminal, hafen, routing, spedition, logistikkette
--
-- Plus 2 SVG-Infografiken (leerfahrt-vergleich, logistikkette-schema).
-- Idempotent (ON DUPLICATE KEY UPDATE / INSERT IGNORE).
-- ===========================================================

SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
START TRANSACTION;

-- ===========================================================
-- TEIL A: 10 VOLLEINTRÄGE
-- ===========================================================

INSERT INTO glossar (key_slug, title, short, text, short_easy, text_easy, category, image_path) VALUES
('container', 'Container (Logistik)',
 'Standardisierte Stahl-Box für Transport — Kern-Objekt der weltweiten Logistik.',
 'Ein Container ist eine standardisierte Stahl-Box für den Transport von Gütern. Die wichtigste Größe ist der 20-Fuß-Container ([TEU](glossar:teu)), gefolgt vom 40-Fuß-Container (FEU = 2 TEU). Es gibt Sonderformen: **Hi-Cube** (etwas höher, 2,9 m), **[Reefer](glossar:reefer-container)** (gekühlt), **Open-Top** (oben offen, für Maschinen), **Tank** (Flüssigkeiten), **Flatrack** (für Übergröße). Container haben weltweit einheitliche Eckbeschläge, sodass sie überall mit denselben Kränen und Aufliegern gehandhabt werden können — die Erfindung der 1950er-Jahre, die den globalen Handel revolutioniert hat. Ohne Container ist [intermodaler Verkehr](glossar:intermodal) undenkbar.',
 'Stahl-Box mit Standard-Größe — die Verpackung der Welt-Logistik.',
 'Ein Container ist eine große Box aus Stahl. Die Größen sind weltweit gleich. So passt jeder Container auf jedes Schiff. Auf jeden Zug. Auf jeden LKW. Innen sind Waren.',
 'wirtschaft', NULL),

('umschlag', 'Umschlag (Logistik)',
 'Wechsel einer Ware oder eines Containers zwischen Verkehrsmitteln — Kran lädt um.',
 'Umschlag ist der technische Vorgang, bei dem ein [Container](glossar:container) oder eine Palette von einem Verkehrsmittel auf ein anderes wechselt — Schiff zum Zug, Zug zum LKW, LKW ins Lager. Im Hafen übernimmt das ein Hafenkran (Spreader für Container), am Terminal ein Reach-Stacker oder Kran-Portal. Schnelligkeit, Stoßfreiheit und exakte Erfassung sind das Geschäft: Ein moderner Containerhafen schafft 30–40 Container pro Stunde und Kran. Beim Umschlag wechseln auch die Daten — Frachtbrief, Zoll-Status, Eigentumsübergang. Im [intermodalen Verkehr](glossar:intermodal) ist der Umschlag der teuerste Einzelschritt; ihn zu minimieren senkt Kosten und Klimawirkung.',
 'Container vom Schiff auf den Zug heben — oder vom Zug auf den LKW.',
 'Umschlag heißt: Eine Ware wird umgeladen. Vom Schiff auf den Zug. Vom Zug auf den LKW. Ein großer Kran macht das. Es geht schnell.',
 'wirtschaft', NULL),

('disposition', 'Disposition (Logistik)',
 'Die Planung: Welcher Auftrag bekommt welches Fahrzeug? In welcher Reihenfolge?',
 'Disposition ist die Kern-Aufgabe einer [Spedition](glossar:spedition): jeden eingehenden [Auftrag](glossar:auftrag) einem [Fahrzeug](glossar:fahrzeug) zuweisen, die Reihenfolge optimieren, [Leerfahrten](glossar:leerfahrt) vermeiden, [Fristen](glossar:frist) einhalten, Marge maximieren. Disponenten kombinieren mehrere Aufträge zu einer Tour, suchen passende Rückladungen und entscheiden je nach Eile zwischen LKW (schnell, teuer), Bahn (klimafreundlich, mittel) oder Schiff (langsam, sehr billig). Moderne Disposition läuft mit Algorithmen, aber die letzten 10 % Optimierung machen erfahrene Menschen — sie kennen Sperrzeiten, Wetter, Kund*innen-Eigenheiten.',
 'Wer fährt welche Ware, wann, mit welchem Fahrzeug — die Tagesplanung.',
 'Disposition heißt: Planen. Welche Ware fährt mit welchem LKW? Wann? In welcher Reihenfolge? Das ist die Aufgabe der Disposition.',
 'wirtschaft', NULL),

('leerfahrt', 'Leerfahrt',
 'Fahrt ohne Ladung — verursacht Kosten ohne Erlös, schadet Klima und Marge.',
 'Eine Leerfahrt ist der Weg eines [Fahrzeugs](glossar:fahrzeug), der ohne Ladung zurückgelegt wird — typisch die Rückfahrt nach einer einseitigen Tour, oder die Anfahrt zur nächsten Abholstelle. Sie verursacht Kraftstoff-, Personal- und Maut-Kosten, bringt aber keinen Erlös und drückt direkt auf die [Marge](glossar:marge). Klimatechnisch ist sie der pure CO₂-Aufschlag. In Europa fahren rund 21 % aller LKW-Kilometer leer — bei besserer [Disposition](glossar:disposition) und Kooperation zwischen Speditionen wäre der Anteil deutlich senkbar. In der Logistik-Sim erlebst du, wie eine geschickt gebündelte Tour mit Rückladung 30–40 % mehr Marge bringt als zwei Einzelaufträge mit Leerfahrten.',
 'LKW fährt ohne Ladung — kostet Geld, bringt nichts.',
 'Manchmal fährt ein LKW leer. Er hat keine Ware. Aber er kostet Sprit und Zeit. Das ist eine Leer-Fahrt. Sie ist schlecht für die Firma und für das Klima.',
 'wirtschaft', 'assets/img/glossar/leerfahrt-vergleich.svg'),

('standkosten', 'Standkosten',
 'Kosten, während ein Fahrzeug oder Container nicht bewegt wird — Hafen-Lagergeld, Wartepauschalen.',
 'Standkosten fallen an, wenn ein Transportmittel oder Container nicht bewegt wird, aber trotzdem Geld bindet. Beispiele: Ein Container, der nach 5 freien Tagen am Hafen noch immer auf Abholung wartet (Lagergeld 50–200 €/Tag). Ein LKW, der an der Rampe wartet, weil die Halle nicht aufmacht (Wartepauschale 60–80 €/Stunde nach 2 Stunden). Standkosten sind ein klassischer Marge-Killer und entstehen oft durch schlechte Abstimmung — Kund*in nicht erreichbar, Frachtdokumente unvollständig, Hafen überlastet. Gute [Disposition](glossar:disposition) baut Pufferzeiten und alternative Routen ein.',
 'Kosten, wenn LKW oder Container warten — ohne sich zu bewegen.',
 'Stand-Kosten sind Wartezeit-Kosten. Ein LKW wartet vor einer Halle. Ein Container liegt im Hafen und wartet auf Abholung. Das kostet jeden Tag Geld.',
 'wirtschaft', NULL),

('bahnterminal', 'Bahnterminal',
 'Bahnhof speziell für Güterzüge — Container werden zwischen Bahn und LKW umgeladen.',
 'Ein Bahnterminal ist ein spezialisierter Güterbahnhof, an dem [Container](glossar:container) zwischen Zug und LKW gewechselt werden. Im Gegensatz zum Personenbahnhof gibt es hier breite Verlade-Gleise, Portalkräne, große Asphaltflächen und kaum Reisende. Wichtige Bahnterminals in Österreich: Wien-Inzersdorf, Wien-Freudenau (mit Hafen), Salzburg-Liefering, Graz-Süd, Villach-Süd. Sie liegen meist am Stadtrand mit guter Autobahn-Anbindung. Im [intermodalen Verkehr](glossar:intermodal) sind Bahnterminals die Drehscheibe — ohne sie gäbe es keine Bahn-LKW-Kombination.',
 'Bahnhof für Güter — Container kommen vom Zug auf den LKW.',
 'Ein Bahn-Terminal ist ein Bahnhof. Aber nur für Waren. Hier kommen Züge mit Containern an. Die Container werden auf LKW umgeladen. Dann fahren sie weiter.',
 'wirtschaft', NULL),

('hafen', 'Hafen',
 'Ort an Wasser, an dem Schiffe anlegen, be- und entladen werden.',
 'Ein Hafen ist eine Anlage am Meer, See oder Fluss, in der Schiffe anlegen und ihre Ladung umschlagen. Es gibt **Seehäfen** (für Hochseeschifffahrt — Rotterdam, Hamburg, Shanghai), **Binnenhäfen** (für Flussschifffahrt — Wien-Freudenau an der Donau, Linz) und **Spezialhäfen** (Tanker für Öl, RoRo für Autos, Cruise für Passagier*innen). Moderne Containerhäfen sind eigene Städte: Rotterdam erstreckt sich über 40 km Länge, beschäftigt 90 000 Menschen, schlägt 15 Mio [TEU](glossar:teu) pro Jahr um. Häfen sind das Tor zum Welthandel — siehe auch [Welt-Hafen](glossar:welt-hafen).',
 'Anlage am Wasser, wo Schiffe ankommen und Waren laden.',
 'Ein Hafen ist am Meer oder am Fluss. Hier kommen Schiffe an. Sie laden Container aus. Oder neue Container ein. Hamburg und Rotterdam sind große Häfen.',
 'wasser', NULL),

('routing', 'Routing (Logistik)',
 'Berechnen einer Fahrtstrecke zwischen zwei Orten — entlang Straßen oder Bahnlinien.',
 'Routing ist das automatische Berechnen einer Strecke zwischen Start- und Zielpunkt — entlang des realen Straßen- oder Schienennetzes, nicht in [Luftlinie](glossar:luftlinie). Routing-Algorithmen (Dijkstra, A*) berücksichtigen Streckenlängen, Geschwindigkeiten, Sperrungen, Maut, Höhenprofil und für LKWs zusätzlich Höhen- und Breiten-Begrenzungen. In der Logistik-Sim nutzt das Modul OSRM, ein Open-Source-Router auf OpenStreetMap-Daten. Gutes Routing spart Kilometer, Zeit und Sprit; schlechtes Routing schickt LKWs in 3,5-Tonnen-Zonen oder über gesperrte Brücken — beides teuer.',
 'Beste Strecke berechnen — entlang echter Straßen, nicht Luftlinie.',
 'Routing heißt: Den besten Weg suchen. Vom Start zum Ziel. Entlang der Straßen. Der Computer rechnet das schnell aus. So spart man Zeit und Sprit.',
 'wirtschaft', NULL),

('spedition', 'Spedition',
 'Unternehmen, das Transporte für Kunden organisiert — Disposition, Routing, Verträge.',
 'Eine Spedition ist ein Unternehmen, das Güter im Auftrag von Kund*innen transportiert oder transportieren lässt. Manche fahren selbst (Fuhrunternehmen + Spedition), andere disponieren nur und kaufen Transporte bei Frachtführern ein (reine Spedition). Aufgaben: [Disposition](glossar:disposition), [Routing](glossar:routing), Frachtdokumente, Versicherung, Zoll, Schadensfälle, Abrechnung. Die Spedition trägt das wirtschaftliche Risiko: Sie verspricht dem Kunden eine Leistung zum Festpreis, muss aber Kraftstoff, Tarife und Stau-Stunden selbst stemmen. Die größten europäischen Speditionen sind DB Schenker, DHL, Kühne+Nagel, Gebrüder Weiss (Österreich). In der Logistik-Sim spielst du eine kleine Spedition mit 3–5 Fahrzeugen.',
 'Unternehmen, das Transporte plant und organisiert.',
 'Eine Spedition ist eine Firma. Sie organisiert den Transport. Sie sagt: Welcher LKW fährt was wohin? Sie verdient Geld an dem Transport. Beispiele: DHL, Schenker.',
 'wirtschaft', NULL),

('logistikkette', 'Logistikkette',
 'Alle Schritte vom Hersteller bis zur Kundin — Lager, Transport, Umschlag, Lieferung.',
 'Eine Logistikkette (oder *Lieferkette*, engl. *supply chain*) umfasst alle Stationen, die ein Produkt zwischen Herstellung und Verbrauch durchläuft. Beispiel für eine Banane: Plantage in Ecuador → Hafen Guayaquil → [Reefer-Container](glossar:reefer-container) auf Schiff → Hafen Antwerpen → [Bahn](glossar:bahnterminal) ins Frankfurter Großmarkt → LKW zum Wiener Verteilzentrum → Filial-LKW → Supermarktregal → Einkaufstasche. Jede Station kostet Zeit und Geld — die Kette ist nur so stark wie ihr schwächstes Glied. Globale Krisen (Pandemie 2020, Suezkanal-Blockade 2021) zeigen, wie verwundbar lange Ketten sind. Trend: Diversifizierung, mehr regionale Zwischenlager, Digital-Twins.',
 'Alle Schritte einer Ware — von der Fabrik bis zum Kunden.',
 'Eine Logistik-Kette hat viele Stationen. Eine Banane wächst in Süd-Amerika. Sie kommt mit dem Schiff. Dann mit dem Zug. Dann mit dem LKW. Am Ende ist sie im Geschäft. Das ist die Kette.',
 'wirtschaft', 'assets/img/glossar/logistikkette-schema.svg')
ON DUPLICATE KEY UPDATE title=VALUES(title), short=VALUES(short), text=VALUES(text), short_easy=VALUES(short_easy), text_easy=VALUES(text_easy), category=VALUES(category), image_path=VALUES(image_path);

-- ===========================================================
-- TEIL B: Modul-Zuordnungen
-- ===========================================================

-- Alle 10 → logistik
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'logistik' FROM glossar WHERE key_slug IN
('container','umschlag','disposition','leerfahrt','standkosten',
 'bahnterminal','hafen','routing','spedition','logistikkette');

-- Container, Umschlag, Hafen → auch zu Busfahrt (Häfen tauchen in Stadt-Bildern auf)
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'busfahrt' FROM glossar WHERE key_slug IN ('container','hafen');

-- Hafen → auch zu Klima + Fluss (Seespiegel-/Hochwasser-Kontext)
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'klima' FROM glossar WHERE key_slug='hafen';
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'fluss' FROM glossar WHERE key_slug='hafen';

-- Logistikkette → auch zu Lieferketten + Farmer (Welthandel)
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'lieferketten' FROM glossar WHERE key_slug='logistikkette';
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'farmer' FROM glossar WHERE key_slug='logistikkette';

-- Container, Umschlag → Lieferketten
INSERT IGNORE INTO glossar_modules (glossar_id, module_id)
SELECT id, 'lieferketten' FROM glossar WHERE key_slug IN ('container','umschlag','spedition');

-- ===========================================================
-- TEIL C: Related-Verknüpfungen (bidirektional)
-- ===========================================================

-- container <-> teu, intermodal, umschlag, reefer-container, fahrzeug
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='container' AND g2.key_slug IN ('teu','intermodal','umschlag','reefer-container','fahrzeug');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='container' AND g2.key_slug IN ('teu','intermodal','umschlag','reefer-container','fahrzeug');

-- umschlag <-> intermodal, container, hafen, bahnterminal
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='umschlag' AND g2.key_slug IN ('intermodal','container','hafen','bahnterminal','welt-hafen');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='umschlag' AND g2.key_slug IN ('intermodal','container','hafen','bahnterminal','welt-hafen');

-- disposition <-> auftrag, fahrzeug, leerfahrt, frist, spedition, routing
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='disposition' AND g2.key_slug IN ('auftrag','fahrzeug','leerfahrt','frist','spedition','routing');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='disposition' AND g2.key_slug IN ('auftrag','fahrzeug','leerfahrt','frist','spedition','routing');

-- leerfahrt <-> disposition, marge, fahrzeug, auftrag
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='leerfahrt' AND g2.key_slug IN ('disposition','marge','fahrzeug','auftrag','umweg');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='leerfahrt' AND g2.key_slug IN ('disposition','marge','fahrzeug','auftrag','umweg');

-- standkosten <-> hafen, bahnterminal, frist, marge
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='standkosten' AND g2.key_slug IN ('hafen','bahnterminal','frist','marge','disposition');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='standkosten' AND g2.key_slug IN ('hafen','bahnterminal','frist','marge','disposition');

-- bahnterminal <-> intermodal, fahrzeug, container, umschlag
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='bahnterminal' AND g2.key_slug IN ('intermodal','fahrzeug','container','umschlag','hafen');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='bahnterminal' AND g2.key_slug IN ('intermodal','fahrzeug','container','umschlag','hafen');

-- hafen <-> welt-hafen, umschlag, container, fahrzeug, intermodal
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='hafen' AND g2.key_slug IN ('welt-hafen','umschlag','container','fahrzeug','intermodal','meeresspiegel');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='hafen' AND g2.key_slug IN ('welt-hafen','umschlag','container','fahrzeug','intermodal','meeresspiegel');

-- routing <-> luftlinie, umweg, disposition, gps
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='routing' AND g2.key_slug IN ('luftlinie','umweg','disposition','gps','koordinate');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='routing' AND g2.key_slug IN ('luftlinie','umweg','disposition','gps','koordinate');

-- spedition <-> logistik, disposition, auftrag, fahrzeug, marge
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='spedition' AND g2.key_slug IN ('logistik','disposition','auftrag','fahrzeug','marge','logistikkette');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='spedition' AND g2.key_slug IN ('logistik','disposition','auftrag','fahrzeug','marge','logistikkette');

-- logistikkette <-> logistik, intermodal, hafen, fahrzeug, spedition
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g1.id, g2.id FROM glossar g1, glossar g2
WHERE g1.key_slug='logistikkette' AND g2.key_slug IN ('logistik','intermodal','hafen','fahrzeug','spedition','container','welt-hafen');
INSERT IGNORE INTO glossar_related (glossar_id, related_id)
SELECT g2.id, g1.id FROM glossar g1, glossar g2
WHERE g1.key_slug='logistikkette' AND g2.key_slug IN ('logistik','intermodal','hafen','fahrzeug','spedition','container','welt-hafen');

-- ===========================================================
-- TEIL D: Beispiele (1 pro Eintrag, mit Easy)
-- ===========================================================

DELETE ge FROM glossar_examples ge
JOIN glossar g ON g.id = ge.glossar_id
WHERE g.key_slug IN
('container','umschlag','disposition','leerfahrt','standkosten',
 'bahnterminal','hafen','routing','spedition','logistikkette');

INSERT INTO glossar_examples (glossar_id, text, text_easy, sort_order)
SELECT id, 'Weltweit existieren rund 50 Millionen Container — etwa 6 pro Sekunde wechseln gerade ihren Standort.', 'Auf der Welt gibt es etwa 50 Millionen Container. Sie sind ständig unterwegs.', 1 FROM glossar WHERE key_slug='container'
UNION ALL SELECT id, 'Ein moderner Hafenkran schafft 30–40 Container-Umschläge pro Stunde — alle 90 Sekunden ein Container.', 'Ein großer Kran lädt schnell um. Ein Container in 90 Sekunden. Alle 2 Minuten einer.', 1 FROM glossar WHERE key_slug='umschlag'
UNION ALL SELECT id, 'Ein Disponent jongliert in Echtzeit 50–80 Aufträge auf 10–15 Fahrzeuge — pure Mustererkennung.', 'Eine Person verteilt 80 Aufträge auf 12 LKW. Alles in einem Computer-Programm. Sehr schnell.', 1 FROM glossar WHERE key_slug='disposition'
UNION ALL SELECT id, 'In Europa fährt rund jeder 5. LKW-Kilometer leer — ein riesiges Sparpotenzial.', 'Jeder 5. LKW fährt leer. Das ist viel. Hier kann man viel sparen.', 1 FROM glossar WHERE key_slug='leerfahrt'
UNION ALL SELECT id, 'Ein Container bleibt nach 5 Freitagen am Hafen liegen → 75 €/Tag Lagergeld läuft an.', 'Ein Container ist 5 Tage frei. Danach kostet jeder Tag 75 Euro. Im Hafen.', 1 FROM glossar WHERE key_slug='standkosten'
UNION ALL SELECT id, 'Wien-Inzersdorf bewegt jährlich rund 250 000 Container von der Schiene auf den LKW.', 'In Wien-Inzersdorf werden 250 000 Container pro Jahr umgeladen. Vom Zug auf den LKW.', 1 FROM glossar WHERE key_slug='bahnterminal'
UNION ALL SELECT id, 'Wien-Freudenau ist der größte Donau-Hafen Österreichs — Kreuzung Schiff, Bahn, LKW.', 'In Wien gibt es einen Hafen an der Donau. Hier kommen Schiffe an. Es heißt Freudenau.', 1 FROM glossar WHERE key_slug='hafen'
UNION ALL SELECT id, 'OSRM-Routing rechnet für Wien–Hamburg in unter 200 ms eine 1 050-km-Route mit 33 Wegpunkten.', 'Der Computer rechnet schnell. Von Wien nach Hamburg sind es 1 050 km. Das geht in einer halben Sekunde.', 1 FROM glossar WHERE key_slug='routing'
UNION ALL SELECT id, 'DB Schenker beschäftigt 70 000 Menschen und ist Europas größte Spedition.', 'DB Schenker ist eine sehr große Spedition. Sie hat 70 000 Mitarbeiter. In ganz Europa.', 1 FROM glossar WHERE key_slug='spedition'
UNION ALL SELECT id, 'Vom Banane-Strauch in Ecuador bis zum Wiener Supermarktregal: 5 Verkehrsmittel, 4 Wochen, 11 000 km.', 'Eine Banane reist weit. Aus Süd-Amerika nach Wien. Mit Schiff, Zug und LKW. 4 Wochen lang.', 1 FROM glossar WHERE key_slug='logistikkette';

-- ===========================================================
-- TEIL E: Wikipedia-Links
-- ===========================================================

DELETE gl FROM glossar_links gl
JOIN glossar g ON g.id = gl.glossar_id
WHERE g.key_slug IN
('container','umschlag','disposition','leerfahrt','standkosten',
 'bahnterminal','hafen','routing','spedition','logistikkette');

INSERT INTO glossar_links (glossar_id, label, url, sort_order)
SELECT id, 'Wikipedia: ISO-Container', 'https://de.wikipedia.org/wiki/ISO-Container', 1 FROM glossar WHERE key_slug='container'
UNION ALL SELECT id, 'Wikipedia: Containerumschlag', 'https://de.wikipedia.org/wiki/Containerumschlag', 1 FROM glossar WHERE key_slug='umschlag'
UNION ALL SELECT id, 'Wikipedia: Disposition (Logistik)', 'https://de.wikipedia.org/wiki/Disposition_(Logistik)', 1 FROM glossar WHERE key_slug='disposition'
UNION ALL SELECT id, 'Wikipedia: Leerfahrt', 'https://de.wikipedia.org/wiki/Leerfahrt', 1 FROM glossar WHERE key_slug='leerfahrt'
UNION ALL SELECT id, 'Wikipedia: Demurrage und Detention', 'https://de.wikipedia.org/wiki/Demurrage_(Schifffahrt)', 1 FROM glossar WHERE key_slug='standkosten'
UNION ALL SELECT id, 'Wikipedia: Güterbahnhof / Terminal', 'https://de.wikipedia.org/wiki/G%C3%BCterbahnhof', 1 FROM glossar WHERE key_slug='bahnterminal'
UNION ALL SELECT id, 'Wikipedia: Hafen', 'https://de.wikipedia.org/wiki/Hafen', 1 FROM glossar WHERE key_slug='hafen'
UNION ALL SELECT id, 'OpenStreetMap Routing (OSRM)', 'http://project-osrm.org/', 1 FROM glossar WHERE key_slug='routing'
UNION ALL SELECT id, 'Wikipedia: Spedition', 'https://de.wikipedia.org/wiki/Spedition', 1 FROM glossar WHERE key_slug='spedition'
UNION ALL SELECT id, 'Wikipedia: Lieferkette', 'https://de.wikipedia.org/wiki/Lieferkette', 1 FROM glossar WHERE key_slug='logistikkette';

COMMIT;
-- Lehrplan-Aufstockung für heli/farmer/busfahrt/energiemanager (2026-05-04)
-- Export aus lokaler DB. Idempotent (INSERT IGNORE).

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

LOCK TABLES `kompetenzen` WRITE;
/*!40000 ALTER TABLE `kompetenzen` DISABLE KEYS */;
/*!40000 ALTER TABLE `kompetenzen` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

LOCK TABLES `lehrplan_anchors` WRITE;
/*!40000 ALTER TABLE `lehrplan_anchors` DISABLE KEYS */;
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1198,93,'AT','fach',NULL,'MS / AHS-U','4. Klasse (Sek I)','GW','Werte und zentrale Themen der EU','BMBWF GW-Lehrplan Sek I 2023, Kompetenz 4.5','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Die Bedeutung gemeinsamer Werte wie Friedenserhaltung, Demokratie oder Freiheit begründen und zentrale Themen der EU wie die vier Grundfreiheiten (Waren, Personen, Kapital und Dienstleistungen), den Euro, Bildungskooperationen, Qualitätsstandards, Verbraucherschutz oder Regionalentwicklung im Hinblick auf das eigene Leben reflektieren.',116,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1199,93,'AT','fach',NULL,'MS / AHS-U','4. Klasse (Sek I)','GW','Chancen und Herausforderungen der EU-Integration','BMBWF GW-Lehrplan Sek I 2023, Kompetenz 4.6','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Chancen und Herausforderungen der europäischen Integration sowie die Notwendigkeit und Schwierigkeit von gemeinsamen Problemlösungen auf europäischer Ebene in einer globalisierten Welt erörtern.',117,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1200,93,'AT','fach',NULL,'MS / AHS-U','4. Klasse (Sek I)','GW','EU-Gliederungen und Darstellungen analysieren','BMBWF GW-Lehrplan Sek I 2023, Kompetenz 4.4','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Unterschiedliche Gliederungen, Wahrnehmungen und Darstellungen von Europa und der Europäischen Union in ihrer Vielfalt beschreiben, in (Geo-)Medien analysieren und dazu kritisch Stellung beziehen.',118,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1201,93,'AT','uebergreifendes_thema',NULL,'MS / AHS-U','1.–4. Klasse','Politische Bildung','Übergreifendes Thema Nr. 7 — Politische Bildung','BMBWF Lehrplan Sek I 2023, Vierter Teil (Übergreifende Themen)','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Demokratie verstehen und mitgestalten ist das Kernanliegen der politischen Bildung. Die EU-Werkstatt macht das ordentliche Gesetzgebungsverfahren, das Initiativmonopol der Kommission und die Hürden der Bürgerinitiative an konkreten Fällen erlebbar.',119,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1202,93,'AT','uebergreifendes_thema',NULL,'MS / AHS-U','1.–4. Klasse','Wirtschafts-, Finanz- und Verbraucher:innenbildung','Übergreifendes Thema Nr. 13 — Wirtschaftsbildung','BMBWF Lehrplan Sek I 2023, Vierter Teil (Übergreifende Themen)','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Verbraucherschutz, Binnenmarkt-Standards (USB-C, Roaming, DSGVO) und die ökonomische Dimension von EU-Gesetzen sind Pflichtbereich der Wirtschaftsbildung. Die EU-Werkstatt verbindet politische Beteiligung mit konkreten Verbraucher*innen-Themen.',120,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1203,93,'AT','uebergreifendes_thema',NULL,'MS / AHS-U','1.–4. Klasse','Medienbildung','Übergreifendes Thema Nr. 6 — Medienbildung','BMBWF Lehrplan Sek I 2023, Vierter Teil (Übergreifende Themen)','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Wer macht europäische Politik sichtbar? Wer beeinflusst sie? Lobbyismus, Transparenzregister und der Umgang mit Quellen sind Querschnittsthemen der Medienbildung — die EU-Werkstatt arbeitet mit echten Fällen und ermöglicht Quellenkritik.',121,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1204,93,'AT','anderes_fach',NULL,'MS / AHS-U','3.–4. Klasse','Geschichte und politische Bildung','Geschichte und politische Bildung — EU-Geschichte und Demokratie','BMBWF Lehrplan Sek I 2023, Fachlehrplan Geschichte und politische Bildung','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Die Entwicklung der Europäischen Union (Montanunion, EWG, Maastricht, Lissabon), das Verhältnis von supranationaler und nationaler Demokratie sowie der Vergleich politischer Systeme sind Kernbestand des Fachlehrplans GSP.',122,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1205,93,'AT','anderes_fach',NULL,'MS / AHS-U','1.–4. Klasse','Deutsch','Deutsch — Texte verstehen, argumentieren, beschwerden formulieren','BMBWF Lehrplan Sek I 2023, Fachlehrplan Deutsch','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','EU-Petitionen und Bürgerinitiativen schriftlich formulieren, Gesetzes­texte erschließen, Positionen begründet vortragen — die Sprachkompetenzen aus dem Deutschunterricht sind die Grundlage für aktive politische Beteiligung.',123,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1213,107,'AT','fach',NULL,'MS / AHS-U','1. Klasse (Sek I)','GW','Nachhaltige Ernährung — wo wächst was?','BMBWF GW-Lehrplan Sek I 2023, Kompetenz 1.8 / 1.9','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Ausgehend von individuellen Ernährungsgewohnheiten (land-)wirtschaftliche Produktion, deren gesellschaftliche, wirtschaftliche und naturräumliche Bedingungen sowie deren Wandel an weltweit ausgewählten Fallbeispielen verorten und vergleichen; den Einfluss des Klimawandels auf die Erzeugung von ausreichenden und gesunden Nahrungsmitteln erörtern.',131,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1214,107,'AT','fach',NULL,'MS / AHS-U','3. Klasse (Sek I)','GW','Landwirtschaftlich geprägte Regionen Österreichs und der Welt','BMBWF GW-Lehrplan Sek I 2023, Kompetenz 3.6','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Industrieregionen, Tourismusregionen, landwirtschaftlich geprägte Regionen und Regionen mit anderen wirtschaftlichen Schwerpunkten charakterisieren und verorten. Die Simulation deckt Klimazonen weltweit (Tropen, Subtropen, gemäßigte Zonen, Polargebiete) ab und macht Anbaugrenzen erlebbar.',132,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1215,107,'AT','fach',NULL,'MS / AHS-U','4. Klasse (Sek I)','GW','Anbaugrenzen, Belastungsgrenzen, globale Welternährung','BMBWF GW-Lehrplan Sek I 2023, Kompetenz 4.1 / 4.10','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Ausmaß des menschlichen Einflusses auf Natursysteme an Beispielen wie Land- und Ressourcennutzung beschreiben; Anforderungen nachhaltiger wirtschaftlicher Aktivitäten in der globalisierten Welt diskutieren — darunter Klimawandel-Folgen für die Welternährung (Verschiebung von Anbauzonen, Verlust fruchtbarer Böden).',133,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1216,107,'AT','uebergreifendes_thema',NULL,'MS / AHS-U','1.–4. Klasse','Umweltbildung für nachhaltige Entwicklung','Übergreifendes Thema Nr. 11 — Umweltbildung','BMBWF Lehrplan Sek I 2023, Vierter Teil (Übergreifende Themen)','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Bodennutzung, Monokultur, Bodenmüdigkeit, Wasserverbrauch und Klimawandelanpassung in der Landwirtschaft sind Kernfelder der BNE. Die Simulation arbeitet mit Köppen-Geiger-Klimazonen und FAO-Eignungsklassen (S1–N2) — wissenschaftlich fundiert, didaktisch reduziert.',134,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1217,107,'AT','uebergreifendes_thema',NULL,'MS / AHS-U','1.–4. Klasse','Wirtschafts-, Finanz- und Verbraucher:innenbildung','Übergreifendes Thema Nr. 13 — Wirtschaftsbildung','BMBWF Lehrplan Sek I 2023, Vierter Teil (Übergreifende Themen)','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Globale Lieferketten von Lebensmitteln, Importpreis-Mechanik (Reefer-Container, Welt-Häfen), CO₂-Fußabdruck der Ernährung — die Simulation macht den ökonomischen Aspekt der Landwirtschaft sichtbar, von der Anbauentscheidung bis zum Marktpreis.',135,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1218,107,'AT','anderes_fach',NULL,'MS / AHS-U','1.–4. Klasse','Biologie und Umweltbildung','Biologie und Umweltbildung — Pflanzen, Tiere, Ökosysteme, Bodenkunde','BMBWF Lehrplan Sek I 2023, Fachlehrplan Biologie und Umweltbildung','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Der Lebensraum Boden, Nährstoffkreisläufe, Photosynthese, tierische Produktion und Ökosystem-Dienstleistungen sind biologische Fundamente der Landwirtschaft. Die Simulation behandelt Nutzpflanzen (Weizen, Mais, Reis, Banane, Kaffee, Olive, Datteln) und Nutztiere (Rind, Schaf, Kamel, Rentier) im jeweiligen ökologischen Kontext.',136,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1219,107,'AT','anderes_fach',NULL,'MS / AHS-U','2.–4. Klasse','Chemie','Chemie — Düngung, Bodenchemie, Photosynthese','BMBWF Lehrplan Sek I 2023, Fachlehrplan Chemie','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Stickstoff-Phosphor-Kalium-Düngung, Bodenchemie und der Stoff­wechsel der Photosynthese (CO₂ + H₂O → Zucker) sind chemische Grundlagen, die Erträge erklären. Die Simulation referenziert diese Konzepte über Eignungsstufen und Bodenmüdigkeit.',137,'2026-05-03 23:44:58');
INSERT  IGNORE INTO `lehrplan_anchors` VALUES (1220,107,'AT','anderes_fach',NULL,'MS / AHS-U','1.–4. Klasse','Mathematik','Mathematik — Karten, Eignungsklassen, Erträge in Prozent','BMBWF Lehrplan Sek I 2023, Fachlehrplan Mathematik','https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20007850','Karten- und Maßstabsarbeit, prozentuale Erträge (S1=100%, S2=80%, S3=60%, N1=30%, N2=0%), Bilanzrechnungen und Risikoabwägung — die Simulation übt mathematische Grundkompetenzen am konkreten Anwendungsfall.',138,'2026-05-03 23:44:58');
/*!40000 ALTER TABLE `lehrplan_anchors` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

LOCK TABLES `kompetenz_modules` WRITE;
/*!40000 ALTER TABLE `kompetenz_modules` DISABLE KEYS */;
INSERT  IGNORE INTO `kompetenz_modules` VALUES (1,'energiemanager',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (1,'farmer',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (2,'heli',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (3,'heli',0,'primaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (41,'busfahrt',0,'primaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (42,'busfahrt',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (43,'busfahrt',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (43,'farmer',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (45,'heli',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (46,'heli',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (57,'energiemanager',0,'primaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (80,'farmer',0,'sekundaer');
INSERT  IGNORE INTO `kompetenz_modules` VALUES (107,'farmer',0,'primaer');
/*!40000 ALTER TABLE `kompetenz_modules` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

