#база_данных #именование
Как правильно называть поля в БД? Например, в таблице users назвать поля user_id,
user_name и т.п. или просто id, name?
Ответы
Ответ 1
Никаких авторитетных источников не знаю, но по своему опыту работы с фреймворками
и CMS'ками могу сказать, что нет смысла префикса в полях, так как они уже принадлежат
таблице.
Предположим, что у нас есть две таблицы: student и department, и мы попытаемся достать
данные из двух таблиц:
SELECT
student.student_name,
department.department_name
FROM
student,
department
WHERE
student.department_id = department.department_id
Или всe же лучше сделать так?
SELECT
student.name,
department.name
FROM
student,
department
WHERE
student.department_id = department.id
Префикс поля в таблице нужен в том случае, если это ключ на другую таблицу, как,
например, в моем случае: student.department_id.
Ответ 2
В общем, распространяются стандартные правила: ваши поля должны нести смысловую нагрузку.
Так, например, если есть таблица пользователей, описывающая их, то id и name будет
достаточно.
Если в таблице встречаются какие-то противоречия, то есть, например, не только user_id,
но и, скажем, car_id, которое связывается с таблицей car, то для смысловой нагрузки
можно использовать и так, но не обязательно. Или если user_id встречается в ещё одной
из таблиц и является ключом, то да - тут обязательно.
Называйте так, как велит вам сердце. Начертите БД с табличками на листочке и посмотрите,
как оно будет лучше и понятнее. Основное правило тут - ваша БД должна быть понятна
другому разработчику, который столкнется с ней.