У слова код есть несколько определений, одно из которых — способ передачи сообщения в сжатом или засекреченном виде. В программировании цель должна быть противоположной — сделать значение более понятным.
Имя id является общим, оно не имеет определенного значения. Это становится особенно очевидным, когда объединяют две таблицы, и у них одинаковые имена столбцов первичных ключей.
Файл npuMepaiJD-Required/anti/ambiguous.sql
SELECT b.id, a.id FROM Bugs b
JOIN Accounts a ON (b.assigned_to = a.id) WHERE b.status = 1 OPEN' ;
Как отличить столбец id ошибки от столбца id учетной записи в коде приложения, если ссылка на столбцы выполняется по имени, а не по порядку положения? Эта проблема особенно остро проявляется в динамических языках, таких как РНР, когда результатом запроса является ассоциативный массив: если в запросе не заданы псевдонимы столбцов, один столбец перезаписывает другой.
Имя столбца id не помогает сделать запрос более ясным. Но если столбцам были присвоены имена bug_id и account_id, прочитать результаты запроса будет намного легче. Первичный ключ применяется для адресации строк таблицы, поэтому имя столбца должно служить подсказкой о типе объекта в данной таблице.
Опубликовал vovan666
June 18 2013 12:25:33 ·
0 Комментариев ·
3231 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.