Te recomiendo estos tutoriales sobre Mysql ...
www.mysql-hispano.com
Ahí veras uno principalmente sobre "Normaliaciòn de Base de datos con Mysql" (no es el nombre del título del artículo pero trata de eso). También otros interesantes sobre creaciòn de indices, diseño de BD .. optimizaciòn de indices .. En general todos son de lectura recomendada si vas a trabajar con Mysql.
Mysql es muy particular .. depende de la versiòn de Mysql que uses, en principio no puedes crear "claves foràneas" y respetar la integridad referencial de forma directa sobre SQL (salvo que uses tablas tipo InnodB o Mysql 4.1.0 o superior .. pero creo que ahì tampoco funciona con tablas standars tipo MyISAM)
Sobre todo como veras .. esto no es un tema directo de PHP sino de Mysql (de Base de datos) y de como funcionan para el caso particular de Mysql ... (por eso moví tu preguna al foro de BD).
En cuanto a lo que comentas de:
Cita: Como la cantidad de noticias de la pagina principal tiene que variar y tienen que ser seleccionada manualmente, pense en ayudarme con una tabla auxiliar donde guarde
Se puede tratar de muchas formas el tema y solventarlo de vàrias formas. Puedes hacer lo que comentas de tener una tabla extra y mover ID's de tus noticias cada vez que quitas o añades una noticia para mostrarla en tal sitio ..pero, tambièn podrías tener un simple campo tipo "flag" que indica "1": se mostrarà en el indice. "0" no se muestra en el indice .. y simplemente filtrar: consulta SQL condicional .. WHERE ver='1' o ver='0'
Un saludo,