Мой первый вопрос в здесь. Мне нравится сайт так :)
У меня есть таблица SQL, названная продуктом. В той таблице я хочу сделать столбец для идентификатора продукта, и я действительно хочу знать правильный способ записать идентификатор, потому что я делаю много столбцов ID в конечном счете.
Так это: "идентификатор" или "идентификатор"?
И также внешний ключ в другой таблице, которую называют ProductID или ProductId?
Лично я бы использовал ProductID, ProductName и т. Д. В таблице Product, а также для FK, чтобы избежать повсюду столбцов ID и Name
Просто будьте последовательны
Как вам удобнее.
Большинство (многие? Некоторые? Известные мне?) Фреймворки, похоже, приняли строчные «id» для первичного ключа и «primarykeytablename_id» для внешнего ключа, по крайней мере, для соглашения об именах по умолчанию. Мне самому не нравится это соглашение, так как мне нравится, чтобы ключ имел одно и то же имя на обеих сторонах отношений.
Я предпочитаю EntityNameID в обоих местах (например, ProductID, OrderID, OrderDtlID и т. Д.).
Ну, «Id» - это сокращение от «Identification», поэтому «должно» быть «Id».
С другой стороны, оно произносится как «I-D», а не «id», поэтому «ID» тоже приемлемо.
Я бы предпочел «ProductId», а не просто «Id» для первичного ключа таблицы, чтобы обе стороны отношения внешнего ключа совпадали.
Использование заглавных букв в SQL в значительной степени зависит от стиля кодирования. Последовательность - самый важный аспект. Тем не менее, «ProductId» для меня немного похож на «Productld» (это буква L в нижнем регистре перед буквой «d»), поэтому я бы предпочел «ProductID» (или «productID», или «product_id»).
Что касается префикса имен столбцов именами таблиц, в моей книге этого слишком много. Products.id
достаточно; Products.productID
является избыточным.
Мне, наверное, никогда не следовало посещать этот урок психологии, но поскольку там есть слово "id", я всегда прописываю аббревиатуру для идентификатора, поэтому я использую " Я БЫ". Я экспериментировал с обоими, просто используя ID и ProductID в качестве имени первичного ключа. Поскольку я использую LINQ и просто сопоставляю класс в конструкторе, я стал именовать столбцы так, как хочу, в моем коде. Поскольку я предпочитаю иметь product.ID
, а не product.ProductID
, я использую более короткое имя.Для внешних ключей я использую формат таблицы / столбца (без разделителя), поэтому внешний ключ станет ProductID. Однако для меня это не проблема в моем коде, потому что я почти всегда использую сопоставленный объект, например, cart.Product
, а не сам ключ, cart.ProductID
.
РЕДАКТИРОВАТЬ : Обратите внимание, я предполагаю, что целью является платформа .NET, поэтому использую (в основном) соглашения об именах из .NET. Если бы я занимался разработкой на Rails, это, вероятно, было бы строчными буквами, и я бы использовал символы подчеркивания в качестве разделителей.
Не существует "правильного" способа сделать это. Просто будьте последовательны. Лично я предпочитаю использовать ProductId в обеих таблицах. Если вы используете «ID» для всех своих таблиц, а затем присоединяетесь к другой таблице, вы, скорее всего, все равно будете использовать псевдонимы, чтобы различать два поля идентификатора.
Я предпочитаю не иметь id или ID.
Я всегда выбираю table - productName
pkProductName ProductName fkProductCode
и table - ProductCode pkProductCode productCode
поэтому, даже когда вы используете SQL или код, отношения очевидны и значимы.