- •Оглавление
- •Раздел 4. Проектирование реляционных баз данных. 113
- •Раздел 5. Определение структур данных и обслуживание баз данных. 114
- •Введение
- •Раздел 1. Основы теории баз данных Тема 1: Базы данных и информационные системы. Основные понятия.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Тема 2: Банки данных. Системы управления базами данных.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Раздел 2. Реляционная алгебра Тема1: Реляционная алгебра. Классические операции теории множеств.
- •Тема 2: Специальные операции теории множеств.
- •Раздел 3. Модели данных. Тема 1: Классические модели данных.
- •Сетевая модель представления данных.
- •Реляционная модель представления данных.
- •Элементы реляционной модели
- •Тема 2: Связывание таблиц. Целостность связей.
- •Основные виды связи таблиц.
- •Контроль целостности связей.
- •Характеристика видов связей
- •Раздел 4. Проектирование реляционных баз данных. Тема 1: Основные принципы проектирования баз данных.
- •2. Избыточное дублирование данных и аномалии
- •3. Формирование исходного отношения.
- •Тема 2: Метод нормальных форм
- •2. Выявление зависимостей между атрибутами
- •3. Нормальные формы
- •Тема 3: Метод сущность-связь. Этапы проектирования.
- •2.Этапы проектирования
- •3.Пример проектирования бд учебной части.
- •Тема 4: Правила формирования отношений.
- •2. Формирование отношений для связи 1:м
- •3. Формирование отношений для связи м:м
- •Раздел 5. Определение структур данных и обслуживание баз данных. Тема 1: Среда sql*Plus.
- •Функции.
- •2. Основные типы данных
- •3. Арифметические выражения
- •4. Операторы сравнения
- •5. Обработка неопределенных значений
- •6. Функции
- •7. Форматные модели
- •Тема 2: Структуры данных. Создание таблиц.
- •Создание таблиц.
- •3. Создание таблиц
- •Тема 3: Изменение таблиц и ограничений
- •Добавление и изменение столбца.
- •Изменение ограничений.
- •Удаление таблицы. Изменение имени таблицы и добавление комментариев.
- •Тема 4: Операции с ограничениями.
- •Тема 5: Манипулирование данными.
- •1. Вставка новых строк в таблицу
- •2. Копирование строк из другой таблицы
- •3. Обновление строк в таблице
- •4. Удаление строк из таблицы
- •Тема 6: Команда запроса данных. Простой запрос.
- •Тема 7: Сложные запросы.
- •Использование функций для работы с датами при организации запроса.
- •Тема 8: Группировка строк в запросе
- •2. Группы внутри групп.
- •3. Предложение having.
- •Тема 9: Подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •Однострочные и многострочные подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •2.Однострочные и многострочные подзапросы.
- •Тема 10: Выборка данных из нескольких таблиц.
- •2. Псевдонимы таблиц.
- •3. Дополнительные условия поиска.
- •4. Внешние соединения.
- •Select таблица.Столбец, таблица.Столбец
- •Тема 11: Создание, изменение и удаление последовательностей.
- •Создание последовательности.
- •2. Изменение и удаление последовательности.
- •3. Генерация значений последовательности.
- •Тема 12: Создание, изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Тема 13: «Индексы»
- •Понятие индекса. Необходимость использования.
- •Создание и удаление индексов.
- •1. Понятие индекса. Необходимость использования.
- •2. Создание и удаление индексов.
- •Тема 14: «Создание отчетов»
- •2. Форматирование number колонок.
- •3. Оформление Отчета пробелами и итоговыми строками.
- •4. Вычисление итоговых строк при изменении значения колонки.
- •5. Определение заголовков.
- •6. Установка размеров страницы
- •7. Сохранение и Печать Результатов Запроса
- •Тема 15: Управление транзакциями
- •Практикум Раздел 3. Реляционная алгебра.
- •Раздел 4. Проектирование реляционных баз данных.
- •Раздел 5. Определение структур данных и обслуживание баз данных.
- •Библиографический список
7. Сохранение и Печать Результатов Запроса
Чтобы сохранить результаты запроса в файле и напечатать их на экране вводится команда SPOOL в следующей форме:
SPOOL имя_файла
SQL*PLUS сохранит всю информацию, которая будет выводиться после команды SPOOL, в указанный вами файл.
Если не указано расширение в имени файла, SPOOL добавит к имени файла расширение по умолчанию, чтобы указать, что это файл вывода. Это расширение зависит от операционной системы; обычно оно имеет имя LST или LIS.
SQL*PLUS продолжает записывать информацию в файл, пока не будет выключена запись в файл, используя SPOOL в следующей форме:
SPOOL OFF
Чтобы распечатать результаты запроса, запишите их в файл, как описано в предыдущей части. Затем, вместо использования SPOOL OFF, введите команду в следующей форме:
SPOOL OUT
Тема 15: Управление транзакциями
Понятие транзакции. Обработка транзакций.
Состояние данных до и после завершения транзакции.
Фиксация изменений в данных.
Откат результатов.
1. Понятие транзакции. Обработка транзакций.
Совокупность команд SQL, результаты действия которых еще не стали постоянными, называется транзакцией или логической единицей работы.
Транзакции начинаются с выполнения первой исполняемой команды SQL и заканчиваются либо фиксацией изменений в базе данных, либо отказом от фиксации (откатом). Окончанием транзакции может служить одно из следующих событий:
выполнение команды COMMIT или ROLLBACK;
выполнение команды DDL или DCL (автоматическая фиксация);
ошибка, завершение сеанса работы или аварийный останов системы.
При выполнении команд SQL COMMIT или ROLLBACK происходит явная обработка транзакции. При этом обеспечивается согласованность данных; появляется возможность проверить изменения в данных прежде, чем сделать их постоянными; взаимосвязанные операции логически группируются.
Неявная обработка транзакций приводит к автоматической фиксации изменений или автоматическому откату.
Автоматическая фиксация изменений (COMMIT) происходит в следующих случаях:
выполнение команды DDL (например, CREATE);
выполнение команды DCL ( например, GRANT);
нормальный выход из SQL*Plus без явной посылки команды COMMIT или ROLLBACK.
Автоматический откат (ROLLBACK) выполняется в случае аварийного прекращения сеанса работы в SQL*Plus или отказа системы.
Состояние данных до и после завершения транзакции
Состояние данных перед выполнением команд COMMIT или ROLLBACK:
Предыдущее состояние данных может быть восстановлено, т.к. изменения производятся в буфере базы данных.
Текущий пользователь может просмотреть результаты своих операций DML с помощью команды SELECT.
Другие пользователи не могут видеть результаты команд DML, выполняемых текущим пользователем.
Измененяемые строки блокируются, и другие пользователи не могут обновлять их содержимое.
Состояние данных после выполнения команды COMMIT:
Измененные данные записываются в базу данных.
Предшествующее состояние данных теряется.
Все пользователи могут видеть результаты.
Измененные строки разблокируются, и другие пользователи получают доступ к ним для обработки данных.
Все точки сохранения стираются.
Состояние данных после выполнения команды ROLLBACK:
Все незавершенные изменения отменяются.
Данные возвращаются в прежнее состояние.
Блокировка строк, над которыми выполнялись операции, отменяется.
3. Фиксация изменений в данных. Синтаксис:
COMMIT;
4. Откат результатов Синтаксис
ROLLBACK [TO метка];
где метка - имя маркера, определяющего точку сохранения
Откат до маркера.
С помощью команды SAVEPOINT можно создать в текущей транзакции маркеры для отката. Откат до такого маркера выполняется с помощью команды ROLLBACK TO.
SQL> UPDATE…
SQL> SAVEPOINT update_done; Savepoint created.
SQL> ROLLBACK TO update_done; Rollback complete.
