- •Iso (международной организацией по
- •2 Понимание sql
- •Что такое - реляционная база данных?
- •Порядок строк произволен
- •4 Понимание sql ___________________________________________________________________
- •Идентификация строк ( первичные ключи )
- •Столбцы именуются и нумеруются
- •8 Понимание sql
- •************** Работа с sql **************
- •Sql : обзор
- •Что делает ansi ?
- •Интерактивный и вложенный sql
- •14 Понимание sql
- •Субподразделения sql
- •16 Понимание sql
- •Sql несогласованности
- •Что такое - пользователь?
- •18 Понимание sql
- •Условия и терминология
- •************** Работа с sql **************
- •24 Понимание sql
- •26 Понимание sql
- •Переупорядочение столбца
- •28 Понимание sql
- •Параметры distinct
- •30 Понимание sql
- •32 Понимание sql
- •************* Работа с sql ***************
- •38 Понимание sql
- •40 Понимание sql
- •42 Понимание sql
- •44 Понимание sql
- •Использование специальных операторов в условиях
- •50 Понимание sql
- •52 Понимание sql
- •54 Понимание sql
- •56 Понимание sql
- •************** Работа с sql **************
- •Обобщение данных с помощью агрегатных функций
- •64 Понимание sql
- •66 Понимание sql
- •Включение дубликатов в агрегатные функции
- •Предложение group by
- •68 Понимание sql
- •Предложение having
- •70 Понимание sql
- •72 Понимание sql
- •************** Работа с sql **************
- •Формирование выводов запросов
- •Помещение текста в вашем выводе запроса
- •78 Понимание sql
- •80 Понимание sql
- •82 Понимание sql
- •Упорядочение вывода по номеру столбца
- •84 Понимание sql
- •************** Работа с sql **************
- •Запрашивание многочисленых таблиц также как одной
- •90 Понимание sql
- •92 Понимание sql
- •94 Понимание sql
- •************** Работа с sql **************
- •Объединение таблицы с собой
- •Псевдонимы
- •100 Понимание sql
- •Устранение избыточности
- •102 Понимание sql
- •Больше псевдонимов
- •104 Понимание sql
- •106 Понимание sql
- •************** Работа с sql **************
- •Вставка одного запроса внутрь другого
- •112 Понимание sql
- •114 Понимание sql
- •116 Понимание sql
- •In определяет набор значений, одно из которых должно совпадать с другим
- •118 Понимание sql
- •In является подходящим, если запрос может ограниченно производить одно
- •120 Понимание sql
- •122 Понимание sql
- •*************** Работа с sql *************
- •Соотнесенные подзапросы
- •130 Понимание sql
- •132 Понимание sql
- •Соотнесенные подзапросы в предложении having
- •134 Понимание sql
- •*************** Работа с sql *************
- •Использование оператора exists
- •140 Понимание sql
- •142 Понимание sql
- •144 Понимание sql
- •146 Понимание sql
- •************** Работа с sql **************
- •Использование оператора exists
- •152 Понимание sql
- •154 Понимание sql _____________________________________________________________________
- •156 Понимание sql
- •158 Понимание sql
- •160 Понимание sql
- •162 Понимание sql
- •Использование count вместо exists
- •166 Понимание sql
- •************** Работа с sql **************
Субподразделения sql
И в интерактивной и во вложенной формах SQL, имеются многочисленные
части, или субподразделения. Так как вы вероятно сталкнетесь с этой
терминологией при чтении SQL, мы дадим некоторые пояснения.
К сожалению, эти термины не используются повсеместно во всех
реализациях. Они подчеркиваются ANSI и полезны на концептуальном
уровне, но большинство SQL программ практически не обрабатывают их
отдельно, так что они по существу становятся функциональными
категориями команд SQL.
DDL ( Язык Определения Данных ) - так называемый Язык Описания Схемы
в ANSI, состоит из команд которые создают объекты ( таблицы, индексы,
просмотры, и так далее ) в базе данных.
DML (Язык Манипулирования Данными) - это набор команд которые
определяют какие значения представлены в таблицах в любой момент времени.
DCD (Язык Управления Данными) состоит из средств которые определяют,
разрешить ли пользователю выполнять определенные действия или нет.
Они являются составными частями DDL в ANSI. Не забывайте эти имена.
Это не различные языки, а разделы команд SQL сгруппированных по их
функциям.
SQL: КРАТКИЙ ОБЗОР 15
______________________________________________________________________
======== РАЗЛИЧНЫЕ ТИПЫ ДАННЫХ ========
Не все типы значений которые могут занимать поля таблицы - логически
одинаковые. Наиболее очевидное различие - между числами и текстом.
Вы не можете помещать числа в алфавитном порядке или вычитать одно
имя из другого. Так как системы с реляционной базой данных базируются
на связях между фрагментами информации, различные типы данных должны
понятно отличаться друга от друга, так чтобы соответствующие процессы и
сравнения. могли быть в них выполнены.
В SQL, это делается с помощью назначения каждому полю - типа данных
который укаазывает на тип значения которое это поле может содержать.
Все значения в данном поле должны иметь одинаковый тип. В таблице
Заказчиков, например, cname и city - содержат строки текста для оценки,
snum, и cnum - это уже номера. По этой причине, вы не можете ввести
значение Highest(Наивысший) или значение None(Никакой) в поле rating,
которое имеет числовой тип данных. Это ограничение удачно, так как оно
налагает некоторую структурность на ваши данные. Вы часто будете сравни-
вать некоторые или все значения в данном поле, поэтому вы можете выпол-
нять действие только на определенных строках а не на всех. Вы не могли
бы сделать этого если бы значения полей имели смешанный тип данных.
К сожалению, определение этих типов данных является основной областью
в которой большинство коммерческих программ баз данных и официальный
стандарт SQL, не всегда совпадают. ANSI SQL стандарт распознает только
текст и тип номера, в то время как большинство коммерческих программ
используют другие специальные типы.
Такие как, DATA(ДАТА) и TIME(ВРЕМЯ) - фактически почти стандар-
тные типы( хотя точный формат их меняется ). Некоторые пакеты также под-
держивают такие типы, как например MONEY(ДЕНЬГИ) и BINARY
(ДВОИЧНЫЕ). (MONEY - это специальная система исчисления используе-
мая компьютерами.
Вся информация в компьютере передается двоичными числами и затем
преобразовываются в другие системы, что бы мы могли легко использовать их
и понимать.)
ANSI определяет несколько различных типов значений чисел, различия
между которыми - довольно тонки и иногда их путают. Разрешенные ANSI
типы данных перечислены в Приложении B.
Сложность числовых типов ANSI можно, по крайней мере частично,объяснить
усилием сделать вложенный SQL, совместимым с рядом других языков.