Именование таблиц базы данных, множественное число или сингулярное

При наименовании таблиц и схемы db лучше всего использовать исключительное или множественное число. Например. должны ли они быть Клиентами или Клиентом?

И когда именование должно быть "Капиталом", например, клиентом или клиентом? Любая лучшая практика в отношении именования?

Ответ 1

Этот вопрос требует религиозной войны.

Я не сомневаюсь, что это должно быть множественным, потому что...

  • Таблица представляет собой набор строк.
  • Синтаксис SQL становится более естественным - SELECT * FROM Customers вместо SELECT * FROM Customer.
  • Аналогия с ООП - у вас есть класс Customer и список или другая коллекция клиентов под названием Customers.
  • SELECT * FROM Customers AS Customer WHERE Customer.FirstName = 'John' - Customers относится ко всей таблице, а Customer относится к текущей строке.

Отрицательные вещи

Во время разработки приходится переключаться несколько раз между сингулярным и множественным числом. Вы можете начать с концептуальной модели - например, модели отношения сущности, где естественным выбором является имя объекта Customer. Из этой модели вы создаете базу данных и должны дублировать имя, чтобы получить таблицу Customers. Наконец, вы выбираете ваш favourit O/R mapper, и он должен снова создать имя для получения класса с именем Customer.

Если вам нужно сделать это вручную, потому что у инструмента нет поддержки (например, EntityFramework до .NET 4.0), может быть разумным выбором сохранить имена таблиц сингулярными, но вместо этого получить класс Customer вместо Customers не меняя его вручную.

Ответ 2

уникальное имя.

все это касается кортежей, а не таблиц, а кортеж - один клиент, а не клиенты. также я предпочитаю наименования в нижних регистрах, но это без причины, я только что узнал об этом в школе.

в конце концов, как говорили другие, это скорее вопрос предпочтения. более важно, чем выбор, если использовать множественное число или единство - оставаться неизменным и делать это одинаково для всех таблиц - если вы смешиваете плур и сингулярное именование, это настоящий беспорядок.

Ответ 3

Это в значительной степени вопрос предпочтения

Ответ 4

Вы выбираете recipe.ingredient или recipes.ingredient?

... или вы выбираете ingredient из recipes вместо ingredient из recipe.

Вы выбираете список recipe.ingredient или список recipes.ingredient?

... или вы выбираете ingredient список из recipes вместо списка ingredient из recipe?

Я считаю, что последовательность важнее, чем сама конвенция. Лично я предпочитаю единственные имена в нижнем регистре, но я не буду яростно защищать этот выбор.

Ответ 5

Мой выбор - Singular и TitleCase:)

Клиент - это объект. Таблица представляет собой логическую совокупность нескольких объектов. Поэтому предпочтительным является множественное число.

Для имен таблиц паскаль лучше. т.е. CustomerMaster.

Предпочтительно использовать префикс, такой как tblCustomerMaster.

Если вы используете имя группы в качестве префикса, используйте ее заглавными буквами, например, NEWCustomer, OLDCustomer