Правила именования колонок SQLite: UTF-8 и спецсимволы
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Перечислим ограничения и правила, которым подчиняются имена столбцов в SQLite для обеспечения максимальной совместимости:
- Начинаются они могут с латинской буквы (от a до z или от A до Z) или символа подчёркивания (_).
- Могут содержать только латинские буквы, цифры (0-9) и символы подчёркивания.
- Если имена совпадают с зарезервированными словами, их следует окружать двойными кавычками (" ").
Пример структурированной таблицы:
CREATE TABLE example (
"Id" INTEGER,
"Name" TEXT,
"Age" INTEGER
);
Заметка: Нет необходимости окружать имя кавычками, если оно попадает под стандартные правила и не содержит специальных символов или не является зарезервированным словом.
Правильное использование специальных символов
В определенных случаях разрешено применение специальных символов в именовании столбцов. SQLite позволяет вставлять практически любой символ UTF-8 в имени, если оно окружено кавычками:
/* "Суп или салат?" спрашивает официант. Программист отвечает: "Да." */
CREATE TABLE quirky_names (
"Employee#Id" INTEGER,
"First Name" TEXT,
"E-mail Address" TEXT
);
Однако стоит быть осмотрительными: несмотря на гибкость SQLite, такие имена могут усложнить SQL-запросы и негативно сказаться на поддержке и рефакторинге кода.
Практика использования символов UTF-8
SQLite поддерживает кодировку UTF-8, что дает возможность использовать символы многих языков. Не бойтесь применять символы вашего языка, но учитывайте возможную несовместимость с некоторыми системами:
/* Да, SQLite тоже говорит на вашем языке! */
CREATE TABLE internacional (
"Número" INTEGER,
"名" TEXT,
"Возраст" INTEGER
);
Использование символа '$' в идентификаторах
SQLite позволяет использовать символ '$' в качестве части идентификатора. Несмотря на трудности с поиском документации по этому вопросу, идентификаторы типа $columnName
могут применяться, однако их использование не рекомендуется из-за вероятных проблем с совместимостью.
Визуализация
Представьте правила именования столбцов SQLite как список принципов для организации вашей библиотеки:
Правила для библиотеки:
1. Каждой книге положено ИМЕТЬ ИМЯ: 📗 = 'column1', 📘 = '_column', 📙 = '2column'
2. Нельзя дублировать ОСОБЕННЫЕ КНИГИ: 📕 (например, 'PRIMARY KEY', 'SELECT')
3. Обязательное ограничение по ДЛИНЕ имени: 📏 (не более 64 символов)
4. Каждая книга на полке ДОЛЖНА быть УНИКАЛЬНОЙ: 📗 ≠ 📗 в одной таблице
Соблюдая эти рекомендации, вы создадите удобную и функциональную базу данных!
Таблица 'Сотрудники':
| 📗 ('id') | 📘 ('name') | 📙 ('role') |
| --------------------- | --------------------- | ----------------------- |
| 1 | 'Алиса' | 'Инженер' |
| 2 | 'Боб' | 'Дизайнер' |
Важно помнить:
- Имя каждого столбца уникально в рамках таблицы!
- Избегайте использования ключевых слов при именовании столбцов!
- Соблюдайте ограничение на длину имён столбцов!
Особенности совместимости и ограничений
Учитывайте кросс-платформенность
Имена столбцов могут восприниматься по-разному в различных операционных системах. Обеспечьте тестирование схемы базы данных на всех целевых платформах.
Следуйте общепринятым нормам именования
Соблюдение стандартных правил именования упрощает восприятие кода и упрощает его поддержку. Предпочтительно использовать простые и понятные имена, избегая сложных и необычных символов.
Опасность использования зарезервированных слов
В SQLite имеется внушительный список зарезервированных слов. Использование этих слов может привести к ошибкам. Важно знать и уметь избегать этих слов, чтобы не создать проблем в коде.
Знание документации помогает избежать ошибок
В документации SQLite содержится всё, что вам может потребоваться для обоснованного выбора имен столбцов. Регулярное обращение к документации поможет вам предотвратить ошибки и позволит лучше ориентироваться в нормах именования.
Полезные материалы
- SQLite Keywords – список зарезервированных слов.
- Datatypes In SQLite – информация о типах данных и их влиянии на именование столбцов.
- SQLite Frequently Asked Questions – общие рекомендации по выбору идентификаторов, их ограничения и принципы именования.
- Command Line Shell For SQLite – продром истории норм именования в SQLite.
- How do I rename a column in a SQLite database table? – Stack Overflow – обсуждения и решения вопросов переименования столбцов.
- SQL Keywords Reference – список зарезервированных SQL-ключевиков для различных СУБД.
- SQL style guide by Simon Holywell – советы по стилистике именования в SQL.