Иллюстрированный самоучитель по SQL для начинающих

Основы SQL

Зарезервированные слова

Кроме команд, специальное значение в SQL имеют и некоторые другие слова. Вместе с командами они зарезервированы для специального использования, поэтому эти слова нельзя применять в качестве имен переменных или любым другим способом, для которого они не предназначены. Вы можете легко увидеть, почему таблицам, столбцам и переменным нельзя давать имена из списка зарезервированных слов. Представьте себе, какая путаница возникнет из-за такого оператора:

SELECT SELECT FROM SELECT WHERE SELECT = WHERE;

Полный список зарезервированных слов стандарта SQL:2003 приводится в приложении А.

Типы данных

В разных реализациях SQL поддерживаются различные исторически сложившиеся типы данных. В спецификации SQL:2003 признаны только пять заранее определенных общих типов:

  • числовой;
  • строковый;
  • логический;
  • даты-времени;
  • интервальный.

Внутри каждого из этих типов может быть несколько подтипов (точный числовой; приблизительный числовой; символьный строковый; битовый строковый; строковый для больших объектов). Кроме встроенных, заранее определенных типов, в SQL:2003 также поддерживаются сконструированные и определяемые пользователем типы.

Совет:
Если вы используете реализацию SQL, в которой поддерживаются типы данных, не описанные в SQL:2003, то для большей переносимости вашей базы данных старайтесь этими типами данных не пользоваться. Перед тем как вы решите создать и использовать определяемый пользователем тип, убедитесь, что в любой СУБД, на которую вам, возможно, захочется перейти в будущем, также поддерживаются определяемые пользователем типы
.

Точные числовые типы

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

  • INTEGER
  • SMALLINT
  • BIGINT
  • NUMERIC
  • DECIMAL

Тип INTEGER

В данных типа INTEGER (целый) нет дробной части, и их точность зависит от конкретной реализации SQL. Таким образом, точность не может быть установлена разработчиком базы данных.

Помни:
Точностью числа является максимальное количество цифр, которое у него может быть
.

Тип SMALLINT

Тип SMALLINT (малый целый) также предназначен для целых значений, но его точность в конкретной реализации не может быть больше точности типа INTEGER, имеющейся в данной реализации. В реализациях, работающих на компьютерах IBM System /370, типы SMALLINT и INTEGER обычно представлены соответственно 16 – и 32-битовыми двоичными числами. Впрочем, во многих реализациях SMALLINT и INTEGER являются одним и тем же типом.

Если в таблице из базы данных вы определяете столбец для целых данных и известно, что значения в этом столбце никогда не превысят точность, установленную в вашей реализации для значений типа SMALLINT, то присвойте столбцу тип не INTEGER, a SMALLINT. Таким образом вы, возможно, позволите своей СУБД сэкономить место на диске.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.