Я обычно избегаю иметь имя столбца, совпадающее с именем таблицы, потому что это может сбить людей с толку.Механизм базы данных знает, ожидает ли он имя таблицы или столбца в каком-либо конкретном контексте, я не помню, чтобы это когда-либо было проблемой.(Есть ли какой-то контекст, в котором любой из них был бы действительным? Я не могу вспомнить ни одного из них.)
Это говорит о том, что если вы столкнетесь с этой проблемой, это указывает на то, что у вас плохо выбрано имя для одного илидругой.Вид имеет смысл в качестве имени таблицы: эта таблица содержит данные о виде.Так что, если поле в этой таблице называется "виды" ... как насчет видов?Предположительно все в таблице относится к виду.Я предполагаю, что это был какой-то идентификатор, а не, скажем, количество хромосом или метод размножения.Но это идентификационный номер?Аббревиатура?Общее имя?Название биномиальной номенклатуры?И т.д. Если это, скажем, общее имя, я бы назвал его «common_name», а не «разновидности».
Кстати, другое соглашение об именах, которое вы должны решить, состоит в том, могут ли имена столбцов быть неоднозначнымиесли вырвано из контекста, должны иметь имена, которые определяют контекст, или вы используете имя таблицы для устранения неоднозначности.Например, у вас может быть много вещей, которые имеют «имя».Вы можете назвать любое такое поле просто «name», и, если есть неоднозначность, квалифицировать его, например, «видов.имя», «имя_лаборатории» и т. Д. Или вы можете дать каждому полю уникальное имя, например «видов_имя», «имя_лаборатории "и т. д. Это один из тех вопросов, на которые, я думаю, нет однозначно правильного ответа, только плюсы и минусы, принятие решения и последовательность.