Правильный способ записать “идентификатор” в столбцах в SQL

Мой первый вопрос в здесь. Мне нравится сайт так :)

У меня есть таблица SQL, названная продуктом. В той таблице я хочу сделать столбец для идентификатора продукта, и я действительно хочу знать правильный способ записать идентификатор, потому что я делаю много столбцов ID в конечном счете.

Так это: "идентификатор" или "идентификатор"?

И также внешний ключ в другой таблице, которую называют ProductID или ProductId?

5
задан radbyx 26 April 2019 в 06:18
поделиться

7 ответов

Лично я бы использовал ProductID, ProductName и т. Д. В таблице Product, а также для FK, чтобы избежать повсюду столбцов ID и Name

Просто будьте последовательны

3
ответ дан 18 December 2019 в 08:27
поделиться

Как вам удобнее.

Большинство (многие? Некоторые? Известные мне?) Фреймворки, похоже, приняли строчные «id» для первичного ключа и «primarykeytablename_id» для внешнего ключа, по крайней мере, для соглашения об именах по умолчанию. Мне самому не нравится это соглашение, так как мне нравится, чтобы ключ имел одно и то же имя на обеих сторонах отношений.

Я предпочитаю EntityNameID в обоих местах (например, ProductID, OrderID, OrderDtlID и т. Д.).

2
ответ дан 18 December 2019 в 08:27
поделиться

Ну, «Id» - это сокращение от «Identification», поэтому «должно» быть «Id».

С другой стороны, оно произносится как «I-D», а не «id», поэтому «ID» тоже приемлемо.

Я бы предпочел «ProductId», а не просто «Id» для первичного ключа таблицы, чтобы обе стороны отношения внешнего ключа совпадали.

0
ответ дан 18 December 2019 в 08:27
поделиться

Использование заглавных букв в SQL в значительной степени зависит от стиля кодирования. Последовательность - самый важный аспект. Тем не менее, «ProductId» для меня немного похож на «Productld» (это буква L в нижнем регистре перед буквой «d»), поэтому я бы предпочел «ProductID» (или «productID», или «product_id»).

Что касается префикса имен столбцов именами таблиц, в моей книге этого слишком много. Products.id достаточно; Products.productID является избыточным.

7
ответ дан 18 December 2019 в 08:27
поделиться

Мне, наверное, никогда не следовало посещать этот урок психологии, но поскольку там есть слово "id", я всегда прописываю аббревиатуру для идентификатора, поэтому я использую " Я БЫ". Я экспериментировал с обоими, просто используя ID и ProductID в качестве имени первичного ключа. Поскольку я использую LINQ и просто сопоставляю класс в конструкторе, я стал именовать столбцы так, как хочу, в моем коде. Поскольку я предпочитаю иметь product.ID , а не product.ProductID , я использую более короткое имя.Для внешних ключей я использую формат таблицы / столбца (без разделителя), поэтому внешний ключ станет ProductID. Однако для меня это не проблема в моем коде, потому что я почти всегда использую сопоставленный объект, например, cart.Product , а не сам ключ, cart.ProductID .

РЕДАКТИРОВАТЬ : Обратите внимание, я предполагаю, что целью является платформа .NET, поэтому использую (в основном) соглашения об именах из .NET. Если бы я занимался разработкой на Rails, это, вероятно, было бы строчными буквами, и я бы использовал символы подчеркивания в качестве разделителей.

1
ответ дан 18 December 2019 в 08:27
поделиться

Не существует "правильного" способа сделать это. Просто будьте последовательны. Лично я предпочитаю использовать ProductId в обеих таблицах. Если вы используете «ID» для всех своих таблиц, а затем присоединяетесь к другой таблице, вы, скорее всего, все равно будете использовать псевдонимы, чтобы различать два поля идентификатора.

6
ответ дан 18 December 2019 в 08:27
поделиться

Я предпочитаю не иметь id или ID.

Я всегда выбираю table - productName

pkProductName ProductName fkProductCode

и table - ProductCode pkProductCode productCode

поэтому, даже когда вы используете SQL или код, отношения очевидны и значимы.

0
ответ дан 18 December 2019 в 08:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: