Если в операторе задается имя столбца, SQL сам определяет, в какой из указанных в этом же операторе таблиц содержится данный столбец. Однако если в оператор требуется включить два столбца из различных таблиц, но с одинаковыми именами, необходимо указать полные имена столбцов, которые однозначно определяют их местонахождение. Полное имя столбца состоит из имени таблицы, содержащей столбец, и имени столбца {простого имени}, разделенных точкой (.). Например, полное имя столбца sales из таблицы salesreps имеет следующий вид:
SALESREPS.SALES
Если столбец находится в таблице, владельцем которой является другой пользователь, то в полном имени столбца следует использовать полное имя таблицы. Например, полное имя столбца birth _ date в таблице birthdays, владельцем которой является пользователь sam, имеет следующий вид:
SAM. BIRTHDAYS. BIRTH_DATE.
Полное имя столбца можно использовать вместо простого имени во всех операторах SQL; об исключениях, говорится при описании конкретных операторов.
Типы данных
В стандарте ANSI/ISO определены типы данных, которые можно использовать для представления информации в реляционной базе данных. Типы данных, имеющиеся в стандарте SQL1, составляют лишь минимальный набор и поддерживаются во всех коммерческих СУБД. В табл. 5.3 перечислены типы данных, определенные в стандартах SQL1 и SQL2.
|
|
Тип данных | Описание |
CHAR (длина) | Строки символов постоянной длины |
CHARACTER (длина) | |
VARCHAR (длина) | Строки символов переменной длины* |
CHAR VARYING (длина) | |
CHARACTER VARYING (длина) | |
NCHAR (длина) | Строки локализованных символов постоянной длины* |
NATIONAL CHAR (длина) | |
NATIONAL CHARACTER (длина) | |
NCHAR VARYING (длина) | Строки локализованных символов переменной длины* |
NATIONAL CHAR VARYING (длина) | |
NATIONAL CHARACTER VARYING (длина) | |
INTEGER | Целые числа |
INT | |
SMALLINT | Маленькие целые числа |
BIT (длина) | Строки битов постоянной длины* |
BIT VARYING^HHO^ | Строки битов переменной длины* |
NUMERIC (точность, степень) | Масштабируемые целые (десятичные) числа |
DECIMAL (точность, степень) | |
DEC (точность, степень) | |
FLOAT (точность) | Числа с плавающей запятой |
REAL | Числа с плавающей запятой низкой точности |
DOUBLE PRECISION | Числа с плавающей запятой высокой точности |
DATE | Календарная дата* |
TIME (точность) | Время |
TIMESTAMP (точность) | Дата и время* |
INTERVAL | Временной интервал* |
Типы данных, появившиеся в SQL2
В SQL1 используются следующие типы данных:
• Строки символов постоянной длины. В столбцах, имеющих этот тип данных, обычно хранятся имена людей и компаний, адреса, описания и т.д.
• Целые числа. В столбцах, имеющих этот тип данных, обычно хранятся данные о счетах, количествах, возрастах и т.д. Целочисленные столбцы часто используются также для хранения идентификаторов, таких как идентификатор клиента, служащего или заказа.
|
|
• Масштабируемые целые числа. В столбцах данного типа хранятся числа, имеющие дробную часть, которые необходимо вычислять точно, например, курсы валют и проценты. Кроме того, в таких столбцах часто хранятся денежные величины.
• Числа с плавающей запятой. Столбцы этого типа используются для хранения величин, которые можно вычислять приблизительно, например веса и расстояния. Числа с плавающей запятой могут представлять больший диапазон значений, чем десятичные числа, однако при вычислениях могут возникать погрешности округления.