Título: Base de Datos de Ciudades del Mundo Publicado por: Skeletron en 20 Marzo 2010, 00:27 am Hola gente del foro/visitantes!
Como se ha hablado en este tema (http://foro.elhacker.net/bases_de_datos/base_de_datos_de_localidades_de_todo_el_mundo-t287422.0.html), parece que a varios usuarios (y seguramente muchos programadores) les hace falta una base de datos que posea localidades (ciudades, pueblos, etc etc..) de todo mundo. Hoy estuve viendo, y parece que no es tan facil encontrar una base de datos del estilo, totalmente "limpia" (sin localidades repetidas y/o con errores graves). Pero encontré GeoNames.org, pero la cual, tiene un defecto importante: Tiene todo totalmente desparramado en 1 sola tabla. Totalmente ineficiente. Esa base de datos tiene informacion hasta de las cosas mas inospitas de la tierra, y como muchos sabran: Exceso de informacion, es falta de informacion. Aunque GeoName, nos facilita algo: Nos puede dar todo el rejunte de informacion por Pais. O sea que puedo descargar todo eso desparramado de Argentina. Yo conozco argentina, y por ende, sé cuales cosas son Provincias, Localidades, etc. Puedo deducirlo tambien en base a una tabla que da GeoName, donde clasifica las entradas de la base de datos, con un campo: "FCLASS". Recien investigando, me di cuenta que FCLASS=PPL, son las localidades y Paises. Es cuestion de borrar las entradas que FCLASS no es ="PPL" y listo. Pero, hay paises que son totalmente inestables, como EE.UU. donde no solo existen PROVINCIAS, sino que tambien esas provincias (ellos lo llaman ESTADO) tienen sub-diviciones, y esas tienen mas subdiviciones, y a la vez mas y mas y mas!!..... Entonces me dije una cosa: Si los chicos del foro me dicen exactamente sobre que paises estan interesados tener esta informacion, yo podria descargarlos individualmente y lograr armar una tabla: PAISES, una tabla PROVINCIAS y una tabla LOCALIDADES/CIUDADES. Aquel de quiera que su pais, o X pais aparezca en la base de datos, tendrá que dar la siguiente informacion: *Nombre del Pais *Nombre de todas sus Provincias Para ARGENTINA, no será necesario, ya que yo conozco que Provincias tiene. Ahora por favor, alguien empiece a pedir Paises y diga el nombre de todas sus provincias. Alguien quiere participar? Yo luego armo todas las tablas Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 20 Marzo 2010, 00:29 am Buen aporte para la gente de desarrollo web digo ::) portales y formularios. ;-)
Si todavia fuese Moderad@r de esta area te diera chincheta :rolleyes: pero como no lo soy, dejemos a Napk haber si lo considera y se anima :P Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Skeletron en 20 Marzo 2010, 00:44 am A ver si empiezas Tiffa dando los nombres de la provincias donde vives
Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 20 Marzo 2010, 00:46 am Citar A ver si empiezas Tiffa dando los nombres de la provincias donde vives Yo :o :o :o :o Apenas se como se llama la provincia donde yo vivo :xD nisiquiera se cuantas provincias en total tiene el pais :xD :xD Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Skeletron en 20 Marzo 2010, 03:43 am Bueno.
Parece que por ahora nadie se interesa. Es probable que empiece con algunos paises de Sud-Centro america y Europa. Comenzaré con Argentina + Mexico + Colombia + España Luego seguiré con demas de Sudamerica.. Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Baaaw Oic en 20 Marzo 2010, 04:21 am Me apunto siempre y cuando se plantee la estructura de la BD ... saludos.
Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 20 Marzo 2010, 04:45 am Creo que el quiere que digas de que pais eres y indiques todas las provincias de ese pais.
Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Skeletron en 20 Marzo 2010, 04:56 am Me apunto siempre y cuando se plantee la estructura de la BD ... saludos. Claro que si tio... Si despues subiré los archivos para que utilices en tu web..Creo que el quiere que digas de que pais eres y indiques todas las provincias de ese pais. +1Gracias Tiffa Título: Re: Base de Datos de Ciudades del Mundo Publicado por: seba123neo en 20 Marzo 2010, 05:02 am con buscar 10 minutos en wikipedia tenes todas las provincias que quieras.. :¬¬
Título: Re: Base de Datos de Ciudades del Mundo Publicado por: rob1104 en 20 Marzo 2010, 05:07 am Estados Unidos tiene esta jerarquia:
-País -Estado -Condando -Ciudad Sin embargo, el condado siempre se obvia en ese tipo de formularios, asi que puedes seguir la misma logica Ciudad-Estado-Ciudad Saludos EDITO: En la pagina de sexyono estan las localidades mas importantes de paises hispanos y E.U. Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Skeletron en 20 Marzo 2010, 15:01 pm Estados Unidos tiene esta jerarquia: -País -Estado -Condando -Ciudad Sin embargo, el condado siempre se obvia en ese tipo de formularios, asi que puedes seguir la misma logica Ciudad-Estado-Ciudad Saludos EDITO: En la pagina de sexyono estan las localidades mas importantes de paises hispanos y E.U. Bien..!! Dame tu link y te pongo un 10 chico sexy! jajajajaj Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Baaaw Oic en 21 Marzo 2010, 14:04 pm Aqui es
Pais - Departamento - Provincia - Distrito Esta en wikipedia pero la idea es tener un archivo unico con todos los datos ya metidos en la BD. Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Ari Slash en 21 Marzo 2010, 15:32 pm Aqui en chile es:
Pais -Region -Provincia -Comuna -Ciudad -Sector -Poblacion o villa -Calle -Mi casa xD y la BD seria una verdadera celula cada pais debe tener n regiones, cada region debe tener n provincias cada provincia debe tener n ciudades saludos Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 16:08 pm Donde vivo es:
Pais Provincia Lo de calle y Sector eso es ya individual a lo que Skeletron esta solicitando supongo :P Pero considerando los ejemplos de como esta organizado todo en sus paises... la estructura final de las tablas deberan ser varias, ya que hay paises que tienen detalles de sus localidades que otros no la tienen... serian varias tablas hijas y una padre para la relacion.. Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Baaaw Oic en 21 Marzo 2010, 16:10 pm Haber esperemos la estructura de Skeletron.
Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Ari Slash en 21 Marzo 2010, 16:21 pm Pero considerando los ejemplos de como esta organizado todo en sus paises... la estructura final de las tablas deberan ser varias, ya que hay paises que tienen detalles de sus localidades que otros no la tienen... serian varias tablas hijas y una padre para la relacion.. yo creo que debemos tomar los atributos que estan en todas las localidades en comun como obligatorios (1,1)y los que estan en especificos que sean opcionales (0,1), todo en una sola tabla asi nos evitamos estar haciendo muchas tablas y dejamos una comun y generica que es mas facil de entender y administrar para relacionar con demas tablas, bueno dependiendo del uso que se le de xD saludos Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 16:27 pm Aunque reconozco que hay ocasiones donde desnormalizar una estructura de tablas es beneficioso he inclusive mas optimizado que la normalizacion. Por etica, por limpieza y por mejor manejo ante cualquier modificacion o cambio que otra persona quiera darle a la estructura de tablas, deberia considerarse un poco la normalizacion aqui. No puedo decir que inconvenientes podria tener (podrian haber datos duplicados, donde Sector en X pais y donde no exista Sector en otro pais porke no lo usen por ejemplo, pues... que valor iria alli NULL :huh: ? ) hay que ver primero el planteamiento que Skeletron esta considerando... pero para este caso especifico, al menos yo si me inclinaria por la normalizacion antes de la desnormalizacion, aunque eso incluya crear un sinumero distinto de tablas..
Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Ari Slash en 21 Marzo 2010, 16:37 pm bueno si esperemos a eskeletron
bueno para mi seria mas facil administrar 1 tabla que varias, bueno eso va a criterio de uno, creo pero como dices, para que otra persona despues pueda actuar sobre la base de datos es mejor dejarlo normalizado. o bien hacer la normalizadas como lo que has planteado y de ahi optimizarla al gusto del que la use :) saludos Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 16:47 pm Ok Ari y como harias este proyecto en 1 sola tabla????
Pregunto porque por ejemplo 3 paises distintos ya expuestos: Citar Pais - Departamento - Provincia - Distrito Pais -Region -Provincia -Comuna -Ciudad Pais Provincia Considera, como haces 1 sola tabla con 3 ejemplos de 3 paises distintos como los anteriores expuestos... hay campos que en otros pais no existen pero si existen en uno, entonces como se le hace aca??? porque si consideras incluirlos todos en la misma tabla.. van a ver muchos valores NULL integrados ahi esto sin considerar datos duplicados, recuerdate que hay nombres de ciudades similares aun siendo distintos paises (cordoba por ejemplo hay uno en Espana hay otro en Argentina)....Y si tu quieres actualizar por ejemplo cordoba... y das un UPDATE se van a actualizar ambos a la vez Argentina y Espana (y si hay mas cordoba en otro pais tambien)... y si quieres eliminar el pais de provincia cordoba se van a eliminar todos los paises con alguna region llamada cordoba? Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Ari Slash en 21 Marzo 2010, 16:56 pm la tabla seria Localidades:
Pais (Obligatorio) Departamento (opcional) Region (Opcional) Provincia (Obligatorio) Distrito (opcional) Comuna (opcional) Ciudad (Obligatorio) <- Este debe ser primary key los valores opcionales pueden ser null, por ejemplo aqui mi localidad es concepcion chile: Pais Chile Departamento NULL Region Region del bio-bio Provincia Concepcion Distrito NULL Comuna Concepcion Ciudad Concepcion habran valores null y valores repetidos, pero lo de repetidos no importa ya que en una provincia pueden haber varias comunas o en un pais puede tener varias regiones o departamentos, no seria necesario validar si esta repetido o no. En cambio las ciudades si, asi que por esa razon la colocamos como primary key para que no se repita y ademas la ciudad es la localidad en si, por eso como clave identificadora queda bien Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ~ Yoya ~ en 21 Marzo 2010, 16:58 pm Esto parece Off-topic....
Porque tifa no es moderadora? Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 17:01 pm Citar Porque tifa no es moderadora? Lo era, decidi renunciar a la posicion por cuestiones que no voy a comentar aqui. Pero, lo valioso es que puedo seguir respondiendo y cooperando en el area cuando alguien tenga alguna duda, no hay que moderar un subforo para ayudar ;) Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 17:03 pm Citar En cambio las ciudades si, asi que por esa razon la colocamos como primary key para que no se repita y ademas la ciudad es la localidad en si, por eso como clave identificadora queda bien Ok entonces, los paises distintos que tengan el mismo nombre de ciudades que pasara??? sino se pueden repetir digo :P Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Ari Slash en 21 Marzo 2010, 17:12 pm En esos casos yo en el nombre de la ciudad colcoaria ademas un identificador
por ejemplo aqui cerca hay una ciudad llamada los angeles y tambien esta los angeles de estados unidos en ese caso yo colocaria, Los angeles CH y Los Angeles CA seguir manteniendo una tabla seria super bueno para facilitar el uso que se le de tambien seria el caso de colocar la ciudad y pais como primary key, y hay se puede repetir sin problemas siempre que sea de otro pais saludos Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 17:18 pm Citar en ese caso yo colocaria, Los angeles CH y Los Angeles CA Ok entonces... tu vas a memorizarte todos los autentificadores existentes en la tabla donde cada pais tenga una ciudad de nombre identico :huh: :huh: digamos que no que no te lo memorizas, pero para no afectar otros registros tienes que averiguar el identificador, entonces haces una consulta SQL previa para averiguar como se llama el identificador de Los Angeles para Chile por ejemplo :huh: no digo que no se pueda, se puede efectivamente, pero es mas trabajoso a nivel de consultas. Citar tambien seria el caso de colocar la ciudad y pais como primary key, y hay se puede repetir sin problemas siempre que sea de otro pais Si le pasas el atributo Primary Key no se podran repetir, si fuese KEY o INDEX si pero Primary Key no, suponiendo que decides usar KEY o INDEX para que se repitan y continuen siendo indices, tendras que aplicar lo anterior lo del identificador y recordarte como se llama o previamente buscarlo para no eliminar o actualizar una cantidad de registros superior a la que consideras.. y si hablamos de lectura pasara lo mismo recordarte o previamente buscar el identificador para que no se muestren todos los paises con una Ciudad Los Angeles cuando a lo mejor se consulte el motor para ver la ciudad Los Angeles. Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Skeletron en 21 Marzo 2010, 17:30 pm Porque se complican tanto?
Tabla Paises Tabla Regiones Tabla Ciudades Y listo Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Ari Slash en 21 Marzo 2010, 17:31 pm entonces haces una consulta SQL previa para averiguar como se llama el identificador de Los Angeles para Chile por ejemplo :huh: no digo que no se pueda, se puede efectivamente, pero es mas trabajoso a nivel de consultas. exactamente, pero eso ya es problema de la capa siguiente xD lo ideal seria que hayan unos tres tipos de la misma base de datos, ya que algunas seran mas utiles en unas ocasiones y otras en otras ;) saludos Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ^Tifa^ en 21 Marzo 2010, 17:36 pm Citar Porque se complican tanto? Disculpa Skeletron ;) la complicacion vino por querer cuestionar yo el modelo de estructura propuesto por Ari :D Pero ya no le doy seguimiento al asunto, no quiero que cierren el hilo :P Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ~ Yoya ~ en 21 Marzo 2010, 17:38 pm Pero ya no le doy seguimiento al asunto, no quiero que cierren el hilo :P Pueda ser que no lo cierren, si no que lo muevan xD.Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Punisher.linux en 6 Abril 2010, 09:22 am Este tema me parece interesante y de mucha utilidad ya que es imposible encontrar una base de datos decente sobre paises / estados / ciudades y pueblos con los idiomas hablados por cada pais. Proponga crear otra tabla con una relacion N:M con el PAIS de idiomas hablados por cada pais.
tabla N:M Cod_Idioma Cod_Pais Porcentaje tabla idioma COD_IDIOMA Nombre_Idioma Título: Re: Base de Datos de Ciudades del Mundo Publicado por: Punisher.linux en 6 Abril 2010, 09:24 am Este tema me parece interesante y de mucha utilidad ya que es imposible encontrar una base de datos decente sobre paises / estados / ciudades y pueblos con los idiomas hablados por cada pais. Proponga crear otra tabla con una relacion N:M con el PAIS, de idiomas hablados por cada pais. tabla N:M Cod_Idioma Cod_Pais Porcentaje tabla idioma COD_IDIOMA Nombre_Idioma deberiamos poner un listado de todos los paises y poner al lado quien se encarga de pasar ese pais a la base de datos y esta claro que debemos primero definir la estructura y que datos va a tener, como Codigo postal y cosas asi. SI la gente se compromete podeis contar conmigo y podriamos compartirla por internet para que haya algo decente. Lo siento por hacer doble post. También podemos partir de esta base de datos ofrecida por Mysql: http://downloads.mysql.com/docs/world.sql.gz que tal esta estructura ?? CREATE TABLE IDIOMAS ( COD_IDIOMA int(11), NOMBRE char(20) NOT NULL default '', OFICIAL CHAR(1) NOT NULL default 'N', PRIMARY KEY (`COD_IDIOMA`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE CONTINENTES ( COD_CONTINENTE int(11), NOMBRE char(20) NOT NULL default '', POBLACION int(11) NOT NULL default '0', PRIMARY KEY (`COD_CONTINENTE`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE PAISES ( COD_PAIS int(11), COD_CONTINENTE int(11), NOMBRE char(20) NOT NULL default '', POBLACION int(11) NOT NULL default '0', PRIMARY KEY (`COD_ESTADO`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE ESTADOS ( COD_ESTADO int(11), COD_PAIS int(11), NOMBRE char(20) NOT NULL default '', POBLACION int(11) NOT NULL default '0', PRIMARY KEY (`COD_ESTADO`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE CIUDADES ( COD_CIUDAD int(11), COD_ESTADO int(11), NOMBRE char(20) NOT NULL default '', POBLACION int(11) NOT NULL default '0', PRIMARY KEY (`COD_CIUDAD`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IDIOMAS_HABLADOS_PAIS ( COD_IDIOMA int(11), COD_PAIS int(11), PORCENTAJE FLOAT(2,2) NOT NULL default '0.0', PRIMARY KEY (`COD_IDIOMA`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Título: Re: Base de Datos de Ciudades del Mundo Publicado por: O_G_T en 29 Abril 2010, 01:42 am Hola seria bueno tener esta DB asi que hago mi aporte di con esta base que me ha sido de utilidad hace tiempo:
Todas las provincias departamentos y localidades de Argentina. Los datos están separados en tres tablas [Provincia] -> [Departamento] -> [Localidad] Cantidad de registros: Provincias: 23 Departamentos: 574 Localidades: 5439 descargar http://www.mediafire.com/?hmbjwyjmdgx fuente http://kerzek.blogspot.com/ saluddos!! Título: Re: Base de Datos de Ciudades del Mundo Publicado por: ivanosito en 20 Marzo 2011, 09:56 am Hola a todos! :D
Acá les dejo unos scripts sql para MS-SQLServer 2008 Express, que generan las tablas: - Pais - PaisIdioma - Ciudad http://www.megaupload.com/?d=9G66BWJF (http://www.megaupload.com/?d=9G66BWJF) Espero que les sirva! ;-) |