
- •Оглавление
- •Раздел 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. Определение структур данных и обслуживание баз данных.
- •Библиографический список
3. Оформление Отчета пробелами и итоговыми строками.
Когда вы используете фразу ORDER BY в команде SQL SELECT, записи с одинаковыми значениями в сортируемой колонке выводятся вместе. Можно улучшить данный вывод, используя команды SQL*PLUS BREAK и COMPUTE, для того, чтобы создать подмножество записей и добавить пустые и/или итоговые строки после каждого подмножества записей.
Чтобы подавить вывод на экран дублируемых значений в столбце, используется команда:
BREAK ON колонка_прерывания
Пример 3:
BREAK ON DEPTNO
SELECT deptno, ename, sal
FROM emp
WHERE sal < 2500
ORDER BY DEPTNO;
Можно вставлять пустые строки или начинать новую страницу каждый раз, когда изменяется значение колонки прерывания. Чтобы вставить n пустых строк, необходимо использовать команду BREAK в следующей форме:
BREAK ON колонка_прерывания SKIP n
Чтобы начать новую страницу, команда вводится следующим образом:
BREAK ON колонка_прерывания SKIP PAGE
Введя команду CLEAR с параметром BREAKS, можно удалить текущие определения колонок прерываний:
CLEAR BREAKS
Можно помещать команду CLEAR BREAKS в начало командного файла, чтобы предотвратить влияние на выполнение запросов предыдущих команд BREAK.
4. Вычисление итоговых строк при изменении значения колонки.
Можно производить различные вычисления над записями каждого подмножества. Эти вычисления производятся функциями SQL*PLUS команды COMPUTE. Для этого необходимо использовать команды BREAK и COMPUTE вместе в следующей форме:
BREAK ON колонка_прерывания
COMPUTE функция OF колонка колонка ... ON
колонка_прерывания
Можно включать несколько колонок прерывания и соответствующих действий, таких как пропуск строк, в команду BREAK, также аналогичный список может быть во фразе ON команды COMPUTE. Чтобы включить множественную колонку прерывания и соответствующие действия в BREAK вместе с командой COMPUTE, используются эти команды в следующем формате:
BREAK ON колонка_прерыв1 SKIP PAGE ON
колонка_прерыв2 SKIP 2
COMPUTE функция OF колонка колонка ... ON
колонка_прерыв2
Команда COMPUTE не имеет никакого действия без соответствующей команды BREAK. Команду COMPUTE можно использовать для колонок NUMBER и в некоторых случаях для всех типов колонок. Функция, которая будет указана в команде COMPUTE, действует на все колонки, которые написаны после OF и до ON. Вычисляемые значения печатаются перед разделительной строкой, когда изменяется значение упорядочиваемой колонки.
Чтобы вычислить общую сумму окладов (SAL) в отделе, сначала распечатайте текущее описание BREAK:
BREAK on DEPTNO skip page nodup
on JOB skip 1 nodup
Далее вводится команда COMPUTE, и выполняется текущий запрос:
COMPUTE SUM OF SAL ON DEPTNO
Чтобы напечатать общую сумму окладов и комиссионных для всех продавцов, сначала нужно ввести следующую колонку:
COMPUTE SUM OF SAL COMM ON REPORT
Нет необходимости вводить команду BREAK, так как ее уже ввели в предыдущем примере. Нужно добавить COMM к текущему запросу:
SELECT ENAME, SAL, COMM
и выполнить исправленный запрос:
Можно также напечатать несколько суммарных строк по тем же колонкам прерываний. Для этого достаточно включить функцию для каждой суммарной строки в команду COMPUTE:
COMPUTE функция OF колонка ON колонка_прерывания