Именование таблицы: Подчеркивание по сравнению с Camel-регистром? пространства имен? Исключительный по сравнению со Множественным числом?

Major.minor.point.build обычно. Главный и незначительный очевидны, точка является выпуском для нескольких незначительных bugfixes, и сборка является просто идентификатором сборки.

78
задан MarioRicalde 10 December 2009 в 13:53
поделиться

8 ответов

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

150
ответ дан 24 November 2019 в 10:27
поделиться

Нечувствительность к регистру в SQL поддерживает Underscores_Scheme . Однако современное программное обеспечение поддерживает любую схему именования. Однако иногда некоторые неприятные ошибки, ошибки или человеческий фактор могут привести к UPPERCASINGEVERYTHING , так что те, кто выбрал обе схемы Pascal_Case и Underscore_Case , живут всеми своими нервами в хорошем состоянии. место.

10
ответ дан 24 November 2019 в 10:27
поделиться

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

8
ответ дан 24 November 2019 в 10:27
поделиться

Я склонен согласиться с людьми, которые скажем, это зависит от используемых вами соглашений языка (например, PascalCase для C # и snake_case для Ruby).

Однако никогда не было camelCase.

6
ответ дан 24 November 2019 в 10:27
поделиться

Совокупность большей части вышеперечисленного:

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

. Тогда вы можете легко (даже автоматически) переводить имена между средами.

Но я бы добавил еще одно соображение: вы можете обнаружить, что существуют другие факторы, когда вы переходите от класса в своем приложении к таблице в своей базе данных: объект базы данных имеет представления, триггеры, сохраненные процессы, индексы, ограничения, и т. д. - которым тоже нужны имена. Так, например, вы можете обнаружить, что обращаетесь к таблицам только через представления, которые обычно представляют собой простой "select * from foo". Они могут быть идентифицированы как имя таблицы с суффиксом «_v» или вы можете поместить их в другую схему. Цель такого простого уровня абстракции состоит в том, что он может быть расширен, когда это необходимо, чтобы позволить изменения в одной среде, чтобы избежать влияния на другую. Это не нарушит приведенные выше предложения по именованию - нужно учитывать еще несколько вещей.

8
ответ дан 24 November 2019 в 10:27
поделиться

К сожалению, на этот вопрос нет "лучшего" ответа. Как заявил @David, согласованность намного важнее, чем соглашение об именах.

1
ответ дан 24 November 2019 в 10:27
поделиться

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

1
ответ дан 24 November 2019 в 10:27
поделиться

Я обычно использую PascalCase, и сущности являются единственными:

DoctorMain
DoctorProfile
DoctorPatient

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

18
ответ дан 24 November 2019 в 10:27
поделиться
Другие вопросы по тегам:

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