Хорошая или плохая идея включать числа в имена таблиц SQL? - PullRequest
7 голосов
/ 29 марта 2012

Понятно, что вы можете использовать числовые символы в именах таблиц SQL и использовать их, если они не указаны в начале.(Здесь обсуждается один из побочных эффектов: Проблема SQLite с именами таблиц, использующими числа? ) База данных, на которую я нацеливаюсь, - Oracle 10g / 11g.

Я разрабатываюбазу данных отчетов, в которой имена некоторых объектов четко обозначены, лучше всего описать с помощью отчетов, которые названы по номерам («часть 45», «102S», «401»).Это просто язык бизнес-домена: на эти отчеты обычно не ссылаются ни под каким другим именем.Объекты, которые я моделирую, действительно лучше всего называть таким образом.

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

Мой простой вопрос: есть ли какие-то «ошибки» или угловые случаи, которые исключают имя таблицы, такое как PART_45_AUDIT?

1 Ответ

9 голосов
/ 29 марта 2012

Если PART_45_AUDIT действительно является наиболее ясным описанием сущности, которую вы моделируете (что было бы очень редко), не должно быть никаких ошибок, связанных с наличием чисел в середине имени. Помещение цифр в начале названия было бы другой историей, потому что для этого потребовалось бы использование идентификаторов в двойных кавычках, и существует множество инструментов, которые не полностью поддерживают идентификаторы в двойных кавычках. Кроме того, конечно, раздражает необходимость вводить двойные кавычки каждый раз, когда вы ссылаетесь на таблицу.

CREATE TABLE "102S" (
  col1 number
);

SELECT *
  FROM "102S"
...