Как лучше спроектировать базу данных (mysql)?
Если Вы чувствуете, что таблица получится слишком "редко заполненной" из-за большого количества столбцов (дополнительных признаков), перенесите все эти признаки в отдельную таблицу.
Например, можно сделать такие таблицы: articles (статьи), properties (дополнительные свойства статьи, какими они могут быть) и properties_values (значения дополнительных свойств, имеет структуру id_статьи - id_свойства - value).
Похожий подход используется в CMS, которой я пользуюсь.
Я бы для каждого раздела создавал свою табличку. Так проще потом информацию вносить.
А для того, чтобы выбирать на главную новости можно создать VIEW, которая объединяет все объекты из всех таблиц в одну с помощью UNION.
Если точнее, для сводной таблицы можно вынести только несколько параметров:
ID объекта, раздел, дата (чтобы сортировать). После выборки для показа на главной уже можно запросить нужные поля из профильной таблицы.