Mysql Запрос к двум таблицам

eax

#
Здравствуйте! В MySql новичок, поэтому прошу помощи в оценке адекватности моих решений.

Даны таблицы:
[cat] (категории)
id, name, title, text

[article] (статьи)
id, cat_id, name, title, text

Допустим при обращении к сайту site.ru/?cat_name=test нужно отобразить список всех страниц в категории. Поскольку выбираем по `name` то нужно джойнить таблицу со статьями, и у меня получается запрос:
PHP:
SELECT `page`.* FROM `page` 
	LEFT JOIN `cat` ON `page`.`id_cat` = `cat`.`id` 
	WHERE `cat`.`name` = %s
С этим запросом все ок, или можно как-то изменить структуру или вообще связывать таблицы не по `id` а по `name` категории?

Но так же желательно вывести имя самой категории, а не только список статей. Тут есть 2 варианта:

1. Первый запрос выбирает `id` и `title` категории по `name`, а второй выбирает список статей, по `id` категории. Тут все аккуратно и логично, но это 2 запроса.

2. Либо это можно сделать одним запросом:
PHP:
SELECT `cat`.title as cat_title, `page`.* FROM `page` 
	LEFT JOIN `cat` ON `page`.`id_cat` = `cat`.`id` 
	WHERE `cat`.`name` = %s
Тогда получается что к каждой статье приписывается название категории, но зато выполняем один запрос. Смотрится неэстетично, а как насчет производительности и "правильности" такого решения?
А что если помимо `cat`.`title` нужно будет еще добавить краткое описание и еще какие-то данные.
 
Сверху