-- Datos adicionales: Francia, Italia, Alemania, Portugal, etc.

USE trafikhub_web;

-- ==========================================
-- PROVINCIAS DE FRANCIA (Regiones)
-- ==========================================

INSERT INTO provincias_europa (pais_id, codigo_provincia, nombre, nombre_en, capital, poblacion, superficie_km2, tipo) VALUES
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '11', 'Île-de-France', 'Ile-de-France', 'París', 12240800, 12011.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '24', 'Centre-Val de Loire', 'Centre-Val de Loire', 'Orléans', 2575730, 39151.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '27', 'Bourgogne-Franche-Comté', 'Bourgogne-Franche-Comte', 'Dijon', 2807325, 47784.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '28', 'Normandía', 'Normandy', 'Caen', 3327656, 29906.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '32', 'Altos de Francia', 'Hauts-de-France', 'Lille', 5991466, 31813.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '44', 'Gran Este', 'Grand Est', 'Estrasburgo', 5534700, 57441.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '52', 'Pays de la Loire', 'Pays de la Loire', 'Nantes', 3799908, 32082.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '53', 'Bretaña', 'Brittany', 'Rennes', 3356100, 27208.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '75', 'Nueva Aquitania', 'Nouvelle-Aquitaine', 'Burdeos', 5999929, 84036.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '84', 'Auvernia-Ródano-Alpes', 'Auvergne-Rhone-Alpes', 'Lyon', 8058400, 69711.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '93', "Provenza-Alpes-Costa Azul", 'Provence-Alpes-Cote dAzur', 'Marsella', 5083593, 31400.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '94', 'Córcega', 'Corsica', 'Ajaccio', 342000, 8680.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'FR'), '01', 'Occitania', 'Occitanie', 'Toulouse', 5950182, 72724.00, 'región');

-- Ciudades de Francia
INSERT INTO ciudades_europa (provincia_id, nombre, poblacion, es_capital, coordenadas_lat, coordenadas_lng) VALUES
-- Île-de-France
((SELECT id FROM provincias_europa WHERE codigo_provincia = '11' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'París', 2161000, TRUE, 48.8566, 2.3522),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '11' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Boulogne-Billancourt', 119808, FALSE, 48.8356, 2.2417),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '11' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Stains', 34007, FALSE, 48.9596, 2.3844),
-- Auvernia-Ródano-Alpes
((SELECT id FROM provincias_europa WHERE codigo_provincia = '84' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Lyon', 522969, TRUE, 45.7640, 4.8357),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '84' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Grenoble', 158454, FALSE, 45.1885, 5.7245),
-- Provenza-Alpes-Costa Azul
((SELECT id FROM provincias_europa WHERE codigo_provincia = '93' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Marsella', 861635, TRUE, 43.2965, 5.3698),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '93' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Niza', 348085, FALSE, 43.7102, 7.2620),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '93' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Toulon', 176198, FALSE, 43.1242, 5.9280),
-- Nueva Aquitania
((SELECT id FROM provincias_europa WHERE codigo_provincia = '75' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Burdeos', 249712, TRUE, 44.8378, -0.5792),
-- Pays de la Loire
((SELECT id FROM provincias_europa WHERE codigo_provincia = '52' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Nantes', 314138, TRUE, 47.2184, -1.5536),
-- Occitania
((SELECT id FROM provincias_europa WHERE codigo_provincia = '01' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Toulouse', 479553, TRUE, 43.6047, 1.4442),
-- Gran Este
((SELECT id FROM provincias_europa WHERE codigo_provincia = '44' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Estrasburgo', 280966, TRUE, 48.5734, 7.7521),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '44' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Mulhouse', 110370, FALSE, 47.7508, 7.3359),
-- Bretaña
((SELECT id FROM provincias_europa WHERE codigo_provincia = '53' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'FR')), 'Rennes', 218755, TRUE, 48.1173, -1.6778);

-- ==========================================
-- PROVINCIAS DE ITALIA (Regioni)
-- ==========================================

INSERT INTO provincias_europa (pais_id, codigo_provincia, nombre, nombre_en, capital, poblacion, superficie_km2, tipo) VALUES
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'LAZ', 'Lazio', 'Lazio', 'Roma', 5879082, 17232.29, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'LOM', 'Lombardía', 'Lombardy', 'Milán', 10005709, 23863.65, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'CAM', 'Campania', 'Campania', 'Nápoles', 5785861, 13590.49, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'SIC', 'Sicilia', 'Sicily', 'Palermo', 4926700, 25711.00, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'VEN', 'Véneto', 'Veneto', 'Venecia', 4905854, 18393.90, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'EMR', 'Emilia-Romaña', 'Emilia-Romagna', 'Bolonia', 4466042, 22124.51, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'PIE', 'Piamonte', 'Piedmont', 'Turín', 4295926, 25387.07, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'PUG', 'Apulia', 'Apulia', 'Bari', 4029058, 19365.80, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'TOS', 'Toscana', 'Tuscany', 'Florencia', 3729641, 22987.04, 'región'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'IT'), 'CAL', 'Calabria', 'Calabria', 'Catanzaro', 1929701, 15080.55, 'región');

-- Ciudades de Italia
INSERT INTO ciudades_europa (provincia_id, nombre, poblacion, es_capital, coordenadas_lat, coordenadas_lng) VALUES
-- Lazio
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'LAZ' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Roma', 2872800, TRUE, 41.9028, 12.4964),
-- Lombardía
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'LOM' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Milán', 1378689, TRUE, 45.4642, 9.1900),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'LOM' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Brescia', 196670, FALSE, 45.5416, 10.2118),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'LOM' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Bérgamo', 119857, FALSE, 45.6944, 9.6773),
-- Campania
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'CAM' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Nápoles', 950947, TRUE, 40.8518, 14.2681),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'CAM' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Salerno', 132790, FALSE, 40.6824, 14.7681),
-- Sicilia
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'SIC' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Palermo', 676118, TRUE, 38.1157, 13.3613),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'SIC' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Catania', 311584, FALSE, 37.5079, 15.0830),
-- Véneto
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'VEN' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Venecia', 261321, TRUE, 45.4408, 12.3155),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'VEN' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Verona', 259069, FALSE, 45.4384, 10.9916),
-- Emilia-Romaña
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'EMR' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Bolonia', 390625, TRUE, 44.4949, 11.3426),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'EMR' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Módena', 185469, FALSE, 44.6471, 10.9252),
-- Piamonte
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'PIE' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Turín', 847287, TRUE, 45.0703, 7.6869),
-- Apulia
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'PUG' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Bari', 323370, TRUE, 41.1177, 16.8719),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'PUG' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Tarento', 201997, FALSE, 40.4672, 17.2431),
-- Toscana
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'TOS' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Florencia', 383083, TRUE, 43.7696, 11.2558),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'TOS' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'IT')), 'Prato', 193325, FALSE, 43.8800, 11.0967);

-- ==========================================
-- PROVINCIAS DE ALEMANIA (Länder)
-- ==========================================

INSERT INTO provincias_europa (pais_id, codigo_provincia, nombre, nombre_en, capital, poblacion, superficie_km2, tipo) VALUES
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'BE', 'Berlín', 'Berlin', 'Berlín', 3669491, 891.68, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'HH', 'Hamburgo', 'Hamburg', 'Hamburgo', 1845229, 755.16, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'BY', 'Baviera', 'Bavaria', 'Múnich', 13124737, 70541.57, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'BW', 'Baden-Wurtemberg', 'Baden-Wuerttemberg', 'Stuttgart', 11103942, 35751.46, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'NW', 'Renania del Norte-Westfalia', 'North Rhine-Westphalia', 'Düsseldorf', 17932651, 34084.13, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'NI', 'Baja Sajonia', 'Lower Saxony', 'Hannover', 7993608, 47618.24, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'HE', 'Hesse', 'Hesse', 'Wiesbaden', 6265809, 21114.72, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'SN', 'Sajonia', 'Saxony', 'Dresde', 4071971, 18416.00, 'land'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'DE'), 'RP', 'Renania-Palatinado', 'Rhineland-Palatinate', 'Maguncia', 4098392, 19854.31, 'land');

-- Ciudades de Alemania
INSERT INTO ciudades_europa (provincia_id, nombre, poblacion, es_capital, coordenadas_lat, coordenadas_lng) VALUES
-- Berlín
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'BE' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Berlín', 3669491, TRUE, 52.5200, 13.4050),
-- Hamburgo
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'HH' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Hamburgo', 1845229, TRUE, 53.5511, 9.9937),
-- Baviera
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'BY' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Múnich', 1488202, TRUE, 48.1351, 11.5820),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'BY' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Núremberg', 518365, FALSE, 49.4521, 11.0767),
-- Baden-Wurtemberg
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'BW' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Stuttgart', 626275, TRUE, 48.7758, 9.1829),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'BW' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Karlsruhe', 308436, FALSE, 49.0069, 8.4037),
-- Renania del Norte-Westfalia
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'NW' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Colonia', 1083498, FALSE, 50.9375, 6.9603),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'NW' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Düsseldorf', 619294, TRUE, 51.2277, 6.7735),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'NW' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Dortmund', 588250, FALSE, 51.5136, 7.4653),
-- Baja Sajonia
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'NI' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Hannover', 535061, TRUE, 52.3759, 9.7320),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'NI' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Bremen', 569352, FALSE, 53.0793, 8.8017),
-- Hesse
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'HE' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Fráncfort', 759224, FALSE, 50.1109, 8.6821),
((SELECT id FROM provincias_europa WHERE codigo_provincia = 'HE' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'DE')), 'Wiesbaden', 278654, TRUE, 50.0782, 8.2398);

-- ==========================================
-- PROVINCIAS DE PORTUGAL (Distritos)
-- ==========================================

INSERT INTO provincias_europa (pais_id, codigo_provincia, nombre, nombre_en, capital, poblacion, superficie_km2, tipo) VALUES
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '11', 'Lisboa', 'Lisbon', 'Lisboa', 2832850, 3015.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '13', 'Oporto', 'Porto', 'Oporto', 1697303, 2395.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '03', 'Aveiro', 'Aveiro', 'Aveiro', 714200, 2808.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '05', 'Coímbra', 'Coimbra', 'Coímbra', 430104, 3947.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '06', 'Leiria', 'Leiria', 'Leiria', 470930, 3515.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '08', 'Faro', 'Faro', 'Faro', 467495, 4960.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '14', 'Setúbal', 'Setubal', 'Setúbal', 861452, 5200.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '04', 'Beja', 'Beja', 'Beja', 152758, 10027.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '07', 'Santarém', 'Santarem', 'Santarém', 453638, 6747.00, 'distrito'),
((SELECT id FROM paises_europa WHERE codigo_iso = 'PT'), '09', 'Évora', 'Evora', 'Évora', 174018, 7393.00, 'distrito');

-- Ciudades de Portugal
INSERT INTO ciudades_europa (provincia_id, nombre, poblacion, es_capital, coordenadas_lat, coordenadas_lng) VALUES
-- Lisboa
((SELECT id FROM provincias_europa WHERE codigo_provincia = '11' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Lisboa', 547733, TRUE, 38.7223, -9.1393),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '11' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Amadora', 175136, FALSE, 38.7538, -9.2308),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '11' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Sintra', 377835, FALSE, 38.8029, -9.3817),
-- Oporto
((SELECT id FROM provincias_europa WHERE codigo_provincia = '13' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Oporto', 237591, TRUE, 41.1579, -8.6291),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '13' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Vila Nova de Gaia', 302295, FALSE, 41.1240, -8.6116),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '13' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Braga', 193333, FALSE, 41.5518, -8.4229),
-- Setúbal
((SELECT id FROM provincias_europa WHERE codigo_provincia = '14' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Setúbal', 121185, TRUE, 38.5244, -8.8882),
((SELECT id FROM provincias_europa WHERE codigo_provincia = '14' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Queluz', 78806, FALSE, 38.7566, -9.2545),
-- Coímbra
((SELECT id FROM provincias_europa WHERE codigo_provincia = '05' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Coímbra', 143396, TRUE, 40.2033, -8.4103),
-- Leiria
((SELECT id FROM provincias_europa WHERE codigo_provincia = '06' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Leiria', 63184, TRUE, 39.7436, -8.8071),
-- Faro (Algarve)
((SELECT id FROM provincias_europa WHERE codigo_provincia = '08' AND pais_id = (SELECT id FROM paises_europa WHERE codigo_iso = 'PT')), 'Faro', 64124, TRUE, 37.0194, -7.9322);

