Читая документации по ORM-системам и т.д., везде рекомендуется создавать PK с именем id, а поля называть без всяких приставок. Я же создаю все таблицы с полями в стиле "имя таблицы"_"имя поля" Если таблица user, то поля user_id, user_name, user_password и т.д. Такое решение мне нравится тем, что если я буду делать join с другими таблицами, мне не прийдется задавать alias'ы для полей с одинаковым именем. Подскажите, почему все делают именно так?
все используют первый стиль. Ну вот например, есть у меня таблицы user id | name | password | country_id 1 | user1 | test | 1 2 | user2 | test | 2 country id | name 1 | Russia 2 | Ukraine select user.id as user_id, user.name as user_name,password,country_id,country.name as country_name from user join country on user.country_id = country.id; Если бы структура была такая: user user_id | user_name | user_password | country_id 1 | user1 | test | 1 2 | user2 | test | 2 country country_id | country_name 1 | Russia 2 | Ukraine То достаточно просто select * from user join country on user.country_id = country.country_id; Как мне кажется разница существенна, и это только две маленьких таблички Но я не пишу голые запросы, а использую Active Record CodeIgniter (Kohana). По этому так мне вдвойне удобней - $this->db->join('country','country.country_id = user.country_id'); $this->db->get('user');