- •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 **************
8 Понимание sql
______________________________________________________________
ГЛ. 1
=========== РЕЗЮМЕ ============
Теперь вы знаете что такое реляционная база данных, понятие, которое
звучит сложнее чем есть на самом деле. Вы также изучили некоторые
фундаментальные принципы относительно того, как сделаны таблицы -
как работают строки и столбцы, как первичные ключи отличают строки
друга друга, и как столбцы могут ссылаться к значениям в других
столбцах.
Вы поняли что запись это синоним строки, и что поле это синоним
столбца. Оба термина встречаются в обсуждении SQL, и мы будем
использовать их в равной степени в этой книге.
Вы теперь знакомы с таблицами примеров. Краткие и простые , они
способны показать большинство особенностей языка, как вы это увидите
В некоторых случаях, мы будем использовать другие таблицы или постулаты
некоторых различных данных в одной из этих таблиц чтобы показать вам
некоторые другие возможности.
Теперь вы готовы к углублению в SQL самостоятельно. Следующая глава
даст вам быстрый просмотр языка, и даст вам информацию, которая
поможет Вам ссылаться к уже пройденным местам.
ОПИСАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ 9
______________________________________________________________________
************** Работа с sql **************
1. Какое поле таблицы Заказчиков является первичным ключом ?
2. Что является столбцом 4 из таблицы Заказчиков ?
3. Как по другому называется строка? Столбец?
4. Почему вы может не запрашивать для просмотра первые пять строк
таблицы?
( См. Приложение A для ответов. )
2
Sql : обзор
12 ПОНИМАНИЕ SQL
______________________________________________________________________
ГЛ. 2
ЭТА ГЛАВА ПОЗАКОМИТ ВАС СО СТРУКТУРОЙ SQL языка
а также с определенными общими выводами, такими как тип данных которые
эти поля могут содержать и некоторые области неоднозначностей которые
существуют в SQL. Она педназначена обеспечить связь с более конкретной
информацией в последующих главах. Вы не должны запоминать каждую
подробность упомянутую в этой главе. Краткий обзор представлен здесь в
одной удобно размещеной области, многие подробности которой вы можете
иметь чтобы в последствии ссылаться к ним по мере овладения языком. Мы
поместили все это в начало книги чтобы ориентировать вас на мир SQL без
упрощенного подхода к его проблемам и в тоже время дать Вам привычные в
будущем места для ссылки к ним когда у Вас появятся вопросы. Этот материал
может стать более понятным когда мы перейдем к описанию конкретных
команд SQL, начинающихся с Главы 3.
========= КАК РАБОТАЕТ SQL? ==========
SQL это язык ориентированный специально на реляционные базы данных.
Он устраняет много работы которую вы должны были бы сделать если бы
вы использовали универсальный язык программирования, напрмер C. Чтобы
сформировать реляционную базу данных на C, вам необходимо было бы
начать с самого начала. Вы должны были бы определить объект - называемый
таблицей которая могла бы расти чтобы иметь любое число строк, а затем
создавать постепенно процедуры для помещения значений в нее и извлечения
из них. Если бы вы захотели найти некоторые определенные строки, вам
необходимо было бы выполнить по шагам процедуру, подобную следующей :
1. Рассмотрите строку таблицы.
2. Выполните проверку - является ли эта строка одной из строк которая вам нужна.
3. Если это так, сохраните ее где-нибудь пока вся таблица не будет проверена.
4. Проверьте имеются ли другие строки в таблице.
5. Если имеются, возвратитесь на шаг 1.
6. Если строк больше нет, вывести все значения сохраненные в шаге 3.
( Конечно, это не фактический набор C команд, а только логика шагов
которые должны были бы быть включены в реальную программу. )
SQL: КРАТКИЙ ОБЗОР 13
______________________________________________________________________
SQL сэкономит вам все это. Команды в SQL могут работать со всеми
группами таблиц как с единым объектом и могут обрабатывать любое
количество информации извлеченной или полученной из их, в виде
единого модуля.