Язык запросов SQL
Глава 2 Основы SQL
Глава 2. Основы SQL
В этой главе
В этой главе... Что такое SQL Заблуждения, связанные с SQL Взгляд на разные стандарты SQL Знакомство со стандартными командами и зарезервированными словами SQL Представлени
Чем является SQL и чем он не является
Чем является SQL и чем он не является Первое, что надо уяснить насчет SQL , — этот язык не является процедурным, как FORTRAN , Basic , С, COBOL , Pascal и Java . Чтобы решить задачу с помощью о
(Очень) Короткая история
(Очень) Короткая история Язык SQL , как и теория реляционных баз данных, берет свое начало в одной из исследовательских лабораторий компании IBM . В начале 1970-х годов исследователи из IBM вып
Команды SQL
Команды SQL Язык SQL состоит из ограниченного числа команд, специально предназначенных для управления данными. Одни из этих команд служат для определения данных, другие — для их обработки, а ос
Зарезервированные слова
Зарезервированные слова Кроме команд, специальное значение в SQL имеют и некоторые другие слова. Вместе с командами они зарезервированы для специального использования, поэтому эти слова нельзя
Типы данных
Типы данных В разных реализациях SQL поддерживаются различные исторически сложившиеся типы данных. В спецификации SQL:2003 признаны только пять заранее определенных общих типов: числово
Точные числовые типы
Точные числовые типы Как вы, возможно, поняли из названия, точные числовые типы данных позволяют точно выразить значение числа. К этой категории относятся пять типов: INTEGER SMALLI
Тип INTEGER
Тип INTEGER В данных типа INTEGER (целый) нет дробной части, и их точность зависит от конкретной реализации SQL . Таким образом, точность не может быть установлена разработчиком базы данных.
Тип SMALLINT
Тип SMALLINT Тип SMALLINT (малый целый) также предназначен для целых значений, но его точность в конкретной реализации не может быть больше точности типа INTEGER , имеющейся в данной реализаци
Тип BIGINT
Тип BIGINT Тип данных BIGINT (большой целый) — это новый тип данных, появившийся вместе с SQL :2 OO 3. Он также предназначен для целых значений и определяется как тип, точность которого м
Тип NUMERIC
Тип NUMERIC В данных типа NUMERIC (числовой), кроме целого компонента, может быть и дробный. Для этих данных можно указать точность и масштаб. Точность, как вы помните, — это максимально возмо
Тип DECIMAL
Тип DECIMAL Тип данных DECIMAL (десятичный) похож на NUMERIC . В нем может быть дробная часть, и для него можно указать точность и масштаб. DECIMAL отличается от NUMERIC тем, что если точность
Приблизительные числовые типы
Приблизительные числовые типы У некоторых величин имеется такой большой диапазон возможных значений (большое количество порядков), что компьютер с данным размером регистра не может в точности
Тип REAL
Тип REAL Тип данных REAL (действительное число) дает возможность задавать числа однократно точности с плавающей запятой, точность которых зависит от реализации. Вообще-то, точность определяется
Тип DOUBLE PRECISION
Тип DOUBLE PRECISION Тип данных DOUBLE PRECISION (двойная точность) дает возможность задавать числа двойной точности с плавающей запятой, точность которых опять-таки зависит от реализации Удив
Тип FLOAT
Тип FLOAT Тип данных FLOAT (плавающий) является самым полезным, если вы считаете, что ваша база данных однажды должна перейти на аппаратную платформу, в которой размеры регистров отличают
Символьные строки
Символьные строки Сейчас в базах данных хранятся данные многих разных типов, в том числе графические изображения звуки и анимация. Надеюсь, что вслед за ними появятся и запахи. Можете вы предст
Тип CHARACTER
Тип CHARACTER Если вы определяете для столбца тип данных CHARACTER или CHAR , количество символов, которое будет в нем находиться, можно укачать, используя синтаксис CHARACTER (х), где х
Тип CHARACTER VARYING
Тип CHARACTER VARYING Тип данных CHARACTER VARYING полезен тогда, когда вводимые в столбец значения имеют разную длину, но вы не хотите, чтобы поле заполнялось пробелами. Этот тип данных Дает
Тип CHARACTER LARGE OBJECT
Тип CHARACTER LARGE OBJECT тип данных CHARACTER LARGE OBJECT (CLOB) впервые появился в SQL: 1999. Как Указывает его имя (означает "большой символьный объект"), он используется вместе
Типы NATIONAL CHARACTER NATIONAL
Типы NATIONAL CHARACTER , NATIONAL CHARACTER VARYING и NATIONAL CHARACTER LARGE OBJECT В разных языках используются символы, которые отличаются от любых символов другого языка. Например, в нем
Логические данные
Логические данные Тип данных BOOLEAN (булев) имеет два определенных логических значения, true (истина) и false (ложь), а также неопределенное значение unknown (неизвестное). Если любое из первы
Данные типа датывремени
Данные типа даты-времени В SQL:2OO3 определяются пять различных типов данных, которые относятся к дате и времени. Они называются типами данных даты-времени или просто датой-временем. Некоторые и
Внимание
Внимание В тех реализациях, в которых не полностью поддерживаются все пять типов данных для даты и времени, при переносе в них баз данных из других реализаций могут возникнуть проблемы. Если с пер
Тип DATE
Тип DATE Тип DATE (дата) предназначен для хранения значений даты в следующем порядке: год, и день. Значение года занимает четыре цифры, а месяца и дня — по две. Значения этого могут представлять
Тип TIME WITHOUT TIME ZONE
Тип TIME WITHOUT TIME ZONE Тип TIME WITHOUT TIME ZONE (время без часового пояса) предназначен для хранения значений времени в следующем порядке: час, минута и секунда. Значения часа и минуты зан
Тип TIMESTAMP WITHOUT TIME ZONE
Тип TIMESTAMP WITHOUT TIME ZONE В данных типа TIMESTAMP WITHOUT TIME ZONE (дата и время без часового пояса) хранится информация как о дате, так и о времени. У компонентов данных этого типа такие
Тип TIME WITH TIME ZONE
Тип TIME WITH TIME ZONE Тип данных TIME WITH TIME ZONE (время вместе с часовым поясом) в точности такой же как и TIME WITHOUT TIME ZONE, за исключением того, что в нем еще имеется информация о
Тип TIMESTAMP WITH TIME ZONE
Тип TIMESTAMP WITH TIME ZONE Тип данных TIMESTAMP WITH TIME ZONE (дата и время вместе с часовым поясом) работает точно так же, как и TIMESTAMP WITHOUT TIME ZONE, за исключением того, что в нем е
Интервалы
Интервалы Интервальные типы данных тесно связаны с типами данных даты-времени. Интервал — это разница между двумя значениями даты-времени. Во многих приложениях, имеющих дело со значениями даты,
Типы ROW
Типы ROW Тип данных ROW (запись) впервые появился в SQL: 1999. Он не является легким для понимания, и вы на своем пути от начального до среднего уровня программирования на SQL, возможно, так ник
Типы коллекций
Типы коллекций После того как с выходом SQL: 1999 была разрушена реляционная строгость, стало возможным использование таких типов данных, которые нарушают первую нормальную форму. Теперь поля мо
Типы ARRAY
Типы ARRAY Тип данных ARRAY (массив) нарушает первую нормальную форму (1НФ), но делает это иначе, чем тип ROW. Тип ARRAY, относящийся к типу коллекций, в действительности не является отдельным т
Тип MULTISET
Тип MULTISET Тип данных MULTISET (мультимножество) — это неупорядоченная коллекция. Определенные элементы мультимножества могут быть не связаны, поскольку им не назначается определенная порядкова
Типы REF
Типы REF Типы REF в основную часть SQL не входят. Это значит, что какая-либо система СУБД, совсем не использующая эти типы данных, все равно может считаться соответствующей стандарту SQL:2003. Ти
Определяемые пользователем типы
Определяемые пользователем типы Определяемые пользователем типы (user-defined types, UDT) — это еще один пример новых возможностей, пришедших в SQL: 1999 из мира объектно-ориентированного програм
Отдельные типы данных
Отдельные типы данных Отдельные типы данных — это простейшие формы определяемых пользователем типов. Отдельные типы определяются той особенностью, что они выражаются как единый тип данных. Они со
Структурированные типы
Структурированные типы Вторая форма определяемого пользователем типа — структурированный тип. Он представляет собой перечень определений атрибутов и методов, а не базируется на отдельном предопре
Конструкторы
Конструкторы При создании структурного UDT-типа СУБД автоматически создает для него функцию-конструктор, давая ей имя, аналогичное имени UDT-типа.
Мутаторы и наблюдатели
Мутаторы и наблюдатели При создании структурированного UDT-типа СУБД также автоматически создает для него функцию-мутатор и функцию-наблюдатель. При применении функции-мутатора изменяется значени
Подтипы и супертипы
Подтипы и супертипы Между двумя структурированными типами могут существовать иерархические отношения. К примеру, тип MusicCDudt имеет подтипы RockCDudt и ClassicalCDudt. Для этих двух подтипов Mu
Пример структурированного типа
Пример структурированного типа Структурированные UDT-типы могут быть созданы следующим способом: /* Создаем UDT-тип MusicCDudt */ CREATE TYPE MusicCDudt AS /*
Сводка типов данных
Сводка типов данных В таблице 2.2 перечислены различные типы данных и показаны литералы, которые соответствуют каждому из этих типов.
Таблица 2 2 Типы данных
Таблица 2.2. Типы данных Тип данных Пример значения CHARACTER (20) 'Любительское радио' VARCHAR (20) 'Любительское радио' CLOB (1000000) '
Неопределенные значения
Неопределенные значения Помни: Если в поле базы данных находятся какие-то данные, то в этом поле имеется определенное значение. А если поле не содержит никаких данных, то говорят, что у него неоп
Ограничения
Ограничения Ограничения вы устанавливаете на данные, вводимые кем-либо в таблицу базы данных. Например, известно, что значения, вводимые в определенный числовой столбец, должны находиться в пред
Сервер
Сервер Сервер не делает ничего, пока не получит запрос от клиента. Он только стоит и ждет. Но если требуется одновременно обслужить множество клиентов, то серверам приходится реагировать довольно
Что такое сервер
Что такое сервер Сервер (полное название — сервер базы данных) является той частью системы клиент/сервер, где находится база данных. Кроме того, на нем находится серверная часть системы управлени
Что делает сервер
Что делает сервер Работа у сервера относительно простая и понятная. Все, что ему нужно делать, — это читать, интерпретировать и выполнять команды, приходящие по сети от клиентов. Эти команды Долж
Клиент
Клиент Клиентская часть системы клиент/сервер (клиент) состоит из двух компонентов: аппаратного и программного. Аппаратным компонентом является клиентский компьютер и его интерфейс, предназначенн
Что такое клиент
Что такое клиент Основная работа клиента состоит в том, чтобы поддерживать пользовательский интерфейс. С точки зрения пользователя клиентской машиной является компьютер, а приложением — пользоват
Что делает клиент
Что делает клиент Клиентская часть СУБД выводит информацию на экран и реагирует на пользовательский ввод, переданный с помощью клавиатуры, мыши или другого устройства ввода. Кроме того, клиент та
Использование SQL в Intenet/интернет
Использование SQL в Intenet/интернет Работа с базами данных через Internet или интранет кардинально отличается от работы в традиционной системе клиент/сервер. Основное различие между ними находит
Операционная система UNIX. Руководство программиста
перейти
Основы операционных систем. Практикум
перейти
Что такое PostgreSQL?
- перейти
Краткий курс SQL
- перейти
SQL в PostgreSQL
- перейти
Операторы и функции
- перейти
Нетривиальные возможности
- перейти
Структуры данных и модели вычислений
- перейти
Классы функций для оценки сложности
- перейти
Общие сведения о списках
- перейти
Операции над разделенными множествами
- перейти
Представление очереди с помощью d-кучи
- перейти
Левосторонние кучи
- перейти
Ленивая левосторонняя куча
- перейти
Биномиальные кучи
- перейти
Тонкая куча в памяти компьютера
- перейти
Избыточное представление чисел
- перейти