Если в операторе указано имя таблицы, SQL предполагает, что происходит обращение к одной из ваших собственных таблиц (т.е. таблиц, которые создали вы). Имея соответствующее разрешение, можно обращаться к таблицам, владельцами которых являются другие пользователи, с помощью полного имени таблицы. Полное имя состоит из имени владельца таблицы и собственно ее имени, разделенных точкой. Например, полное имя таблицы birthdays, владельцем которой является пользователь по имени sam, имеет следующий вид:
SAM.BIRTHDAYS
Полное имя таблицы можно использовать вместо простого имени таблицы во всех операторах SQL.
Если в операторе задается имя столбца, 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 используются следующие типы данных:
• Строки символов постоянной длины. В столбцах, имеющих этот тип данных, обычно хранятся имена людей и компаний, адреса, описания и т.д.
• Целые числа. В столбцах, имеющих этот тип данных, обычно хранятся данные о счетах, количествах, возрастах и т.д. Целочисленные столбцы часто используются также для хранения идентификаторов, таких как идентификатор клиента, служащего или заказа.
• Масштабируемые целые числа. В столбцах данного типа хранятся числа, имеющие дробную часть, которые необходимо вычислять точно, например, курсы валют и проценты. Кроме того, в таких столбцах часто хранятся денежные величины.
• Числа с плавающей запятой. Столбцы этого типа используются для хранения величин, которые можно вычислять приблизительно, например веса и расстояния. Числа с плавающей запятой могут представлять больший диапазон значений, чем десятичные числа, однако при вычислениях могут возникать погрешности округления.