Añadir Pedanias españolas

Añadir pedanias españolas

¿ Deseas añadir a la Base de Datos de lugares las pedanias españolas?. En este Tutorial te ofreceré la información y como insertarla correctamente en Investigaciones.odb.

En primer lugar, vamos a insertar a investigaciones.odb una tabla con toda la información de Provincias, Municipios y Pedanias de España, la cual he extraído de diversas consultas a la página web del Instituto Nacional de Estadística http://www.ine.es. La tabla se llama "ListadoPedanias" y la puedes encontrar en el archivo Pedanias.odb (Click para descargar)

¿ Sabemos como hacerlo?, es facil, abrimos los dos documentos, Investigaciones.odb y Pedanias.odb, por el apartado Tablas y arrastramos la tabla "ListadoPedanias" a las tablas de Investigaciones.odb, nos saldrá un asistente para copiar la tabla, siempre siguiente pero teniendo en cuenta que queremos rescatar TODOS los campos. (Ojo, esta tarea puede tardar más o menos tiempo dependiendo de la potencia del ordenador)

Ya tenemos entonces la tabla "ListadoPedanias" en Investigaciones.odb... pues vamos al trabajo:

Lo primero:

Al extraer datos del INE, me he dado cuenta que los datos anteriores tenían algunas poblaciones obsoletas. No es que hayan desaparecido... es que los nombres han cambiado, así que en primer lugar vamos a hacer modificaciones en las Tablas de Investigaciones.odb de Poblaciones y Provincias:

Añadimos poblaciones omitidas en el anterior Investigaciones.odb:

INSERT INTO "Poblaciones"("Poblacion","IdPrecedente") VALUES

('Alfara de la Baronia','47');

INSERT INTO "Poblaciones"("Poblacion","IdPrecedente") VALUES

('Madrid','29');

INSERT INTO "Poblaciones"("Poblacion","IdPrecedente") VALUES

('Barcelona','8');

INSERT INTO "Poblaciones"("Poblacion","IdPrecedente") VALUES

('Canonja, La','44');

INSERT INTO "Poblaciones"("Poblacion","IdPrecedente") VALUES

('Toral de los Vados','26');

INSERT INTO "Poblaciones"("Poblacion","IdPrecedente") VALUES

('Villanueva de la Concepción','30');

Modificamos los nombres de algunas poblaciones:

UPDATE "Poblaciones" SET "Poblacion"='Corrales del Vino' WHERE

"Poblacion"='Corrales' AND "IdPrecedente"=50;

UPDATE "Poblaciones" SET "Poblacion"='Gallipienzo/Galipentzu' WHERE

"Poblacion"='Gallipienzo' AND "IdPrecedente"=33;

UPDATE "Poblaciones" SET "Poblacion"='Legutio' WHERE

"Poblacion"='Legutiano' AND "IdPrecedente"=0;

UPDATE "Poblaciones" SET "Poblacion"='Massalavés' WHERE

"Poblacion"='Masalavés' AND "IdPrecedente"=47;

UPDATE "Poblaciones" SET "Poblacion"='Real Sitio de San Ildefonso' WHERE

"Poblacion"='San Ildefonso' AND "IdPrecedente"=41;

UPDATE "Poblaciones" SET "Poblacion"='Valle de Altomira, El' WHERE

"Poblacion"='Puebla de Don Francisco' AND "IdPrecedente"=18;

UPDATE "Poblaciones" SET "Poblacion"='Sant Joanet' WHERE

"Poblacion"='Sant Joan de l''Ènova' AND "IdPrecedente"=47;

Modificamos el nombre de alguna provincia:

UPDATE "Provincias" SET "Provincia"='Araba/Álava' WHERE

"Provincia"='Álava' AND "IdPrecedente"=61;

UPDATE "Provincias" SET "Provincia"='Balears, Illes' WHERE

"Provincia"='Balears (Illes)' AND "IdPrecedente"=61;

UPDATE "Provincias" SET "Provincia"='Bizkaia' WHERE

"Provincia"='Vizcaya' AND "IdPrecedente"=61;

UPDATE "Provincias" SET "Provincia"='Coruña, A' WHERE

"Provincia"='Coruña (A)' AND "IdPrecedente"=61;

UPDATE "Provincias" SET "Provincia"='Gipuzkoa' WHERE

"Provincia"='Guipúzcoa' AND "IdPrecedente"=61;

UPDATE "Provincias" SET "Provincia"='Palmas, Las' WHERE

"Provincia"='Palmas (Las)' AND "IdPrecedente"=61;

UPDATE "Provincias" SET "Provincia"='Rioja, La' WHERE

"Provincia"='Rioja (La)' AND "IdPrecedente"=61;

En Investigaciones.odb, el campo "Pedania" tiene un tamaño de 50 caracteres, necesitamos subirlo a 80

ALTER TABLE "Pedanias" ALTER COLUMN "Pedania" VARCHAR(80)

Después de hacer esto necesitamos ejecutar el menu Ver>Actualizar tablas...

Ahora, para asegurar la correspondencia entre las Pedanias y sus Poblaciones, vamos a borrar todos los vínculos (dato Id) existente en la tabla "ListadoPedanias"

UPDATE "ListadoPedanias" SET "IdPais"=null,"IdProvincia"=null,"IdPoblacion"=null;

Introduzcamos en "ListadoPedanias" información sobre el Pais (España=61).

UPDATE "ListadoPedanias" SET "IdPais"=61;

Introduzcamos en "ListadoPedanias" información sobre las Provincias correspondientes.

UPDATE "ListadoPedanias" SET "IdProvincia"=(SELECT "Provincias"."Id" FROM "Provincias" WHERE "Provincias"."Provincia"="ListadoPedanias"."Provincia" AND "Provincias"."IdPrecedente"=61);

Introduzcamos en "ListadoPedanias" información sobre las Poblaciones correspondientes. (Nota: esta sentencia tardará bastante en completarse)

UPDATE "ListadoPedanias" SET "IdPoblacion"=(SELECT "Poblaciones"."Id" FROM "Poblaciones" WHERE "Poblaciones"."Poblacion"="ListadoPedanias"."Municipio" AND "Poblaciones"."IdPrecedente"="ListadoPedanias"."IdProvincia")

Podemos comprobar que todo ha salido bien, para ello vamos al apartado de Consultas, y creamos las siguientes consultas por SQL, las cuales no deberían devolver ningún resultado:

SELECT DISTINCT "Provincia" FROM "ListadoPedanias" WHERE "IdProvincia" IS NULL

SELECT DISTINCT "Municipio","Provincia","IdProvincia" FROM "ListadoPedanias" WHERE "IdPoblacion" IS NULL

Para continuar, vamos a asegurarnos que ninguna dirección de persona contiene alguna pedania introducida, si es así será borrado unicamente el dato referente a la pedania:

UPDATE "Direcciones de personas" SET "IdPedania"=null WHERE "IdPedania" IS NOT NULL

Limpiamos la tabla Pedanias

DELETE FROM "Pedanias";

ALTER TABLE "Pedanias" ALTER COLUMN "Id" RESTART WITH 1;

Visto que todo ha ido bien, compactamos la base de datos con la sentencia:

CHECKPOINT DEFRAG

Rellenamos la tabla Pedanias con la información de ListadoPedanias

INSERT INTO "Pedanias"("Pedania","IdPrecedente") SELECT "Pedania","IdPoblacion" FROM "ListadoPedanias"

Finalizada la sentencia, podemos borrar la tabla "ListadoPedanias" y volvemos a COMPACTAR para aprovechar espacio:

CHECKPOINT DEFRAG

Ya podemos comprobar los resultados en los formularios de Gestión de Poblaciones, o buscando a personas...