Имена таблиц базы данных в единственном или множественном числе? [дубликат]


Точная Копия

таблица именования дилемма: единственное и множественное число имен

лучше ли использовать имена таблиц базы данных в единственном или множественном числе ? Есть ли принятый стандарт ?

Я слышал аргументы за и против, что вы, ребята, думаете ?

13 54

13 ответов:

ИМХО, имена таблиц должны быть множественными, как клиенты.

имена классов должны быть единственными, как Customer, если он сопоставляется со строкой в таблице Customers.

единственное число, так что вы можете иметь:

  • клиент
  • CustomerAddress
  • CustomerAddressAuditTrail

etc.

Я люблю имена в единственном числе, но, кажется, в меньшинстве.

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

Мне нравится использовать сингулярные имена, такие как агент, которые имеют имена PK, такие как AgentID.

но это только я: o)

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

Linq to SQL преобразует имена таблиц множественной формы в единственное число при создании объектов данных. Я предполагаю, что Microsoft не реализовала бы эту функцию, если бы они считали множественные формы для имен таблиц плохой практикой.

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

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

во-первых, все имена таблиц должны начинаться с "быть". После этого единственное имя сущности в StudlyCaps, например, "клиент". Сразу же после этого он должен содержать количество столбцов, созданных в первой версии схемы, для исторических целей, а затем подчеркивание и точную нормальную форму данных; либо "1", "2", "3" или "B" для BCNF. Любые более высокие нормальные формы обозначаются буквой "Р".

некоторые примеры допустимых имен:

t_Customer_6_3
t_Order_5_B
t_OrderLine_4_2

Я думаю, что моя точка зрения, это не имеет значения, до тех пор, пока имя является достаточно описательным и непротиворечивым.

самое главное, чтобы быть последовательным в вашем использовании. Это раздражает, чтобы помнить, какие таблицы являются множественными, а какие нет. То же самое с вашими именами полей, выберите один stadard и используйте его. Не заставляйте бедных разработчиков определять, использует ли эта таблица person_id или personid или peopleid или person$id и т. д. Удивительно, сколько времени вы можете потратить, когда у вас нет стандартов, пытаясь просто вспомнить, какая таблица использует что.

не должно быть такого или такого правильного ответа на этот вопрос. Это зависит от дизайнера базы данных и программного обеспечения.

Что касается меня, я обычно использую сингулярные имена , потому что, когда я делаю диаграмму E-R, у меня есть клиент сущности, а не клиенты, поэтому я сохраняю его таким же, чтобы не запутаться.

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

есть много аргументов для каждого, но все сводится к тому, что вы чувствуете себя комфортно. Ни это не так.

что действительно важно, так это то, что вы последовательны. Выберите один стандарт и придерживайтесь его, который вы выбираете имеет меньшее значение.

ИМХО это действительно не имеет значения, просто делайте все, что удобно с вами и людьми, которые используют базу данных.

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

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