Подтвердить что ты не робот

Какова наилучшая практика присвоения имен вашей "пользовательской" таблице?

Здесь три рекомендации, которые я пытаюсь выполнить при указании таблиц:

  • Никогда не называйте таблицу с множественным числом (например, "пользователи" )
  • Никогда не называйте таблицу с использованием зарезервированного ключевого слова (например, "пользователь" )
  • Никогда не префикс своего имени таблицы с помощью "tbl" или какого-либо другого префикса типа объекта

Помня об этом, как вы рекомендуете указывать таблицу, в которой будут храниться пользовательские идентификаторы?

4b9b3361

Ответ 1

Я согласен, не используйте зарезервированные слова или цитаты или скобки или экранированные зарезервированные слова.

Назовите таблицу User Person.

Вам может быть интересен этот ответ и google для Стандарт ISO 11179 для обозначения Руководства

Ответ 2

Обычно я использую что-то вроде члена или учетной записи, в зависимости от приложения. Тем не менее, если вы используете современные инструменты и принципы проектирования (например, уровень абстракции db или ORM с объектно-ориентированной базой кода, которая отделяет бизнес-логику от доступа к данным), тогда именование таблиц становится неактуальным. Ваши разработчики должны всегда получать доступ к базе данных через четко определенный интерфейс, а не вручную писать SQL, который требует, чтобы они знали имя таблицы. Например, вы можете назвать учетную запись таблицы, но привязать ее к ней через объект с именем "Пользователь". Ваши разработчики не должны думать в терминах таблиц, а с точки зрения объектов доступа, которые не будут иметь одинаковых ограничений на именование:

$user = new User($username);
$user->authenticate($password);

Ответ 3

Используйте синоним. Какое слово использовать зависит от того, что именно вы храните в таблице, но account поражает меня как хорошую альтернативу. Если вы хотите использовать вариацию user, я бы сломал первое руководство, которое вы упомянули, а не второе или третье: users достаточно распространено, что несогласованность по существу мнемоническая.

Ответ 4

Я использую правила CakePHP, даже если я не использую фреймворк:

Названия таблиц по нижнему регистру и множественные имена с именами нескольких слов, разделенные символами подчеркивания. Например, имя модели Ingredient ожидает имя таблицы ingredients. Имя модели EventRegistration будет ожидать имя таблицы event_registrations.

Ответ 5

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

Если вы действительно хотите это сделать, вам нужно экранировать имена:

  • кавычки: "user"
  • Выход из Java + JPA: @Table(name = "\"user\"")

Я настоятельно не рекомендую использовать множественные миры для имен таблиц базы данных, таких как USERS. Это ПЛОХАЯ ПРАКТИКА против соглашения об именах SQL. Имена таблиц базы данных должны быть существительными в единственном числе.

Я рекомендую использовать ACTOR в качестве имени таблицы базы данных для хранения сведений о пользователях. Это название ясно, понятно и достаточно общее. Он также может быть использован для компаний и частных лиц (не как, например, PERSON, который подходит только для человека, но не для компаний).