Я могу сказать вам, что я использую. Я не видел ни одного правила, указывающего, что должно быть так... или иначе...
Конечно всегда на английском .
Имена таблиц всегда ЗАГЛАВНЫМИ БУКВАМИ и во множественном числе .
Имена полей всегда в нижнем регистре и в единственном числе .
Причина использования прописных и строчных букв заключается в том, чтобы быстро определить в SQL, что является таблицей , а какое полем , на которое делается ссылка . В выборе с несколькими JOIN, я думаю, ясно, что неплохо использовать его таким образом.
Мотив в единственном или множественном числе . В таблицах хранятся несколько записей или ? Для меня лучше Пользователи
и есть ли у каждой записи или ? Ну, я думаю, что более уместно сказать имя . Если поле не является внешним ключом , то уместно использовать небольшие идентификаторы, которые визуально помогут вам идентифицировать это поле, содержащее нечто большее, чем простые данные. Например у таблицы будет поле (не ни хэш , ни странные вещи). Единственная ссылка на внешнюю таблицу и указывает, что вы храните там идентификатор,UserUsersnamenamesCOMMENTSuser_idusersid_usuarioUSERSuser_id
В промежуточных таблицах, например, любые отношения один ко многим , такие как usuarios( USERS) и все загруженные фотографии ( PHOTOS). Я уважаю ВЕРХНИЙ РЕГИСТР и использую символ _для объединения USERS_PHOTOS.
В некоторых случаях в именах таблиц или полей обычно используется префикс для идентификации проекта или сервиса, из которого поступает информация или где эта информация будет использоваться. В случае таблиц мне не нравится использовать префиксы, но в полях я использую ( siebel_id, joomla_id, twitter_token...)
Однако четких правил на этот счет нет. Вот почему я сталкивался с такими вещами Población, как table или связанные таблицы, например Población?Ciudadили еще лучше Códigos postales. Думаю, чтобы никого не обидеть, лучше избегать ударений и для "редких" символов конкатенации типа пробела, ?, -, +,...
Это относительный вопрос, поскольку, как и в языках программирования, ответ не уникален, и каждый может предпочесть то или иное соглашение.
В моем случае, независимо от ядра базы данных, я использую имена таблиц во множественном числе и имена столбцов в единственном числе , в обоих случаях используя PascalCase . Если это мой выбор, имена на английском языке и использовать только одно поле для первичного ключа, который всегда называется Idчисловым или UUID (в зависимости от того, использует ли таблица логическое удаление или очень высокий параллелизм).
Внешние ключи содержат имя таблицы, за которым следует идентификатор, если они представляют собой одно отношение (Пример DetallesFacturaи Facturas). Если она имеет более одного отношения (Пример Facturasи UsuariosUsuarioCreaId, UsuarioAnulaId), я помещаю имя таблицы, одно или два слова, чтобы обозначить разницу в поле с другим того же типа отношения.
В SqlServer большинство объектов принимают имена до 128, поэтому у меня никогда не было проблем с этими функциями.
В случае с Oracle все немного меняется, максимально допустимая длина составляет 30 символов, и хотя имена могут использоваться в нижнем регистре, по обычаю все пишется в верхнем регистре, поэтому мы разделяем слова _и используем аббревиатуры или аббревиатуры во многих случаях. ко многим таблицам отношений или с составными именами.
Еще одно соображение и, вероятно, причина, по которой SQLServer использует этот способ, заключается в том, что я обычно использую ORM для доступа к базе данных, поэтому сгенерированный код поддерживает стиль, который мы используем в C#.
Как видите, это вопрос стиля. Здесь вы найдете более подробную информацию о соглашениях об именах, используемых в языках программирования. Также на SO этот вопрос , который включает в себя очень интересные объяснения.
Я могу сказать вам, что я использую. Я не видел ни одного правила, указывающего, что должно быть так... или иначе...
Причина использования прописных и строчных букв заключается в том, чтобы быстро определить в SQL, что является таблицей , а какое полем , на которое делается ссылка . В выборе с несколькими JOIN, я думаю, ясно, что неплохо использовать его таким образом.
Мотив в единственном или множественном числе . В таблицах хранятся несколько записей или ? Для меня лучше Пользователи и есть ли у каждой записи или ? Ну, я думаю, что более уместно сказать имя . Если поле не является внешним ключом , то уместно использовать небольшие идентификаторы, которые визуально помогут вам идентифицировать это поле, содержащее нечто большее, чем простые данные. Например у таблицы будет поле (не ни хэш , ни странные вещи). Единственная ссылка на внешнюю таблицу и указывает, что вы храните там идентификатор,
User
Users
name
names
COMMENTS
user_id
users
id_usuario
USERS
user_id
В промежуточных таблицах, например, любые отношения один ко многим , такие как
usuarios
(USERS
) и все загруженные фотографии (PHOTOS
). Я уважаю ВЕРХНИЙ РЕГИСТР и использую символ_
для объединенияUSERS_PHOTOS
.В некоторых случаях в именах таблиц или полей обычно используется префикс для идентификации проекта или сервиса, из которого поступает информация или где эта информация будет использоваться. В случае таблиц мне не нравится использовать префиксы, но в полях я использую (
siebel_id
,joomla_id
,twitter_token
...)Однако четких правил на этот счет нет. Вот почему я сталкивался с такими вещами
Población
, как table или связанные таблицы, напримерPoblación?Ciudad
или еще лучшеCódigos postales
. Думаю, чтобы никого не обидеть, лучше избегать ударений и для "редких" символов конкатенации типа пробела,?
,-
,+
,...Для меня одним из преподавателей Sql Server является Финал Дэйв, у него есть подробный документ об этих стандартах: http://blog.sqlauthority.com/2007/06/06/sql-server-database-coding-standards-and- рекомендации-полный-список-скачать/
Это относительный вопрос, поскольку, как и в языках программирования, ответ не уникален, и каждый может предпочесть то или иное соглашение.
В моем случае, независимо от ядра базы данных, я использую имена таблиц во множественном числе и имена столбцов в единственном числе , в обоих случаях используя PascalCase . Если это мой выбор, имена на английском языке и использовать только одно поле для первичного ключа, который всегда называется
Id
числовым или UUID (в зависимости от того, использует ли таблица логическое удаление или очень высокий параллелизм).Внешние ключи содержат имя таблицы, за которым следует идентификатор, если они представляют собой одно отношение (Пример
DetallesFactura
иFacturas
). Если она имеет более одного отношения (ПримерFacturas
иUsuarios
UsuarioCreaId
,UsuarioAnulaId
), я помещаю имя таблицы, одно или два слова, чтобы обозначить разницу в поле с другим того же типа отношения.В SqlServer большинство объектов принимают имена до 128, поэтому у меня никогда не было проблем с этими функциями.
В случае с Oracle все немного меняется, максимально допустимая длина составляет 30 символов, и хотя имена могут использоваться в нижнем регистре, по обычаю все пишется в верхнем регистре, поэтому мы разделяем слова
_
и используем аббревиатуры или аббревиатуры во многих случаях. ко многим таблицам отношений или с составными именами.Еще одно соображение и, вероятно, причина, по которой SQLServer использует этот способ, заключается в том, что я обычно использую ORM для доступа к базе данных, поэтому сгенерированный код поддерживает стиль, который мы используем в
C#
.Как видите, это вопрос стиля. Здесь вы найдете более подробную информацию о соглашениях об именах, используемых в языках программирования. Также на SO этот вопрос , который включает в себя очень интересные объяснения.