Есть таблица с начальными данными login, password, email, regdate.
Но также есть другие данные, такие как информация о себе, город, день рождения и ещё +-10 полей.
Нужно ли создавать отдельную таблицу для этих данных? или всё хранить в первой таблице? и почему
Написали верно, все зависит от проекта но:
Обычно как раз вытаскиваются эти данные:
"таблица начальными данными login, password, email, regdate."
Остальное хранится в отдельной таблице и выводиться дополнительно по запросу связанных через ид пользователя.
Если у вас небольшая база, для небольшого проекта. Используйте 3 нормальную форму.
Если же идет нагрузка, то я посоветовал денормализовывать базу. Иногда это очень сильно играет на руку.
driver458: Не обязательно это делать. Все рассчитывается из условий Вашего проекта. Совпадающие данные, по которым будет необходимо делать выборки - можно группировать, город, возраст, пол и т.д.