Когда создавать бд?
Без разницы, как вам удобней работать, так и работайте. Но я считаю, что дамп БД должен быть в отдельном .sql файле, а не в PHP-коде.
Вот вдумайтесь, вы работаете на PHP. А зачем вам в каждом запросе проверять наличие базы ? Это же расходование ресурсов.