Я должен записать именам таблиц и именам столбцов ВСЕГДА нижний регистр?

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

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

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

37
задан openfrog 8 January 2010 в 17:26
поделиться

5 ответов

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

Для MySQL есть некоторая интересная информация о том, как он обрабатывает регистр идентификатора. Есть несколько вариантов, которые можно задать, чтобы определить, как они хранятся внутри. http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

15
ответ дан 27 November 2019 в 04:38
поделиться

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

SELECT column_a, column_b FROM table_name WHERE column_a = 'test'
22
ответ дан 27 November 2019 в 04:38
поделиться

Стандарт SQL-92 определяет, что идентификаторы и ключевые слова нечувствительны к регистру (согласно Руководство по стандарту SQL 4-е издание, Дата / Дарвен)

Это не чтобы сказать, что конкретная СУБД не является (1) неисправной или (2) настраиваемой (и неработающей)

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

18
ответ дан 27 November 2019 в 04:38
поделиться

Насколько я знаю, для обычного L.A.M.P. это не имеет особого значения, но имейте в виду, что MySQL, размещенный в Linux, чувствителен к регистру!

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

SELECT * FROM my_table WHERE id = '$ myNewID'

5
ответ дан 27 November 2019 в 04:38
поделиться

Нет Современная база данных не может обрабатывать текст верхнего или нижнего регистра.

0
ответ дан 27 November 2019 в 04:38
поделиться
Другие вопросы по тегам:

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