Base de datos MySQL con estados y municipios de México

Base de datos MySQL con estados y municipios de México

La base de datos MySQL con estados y municipios de México fue creada a partir de la necesidad de un proyecto, en el cual el usuario solo debía elegir su estado y su municipio.

Encontré una por internet, sin embargo era muy pequeña y desactualizada, así como otras que tenían datos que no iba a utilizar.

La base de datos fue obtenida de la Comisión Nacional de Vivienda, sin embargo fue un Excel con más de 369 000 registros, de ahí la tarea de pasarlo a MySQL.

image

Al principio solo era una tabla con 3 filas, esto provocaba que la consulta de los datos fuera lenta, se repetían los datos tantas veces que prácticamente era un desperdicio de recursos.

Base de datos MySQL con estados y municipios de México (Normalizada).

La solución fue crear un script que generara las consultas del SQL, esto para generar una base de datos con la estructura habitual de IDS y campos de manera relacionada.

Con un simple ciclo que tardo como 15 minutos en PHP generamos las instrucciones necesarias.

les dejo el código de ejemplo, con el que obtuvimos el resultado (algo primitivo pero asi desarrollo).

$idestado = 0;
$idmunicipio = 0;
$idlocalidad = 0;

$obj = new Consultas;
$estados = $obj->getEstados();
foreach($estados as $id_estado => $indices){
	$idestado ++;
	echo "INSERT INTO estados VALUES($idestado,\"".$indices["estado"]."\");<br>";

	$obj2 = new Consultas;
	$municipios = $obj2->getMunicipios($indices["estado"]);

	foreach($municipios as $id_municipio => $indices){
		$idmunicipio ++;
		echo  "INSERT INTO municipios VALUES($idmunicipio, $idestado, \"".$indices["municipio"]."\");<br>";

		$obj3 = new Consultas;
		$localidades = $obj3->getLocalidad($indices["municipio"]);

		foreach($localidades as $id_localidad => $indices){
			$idlocalidad ++;
			echo "INSERT INTO localidades VALUES ($idlocalidad, $idmunicipio, \"".$indices["localidad"]."\");<br>";
		}
	}
}

Y por fin después de un día de estar procesando cada una de las 369987 líneas obtenemos la base final en MySQL.

Base de datos MySQL con estados y municipios de México (Características).

Base de datos generada en 18 de Junio de 2013

Collation: utf8 – utf8_spanish_ci (las tablas y campos heredan)

Datos existentes:

  • Estados: 32
  • Municipios: 2456
  • Localidades: 369987

*Algunos datos se repiten o tienen algún error en la escritura, sin embargo solo es en localidades muy especificas.

La base de datos NO tiene llaves foráneas, esto ya depende de ustedes si desean asignarlas, en lo personal y por practicidad no las uso. Esto les facilitara además el poder borrar la tabla “localidades” sin ningún problema.

image

 

Sin más por el momento les dejo la base de datos Base de datos MySQL con estados y municipios de México (con localidades) en MySQL.

Solo corran el script en su administrador de MySQL favorito y listo.

Archivo .zip

Tamaño: ~3,278 Kb

contraseña: elporfirio.com

This is box title

Para descargar, copia y pega el siguiente enlace:

https://mega.co.nz/#!PB8l0JhA!eorsDlO94Fjd7-n4Wc6DflBgZFY7JrTA988AkCqq1ek

Si desean una base de datos con más datos, pueden revisar esta que subió nexus en la página developarts.com

http://www.developarts.com/db-estados-municipios-localidades-mexico/

VN:F [1.9.22_1171]
Rating: 5.0/5 (4 votes cast)
Base de datos MySQL con estados y municipios de México , 5.0 out of 5 based on 4 ratings
Related Posts Plugin for WordPress, Blogger...

3 comentarios en “Base de datos MySQL con estados y municipios de México

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

CSS | HTML | JavaScript | PHP | SQL | Sass | Scss | XHTML | XML | XSLT |

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">