Город Бийск
Информационно-развлекательный портал
Понедельник, 30.06.2025, 13:59
Приветствую Вас Гость | RSS

Меню сайта

Категории каталога
Книги и журналы [8]
Электронные книги и журналы
Программы [37]
Софт на каждый день
Кино [1]
Фильмы, мультики, приколы

Наш опрос
Каким Антивирусом вы пользуетесь?
Всего ответов: 122

Главная » Файлы » Книги и журналы

Построение запросов и программирование на SQL
[ ] 10.11.2008, 00:32
Оглавление
 
Предисловие ...................................................................................................................................... 6
Введение ............................................................................................................................................. 6
1.  Реляционная модель данных .................................................................................................. 7
1.1. Определение реляционной модели ........................................................................................ 8
1.2. Таблицы .................................................................................................................................. 11
1.3. Первичные ключи .................................................................................................................. 13
1.4. Внешние ключи...................................................................................................................... 14
1.5. Связи между таблицами ........................................................................................................ 15
1.6. Нормализация отношений ....................................................................................................  17
1.7. Модели базы данных на логическом и физическом уровнях ............................................ 19
1.8. Целостность данных .............................................................................................................. 22
1.9. Архитектура "клиент-сервер" ............................................................................................... 23
Контрольные вопросы .................................................................................................................. 32
2.  Введение в SQL ........................................................................................................................ 32
2.1. Объекты структуры базы данных ........................................................................................ 33
2.2. Функции SQL ......................................................................................................................... 36
2.3. Достоинства SQL ................................................................................................................... 40
2.4. SQL-сервер Firebird ............................................................................................................... 43
2.5. Правила синтаксиса и основные запросы SQL ................................................................... 47
2.6. Формы использования  SQL ................................................................................................. 52
2.7. Имена объектов в SQL. Константы, отсутствующие данные ........................................... 53
2.8. Выражения.............................................................................................................................. 55
2.9. Типы данных .......................................................................................................................... 57
Контрольные вопросы .................................................................................................................. 61
3.  Язык выборки данных ........................................................................................................... 61
3.1. Синтаксис запроса SELECT ................................................................................................. 61
3.2. Запросы к одной таблице ...................................................................................................... 63
3.2.1. Предложения SELECT и FROM .................................................................................... 65
3.2.2. Предложение WHERE .................................................................................................... 70
3.2.2.1. Простое сравнение ....................................................................................................  71
3.2.2.2. Проверка на принадлежность диапазону значений ............................................... 72
3.2.2.3. Проверка на соответствие шаблону ........................................................................ 73
3.2.2.4. Проверка на наличие последовательности символов ............................................ 74
3.2.2.5. Проверка на совпадение с началом строки ............................................................ 75
3.2.2.6. Проверка на членство в множестве ......................................................................... 75
3.2.2.7. Проверка значения на NULL ................................................................................... 76
3.2.2.8. Проверка двух значений на отличие ....................................................................... 77
3.2.2.9. Составные условия поиска ....................................................................................... 77
3.2.3. Функции в SQL ................................................................................................................ 79
3.2.3.1. Классификация функций .......................................................................................... 79
3.2.3.2. Скалярные функции .................................................................................................. 81
3.2.3.2.1. Строковые функции ........................................................................................... 81
3.2.3.2.2. Числовые функции ............................................................................................. 87
3.2.3.2.3. Функции даты и времени ................................................................................... 89
3.2.3.2.4. Функция преобразования типа .......................................................................... 92
3.2.3.3. Агрегатные функции ................................................................................................ 94
3.2.3.3.1. Общее описание агрегатных функций .............................................................. 94
3.2.3.3.2. Вычисление среднего значения ......................................................................... 94
3.2.3.3.3. Вычисление суммы значений в столбце ........................................................... 95
3.2.3.3.4. Вычисление экстремумов .................................................................................. 96
3.2.3.3.5. Вычисление количества значений в столбце ................................................... 96
3.2.3.4. Функции на списке значений ................................................................................... 97
3.2.3.4.1. Функции MAXVALUE и MINVALUE ............................................................. 97
3.2.3.4.2. Функция LIST...................................................................................................... 98
3.2.3.5. Дополнительные возможности вывода в предложении SELECT ........................ 98
3.2.3.5.1. Операция выбора CASE ..................................................................................... 99
3.2.3.5.2. Функция COALESCE ....................................................................................... 101
3.2.3.5.3. Функция NULLIF .............................................................................................. 102
3.2.3.5.4. Функция IIF ....................................................................................................... 103
3.2.3.5.5. Функция DECODE ............................................................................................ 104
3.2.4. Сортировка результатов запроса ................................................................................. 105
3.2.5. Предложение GROUP BY ............................................................................................. 109
3.2.6. Предложение HAVING ................................................................................................. 113
3.3. Многотабличные и вложенные запросы ........................................................................... 116
3.3.1. Соединения таблиц ....................................................................................................... 117
3.3.1.1. Неявное соединение таблиц ................................................................................... 117
3.3.1.2. Явное соединение таблиц ....................................................................................... 121
3.3.1.3. Стандартные соединения (объединения) таблиц .................................................  125
3.3.1.3.1. Декартово произведение .................................................................................. 125
3.3.1.3.2. Эквисоединение ................................................................................................ 126
3.3.1.3.3. Естественное соединение таблиц .................................................................... 127
3.3.1.3.4. Композиция ....................................................................................................... 127
3.3.1.3.5. Тета-соединение................................................................................................ 128
3.3.1.4.  Соединение таблицы со своей  копией ................................................................ 129
3.3.2. Запросы с вложенными запросами .............................................................................. 130
3.3.2.1. Виды вложенных запросов ..................................................................................... 130
3.3.2.2. Запросы с простыми подзапросами ....................................................................... 132
3.3.2.2.1. Простые подзапросы в предложении WITH .................................................. 132
3.3.2.2.2. Простые подзапросы в предложении SELECT .............................................. 136
3.3.2.2.3. Простые подзапросы в предложении FROM ................................................. 137
3.3.2.2.4. Простые подзапросы в предложениях WHERE и HAVING ......................... 140
3.3.2.3. Запросы со связанными подзапросами ................................................................. 145
3.3.2.3.1. Связанные подзапросы в предложении SELECT ..........................................  146
3.3.2.3.2. Связанные подзапросы в  предложениях WHERE и HAVING .................... 148
3.3.2.4. Предикаты ANY и ALL .......................................................................................... 153
3.3.2.5. Предикат SINGULAR ............................................................................................. 156
3.3.2.6. Предикат EXISTS .................................................................................................... 157
3.3.3. Объединение результатов нескольких запросов ........................................................ 160
Контрольные вопросы ................................................................................................................ 164
4.  Язык определения данных .................................................................................................. 164
4.1. Домены ................................................................................................................................. 165
4.2. Создание, изменение и удаление базовых таблиц БД ...................................................... 169
4.2.1. Создание таблицы ......................................................................................................... 169
4.2.2. Определение ограничений столбца ............................................................................. 171
4.2.3. Определение ограничений на таблицу ........................................................................ 174
4.2.4. Удаление таблицы БД ................................................................................................... 177
4.2.5. Изменение определения таблицы ................................................................................ 177
4.3. Индексы ................................................................................................................................ 181
4.4. Временные таблицы ............................................................................................................ 184
4.5. Представления...................................................................................................................... 187
4.6. Комментарии к объектам базы данных ............................................................................. 194
Контрольные вопросы ................................................................................................................ 195
5.  Язык манипулирования данными ..................................................................................... 195
5.1. Добавление новых данных .................................................................................................. 196
5.1.1. Однострочный запрос  INSERT ................................................................................... 196
5.1.2. Многострочный запрос INSERT .................................................................................. 197
5.2. Обновление существующих данных.................................................................................. 199
5.2.1. Простой запрос UPDATE .............................................................................................  199
5.2.2. Запрос UPDATE с подзапросом ................................................................................... 200
5.3. Обобщенное обновление и добавление данных ............................................................... 204
5.4. Слияние данных ................................................................................................................... 206
5.5. Удаление существующих данных ...................................................................................... 208
5.5.1. Простой запрос DELETE .............................................................................................. 208
5.5.2. Запрос DELETE с подзапросом ................................................................................... 209
5.6. Обновление представлений ................................................................................................ 212
Контрольные вопросы ................................................................................................................ 221
6.  Процедурный язык ............................................................................................................... 221
6.1. Основы разработки модулей на PSQL ............................................................................... 222
6.1.1. Переменные ................................................................................................................... 222
6.1.2. Условные операторы ..................................................................................................... 224
6.1.2.1. Оператор ветвления IF ............................................................................................ 224
6.1.2.2. Оператор WHILE .................................................................................................... 225
6.1.3. Курсоры в PSQL ............................................................................................................ 225
6.1.3.1. Неявный курсор ....................................................................................................... 226
6.1.3.2. Явный курсор .......................................................................................................... 228
6.1.4. SQL сценарии................................................................................................................. 229
6.1.5. Генераторы ..................................................................................................................... 232
6.1.6. Исключительные ситуации .......................................................................................... 234
6.2. Хранимые процедуры .......................................................................................................... 236
6.2.1. Определение хранимых процедур ............................................................................... 236
6.2.2. Процедуры выбора ........................................................................................................ 240
6.2.3. Выполняемые процедуры ............................................................................................. 245
6.3. Триггеры ............................................................................................................................... 252
6.3.1. Триггеры DML ............................................................................................................... 252
6.3.1.1. Определение триггера ............................................................................................ 252
6.3.1.2. Примеры поддержания ссылочной целостности .................................................  258
6.3.1.3. Модификация и удаление триггера ....................................................................... 261
6.3.2. Триггеры базы данных .................................................................................................. 262
6.4. Выполняемые блоки ............................................................................................................ 264
Контрольные вопросы ................................................................................................................ 265
7.  Защита данных ...................................................................................................................... 265
7.1. Управление доступом к данным ........................................................................................ 266
7.1.1. Требования к безопасности данных ............................................................................ 266
7.1.2. Привилегии доступа и передача привилегий ............................................................. 267
7.1.3. SQL роли ........................................................................................................................ 271
7.1.4. Отмена привилегий ....................................................................................................... 273
7.1.5. Привилегии на представления ..................................................................................... 275
7.2. Транзакции ........................................................................................................................... 277
7.2.1. Понятие транзакции ...................................................................................................... 277
7.2.2. Восстановление данных ................................................................................................ 278
7.2.3. Восстановление системы .............................................................................................. 282
7.2.4. Параллелизм................................................................................................................... 285
Контрольные вопросы ................................................................................................................ 288
Приложение А ............................................................................................................................... 289
Категория: Книги и журналы | Добавил: fc
Просмотров: 1071 | Загрузок: 2 | Рейтинг: 5.0/3 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Мини-чат

Поиск

Друзья сайта

Статистика
Rambler's Top100





Онлайн всего: 4
Гостей: 4
Пользователей: 0

Copyright by Felix Craft © 2007 - 2025Используются технологии uCoz