Я пытаюсь организовать таблицы PosgtresSql в соответствии с компонентами приложения, которым они соответствуют. Например, таблицы, связанные с «историей», например «story_contents», «story_comments», «story_layout»: лучше ли было бы содержать простой «» соглашение об именах? Был бы недостаток в использовании '.' вместо ''? ... или есть лучшая практика, которую я полностью игнорирую?Именование таблиц и организация таблиц в postgresql
ответ
Короткий ответ:
Конечно, если поместить всю базу данных/таблицы/столбец ссылку имени в кавычках
Длинный ответ:
В Postgres, и большинство других баз данных, точка используется для разделения имени базы данных из имени таблицы и имени таблицы из имени столбца. Например, если у вас есть база данных с именем MyDB
, со столом под названием MyTable
и столбец в этой таблице MyCol
, то вы могли бы написать следующее SELECT
заявления:
SELECT MyDB.MyTable.MyCol
FROM MyDB.MyTable
Однако, если ваша база данных, таблица и/или имена колонок имеют точки в них, тогда выполнение SELECT
может не работать. В этом случае я считаю, что вы можете избежать полного имени (или части) с помощью кавычек. Так что, если у вас есть столбец с именем MyCol.Col1
, вы можете сделать следующее:
SELECT "MyDB.MyTable.MyCol.Col1"
FROM MyDB.MyTable
Комментарий по @vector, кажется, указывают в правильном направлении (не каламбур), и вы должны наклониться к использованию подчеркивания или некоторый другой символ, чтобы отделить ваши имена схем, а не использовать точку.
Действительно, '.' просто вызовет больше проблем, что это стоит. – vector