Mírate un manual de bases de datos o de sql, pero te avanzo, para que sepas por donde buscar:
Código:
CREATE TABLE Ciudad (
id_ciudad integer auto_increment,
nombre varchar(20) not null,
PRIMARY KEY(id_ciudad)
);
CREATE TABLE Noticia (
id_noticia integer auto_increment,
titulo varchar(20) not null,
noticia text,
id_ciudad integer,
PRIMARY KEY(id_noticia),
FOREIGN KEY(id_ciudad) REFERENCES Ciudad(id_ciudad)
);
Como puedes ver creamos una tabla Ciudad con clave primaria id_ciudad y una tabla noticia con clave primaria id_noticia. Dentro de Noticia tenemos una columna id_ciudad que hace referencia (FOREINGN KEY) a la clave de Ciudad. Por la propia base de datos, es imposible añadir una ciudad que no esté en la tabla Ciudad, ya que te daría error. A la hora de insertar una noticia no tienes más que añadir el id de la ciudad a la que se refiere. Así, cuando quieras añadir una nueva ciudad no tendrás que crear una tabla nueva, si no simplemente añadir un registro a la tabla Ciudad.
Insisto, échale un ojo a un manual de diseño de bases de datos, ten en cuenta que es la base de cualquier aplicación y es el principio, la gente suele irse a PHP o a alto nivel antes sin fijarse en eso y muchas veces una aplicación se hace mucho más sencilla echando un ojo a la base antes. Es más fácil empezar la casa por los cimientos, no?
Espero que te sirva, un saludo.