Название: Построение запросов и программирование на SQL Автор: Маркин А. В. Издательство: Диалог-МИФИ Год: 2014 - 3-е изд., перераб. и доп. Cтраниц: 384 с. : ил. Формат: pdf (ocr) / djvu Размер: 21 мб Язык: русский
Подробно рассмотрены основные синтаксические конструкции, применяемые при построении запросов на языке структурированных запросов (SQL), а также программировании хранимых процедур и триггеров. Теоретический материал в полной мере проиллюстрирован примерами запросов и скриптов для учебной БД, являющейся упрощенной моделью БД реальной информационной системы. Разработанные автором дополнительные Интернет-ресурсы позволяют самостоятельно приобрести практические навыки построения запросов и программирования на SQL, а также проверить полученные теоретические знания, выполнив предлагаемый оригинальный лабораторный практикум по всем разделам учебного пособия. Предназначено для студентов вузов, обучающихся по направлениям специалитета, бакалавриата и магистратуры, связанным с разработкой, эксплуатацией, администрированием и сопровождением баз данных информационных систем, а также для всех желающих самостоятельно изучить основы SQL. Знания технологий баз данных необходимы современному студенту, так как они дают надежную гарантию на трудоустройство с высокой заработной платой.
ПРЕДИСЛОВИЕ 3 ВВЕДЕНИЕ 4 1. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ 6 1.1. Определение реляционной модели 6 1.2. Таблицы 11 1.3. Первичные ключи 13 1.4. Внешние ключи 14 1.5. Связи между таблицами 15 1.6. Нормализация отношений 17 1.7. Модели БД на логическом и физическом уровнях 20 1.8. Целостность данных 23 1.9. Архитектура «клиент-сервер» 26 1.9.1. Модели традиционной архитектуры 28 1.9.2. Облачные технологии для СУБД 39 Контрольные вопросы 51 2. ВВЕДЕНИЕ В SQL 52 2.1. Объекты структуры базы данных 52 2.2. Функции SQL 56 2.3. Достоинства SQL 60 2.4. Формы использования SQL 63 2.5. Firebird SQL Server 64 2.6. Правила синтаксиса и основные запросы SQL 69 2.7. Имена объектов в SQL. Константы, отсутствующие данные 73 2.8. Выражения 75 2.9. Типы данных 77 Контрольные вопросы 81 3. ЯЗЫК ВЫБОРКИ ДАННЫХ 82 3.1. Синтаксис запроса SELECT 82 3.2. Запросы к одной таблице 84 3.2.1. Предложения SELECT и FROM 86 3.2.2. Предложение WHERE 91 3.2.3. Функции в SQL 100 3.2.4. Предложение GROUP BY 133 3.2.5. Предложение HAVING 137 3.2.6. Предложение ORDER BY 140 3.3. Многотабличные и вложенные запросы 144 3.3.1. Соединения таблиц 145 3.3.2. Запросы с вложенными запросами 158 3.3.3. Объединение результатов нескольких запросов 185 3.3.4. Рекурсивные подзапросы в предложении WITH 189 3.4. Оптимизация запросов на выборку данных 190 3.4.1. Обработка запроса в реляционных СУБД 191 3.4.2. Основные направления анализа «медленных» SQL-запросов 193 3.4.3. Рекомендации по построению и реструктуризации запросов конкретных типов 196 Контрольные вопросы 200 4. ЯЗЫК ОПРЕДЕЛЕНИЯ ДАННЫХ 201 4.1. Домены 202 4.2. Создание, изменение и удаление базовых таблиц БД 205 4.2.1. Создание таблицы 205 4.2.2. Определение ограничений столбца 207 4.2.3. Определение ограничений на таблицу 210 4.2.4. Удаление таблицы БД 213 4.2.5. Изменение определения таблицы 213 4.3. Индексы 217 4.4. Временные таблицы 220 4.5. Представления 222 4.6. Комментарии к объектам БД 229 Контрольные вопросы 230 5. ЯЗЫК МАНИПУЛИРОВАНИЯ ДАННЫМИ 231 5.1. Добавление новых данных 231 5.1.1. Однострочный запрос INSERT 232 5.1.2. Многострочный запрос INSERT 233 5.2. Обновление существующих данных 234 5.2.1. Простой запрос UPDATE 234 5.2.2. Запрос UPDATE с подзапросом 235 5.3. Обобщенное обновление и добавление данных 239 5.4. Слияние данных 241 5.5. Удаление существующих данных 243 5.5.1. Простой запрос DELETE 243 5.5.2. Запрос DELETE с подзапросом 244 5.6. Обновление представлений 247 Контрольные вопросы 255 6. ПРОЦЕДУРНЫЙ ЯЗЫК 256 6.1. Основы разработки модулей на PSQL 256 6.1.1. SQL-сценарии 257 6.1.2. Переменные 261 6.1.3. Условные операторы 263 6.1.4. Курсоры в PSQL 264 6.1.5. Генераторы 268 6.1.6. Исключительные ситуации 271 6.2. Хранимые процедуры 273 6.2.1. Определение процедур 274 6.2.2. Селективные процедуры 278 6.2.3. Выполняемые процедуры 285 6.3. PSQL-функции 298 6.4. Триггеры 299 6.4.1. Триггеры DML 299 6.4.2. Триггеры DDL 310 6.4.3. Триггеры БД 313 6.5. PSQL-пакеты 315 6.6. Выполняемые блоки 318 Контрольные вопросы 319 7. ЗАЩИТА ДАННЫХ 320 7.1. Управление доступом к данным 320 7.1.1. Требования к безопасности данных 320 7.1.2. Привилегии доступа и передача привилегий 323 7.1.3. SQL-роли 327 7.1.4. Привилегии на представления 328 7.1.5. Отмена привилегий 329 7.1.6. Автоматизированное управление доступом 331 7.2. Транзакции 335 7.2.1. Понятие транзакции 335 7.2.2. Восстановление данных 336 7.2.3. Параллелизм 340 Контрольные вопросы 343 ЛАБОРАТОРНЫЙ ПРАКТИКУМ 344 Лабораторная работа 1. IBExpert инструмент разработчика и администратора баз данных Firebird. Учебная БД 344 Лабораторная работа 2. Построение однотабличных запросов на выборку данных 347 Лабораторная работа 3. Построение многотабличных и вложенных запросов на выборку данных 348 Лабораторная работа 4. Построение запросов на определение данных 349 Лабораторная работа 5. Построение запросов на модификацию данных 351 Лабораторная работа 6. Программирование хранимых процедур 355 Лабораторная работа 7. Программирование триггеров 358 Лабораторная работа 8. Построение запросов управления доступом 361 БИБЛИОГРАФИЧЕСКИЙ СПИСОК 364 ПРИЛОЖЕНИЯ 367 Приложение А. ОПИСАНИЕ УЧЕБНОЙ БД 367 Приложение Б. СИСТЕМНЫЙ КАТАЛОГ БД 376 Б.1. Общие сведения о базе данных 376 Б.2. Домены 376 Б.3. Отношения (таблицы и представления) 378 Б.4. Процедуры 379 Б.5. Триггеры 380 Б.6. Зависимости 381
Скачать Маркин А. В. - Построение запросов и программирование на SQL
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.