Книга: Маркин А. В. «Построение запросов и программирование на SQL»

Построение запросов и программирование на SQL

Подробно рассмотрены основные синтаксические конструкции, применяемые при построении запросов на языке структурированных запросов (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

Издательство: "Диалог-МИФИ" (2014)

ISBN: 9785864042274

См. также в других словарях:

  • View (программирование) — Представление (англ. view, в сленге программистов часто используется в качестве заимствования из английского «вью») виртуальная (логическая) таблица, представляющая собой поименованный запрос (алиас к запросу), который будет подставлен как… …   Википедия

  • Language Integrated Query — LINQ в составе .NET Framework Language Integrated Query (LINQ)  проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework …   Википедия

  • Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности. Содержание 1 Основные задачи проектирования баз данных …   Википедия

Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»