Построение запросов и программирование на SQL
3-е издание, перераб. и допол.
Диалог-МИФИ, 2014
384 стр.
ISBN: 978-5-86404-227-4a
Цена:
Цена почтой:

Файлы примеров

Подробно рассмотрены основные синтаксические конструкции, применяемые при построении запросов на языке структурированных запросов (SQL),  а также программировании хранимых процедур и триггеров. Теоретический материал в полной мере проиллюстрирован примерами запросов и скриптов для учебной БД, являющейся упрощенной моделью БД реальной информационной системы. Разработанные автором дополнительные Интернет-ресурсы позволяют самостоятельно приобрести практические навыки построения запросов и программирования на SQL, а также проверить полученные теоретические знания, выполнив предлагаемый оригинальный лабораторный практикум по всем разделам учебного пособия.

Предназначено для студентов вузов, обучающихся по направлениям специалитета, бакалавриата и магистратуры, связанным с разработкой, эксплуатацией, администрированием и сопровождением баз данных информационных систем, а также для всех желающих самостоятельно изучить основы SQL. Знания технологий баз данных необходимы современному студенту, так как они дают надежную гарантию на трудоустройство с высокой заработной платой.

 

Оглавление

ПРЕДИСЛОВИЕ

ВВЕДЕНИЕ

1. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

1.1. Определение реляционной модели

1.2. Таблицы

1.3. Первичные ключи

1.4. Внешние ключи

1.5. Связи между таблицами

1.6. Нормализация отношений

1.7. Модели БД на логическом и физическом уровнях

1.8. Целостность данных

1.9. Архитектура «клиент-сервер»

1.9.1. Модели традиционной архитектуры

1.9.2. Облачные технологии для СУБД

Контрольные вопросы

2. ВВЕДЕНИЕ В SQL

2.1. Объекты структуры базы данных

2.2. Функции SQL

2.3. Достоинства SQL

2.4. Формы использования SQL

2.5. Firebird SQL Server

2.6. Правила синтаксиса и основные запросы SQL

2.7. Имена объектов в SQL. Константы, отсутствующие данные

2.8. Выражения

2.9. Типы данных

Контрольные вопросы

3. ЯЗЫК ВЫБОРКИ ДАННЫХ

3.1. Синтаксис запроса SELECT

3.2. Запросы к одной таблице

3.2.1. Предложения SELECT и FROM

3.2.2. Предложение WHERE

3.2.3. Функции в SQL

3.2.4. Предложение GROUP BY

3.2.5. Предложение HAVING

3.2.6. Предложение ORDER BY

3.3. Многотабличные и вложенные запросы

3.3.1. Соединения таблиц

3.3.2. Запросы с вложенными запросами

3.3.3. Объединение результатов нескольких запросов

3.3.4. Рекурсивные подзапросы в предложении WITH

3.4. Оптимизация запросов на выборку данных

3.4.1. Обработка запроса в реляционных СУБД

3.4.2. Основные направления анализа  «медленных» SQL-запросов

3.4.3. Рекомендации по построению и реструктуризации запросов

конкретных типов

Контрольные вопросы

4. ЯЗЫК ОПРЕДЕЛЕНИЯ ДАННЫХ

4.1. Домены

4.2. Создание, изменение и удаление  базовых таблиц БД

4.2.1. Создание таблицы

4.2.2. Определение ограничений столбца

4.2.3. Определение ограничений на таблицу

4.2.4. Удаление таблицы БД

4.2.5. Изменение определения таблицы

4.3. Индексы

4.4. Временные таблицы

4.5. Представления

4.6. Комментарии к объектам БД

Контрольные вопросы

5. ЯЗЫК МАНИПУЛИРОВАНИЯ ДАННЫМИ

5.1. Добавление новых данных

5.1.1. Однострочный запрос INSERT

5.1.2. Многострочный запрос INSERT

5.2. Обновление существующих данных

5.2.1. Простой запрос UPDATE

5.2.2. Запрос UPDATE с подзапросом

5.3. Обобщенное обновление и добавление данных

5.4. Слияние данных

5.5. Удаление существующих данных

5.5.1. Простой запрос DELETE

5.5.2. Запрос DELETE с подзапросом

5.6. Обновление представлений

Контрольные вопросы

6. ПРОЦЕДУРНЫЙ ЯЗЫК

6.1. Основы разработки модулей на PSQL

6.1.1. SQL-сценарии

6.1.2. Переменные

6.1.3. Условные операторы

6.1.4. Курсоры в PSQL

6.1.5. Генераторы

6.1.6. Исключительные ситуации

6.2. Хранимые процедуры

6.2.1. Определение процедур

6.2.2. Селективные процедуры

6.2.3. Выполняемые процедуры

6.3. PSQL-функции

6.4. Триггеры

6.4.1. Триггеры DML

6.4.2. Триггеры DDL

6.4.3. Триггеры БД

6.5. PSQL-пакеты

6.6. Выполняемые блоки

Контрольные вопросы

7. ЗАЩИТА ДАННЫХ

7.1. Управление доступом к данным

7.1.1. Требования к безопасности данных

7.1.2. Привилегии доступа и передача привилегий

7.1.3. SQL-роли

7.1.4. Привилегии на представления

7.1.5. Отмена привилегий

7.1.6. Автоматизированное управление доступом

7.2. Транзакции

7.2.1. Понятие транзакции

7.2.2. Восстановление данных

7.2.3. Параллелизм

Контрольные вопросы

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

Лабораторная работа 1. IBExpert инструмент разработчика и администратора баз данных Firebird. Учебная БД

Лабораторная работа 2. Построение однотабличных запросов

на выборку данных

Лабораторная работа  3. Построение многотабличных и вложенных запросов на выборку данных

Лабораторная работа 4. Построение запросов на определение данных

Лабораторная работа 5. Построение запросов на модификацию данных

Лабораторная работа 6. Программирование хранимых процедур

Лабораторная работа 7. Программирование триггеров

Лабораторная работа 8. Построение запросов управления доступом

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Приложение А. ОПИСАНИЕ УЧЕБНОЙ БД

Приложение Б. СИСТЕМНЫЙ КАТАЛОГ БД

Б.1. Общие сведения о базе данных

Б.2. Домены

Б.3. Отношения (таблицы и представления)

Б.4. Процедуры

Б.5. Триггеры

Б.6. Зависимости