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
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;