- •Оглавление
- •Раздел 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. Определение структур данных и обслуживание баз данных.
- •Библиографический список
Тема 11: Создание, изменение и удаление последовательностей.
Последовательность. Создание последовательности.
Изменение и удаление последовательности.
Генерация значений последовательности.
1. Последовательность. Создание последовательности.
Последовательность – это объект базы данных, который создается одним пользователем, но может совместно использоваться несколькими пользователями.
Основное назначение последовательности - автоматическая генерация уникальных чисел, которые обычно применяются для получения значений первичного ключа.
Создание последовательности.
CREATE SEQUENCE имя_последовательности
[INCREMENT BY n]
[START WITH n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE];
где
INCREMENT BY n - интервал между двумя последовательными номерами;
n является целым числом. Если это предложение опущено, приращение при генерации чисел равно 1.
START WITH n - первое генерируемое число в последовательности. Если это предложение опущено, последовательность начинается с 1.
MAXVALUE n - максимальное значение, которое может генерировать последовательность.
NOMAXVALUE - максимальное значение по умолчанию, равное 1027.
MINVALUE n - минимальное значение последовательности.
NOMINVALUE - задает минимальное значение, равное 1.
CYCLE | NOCYCLE - продолжается ли циклическая генерация чисел после достижения максимального или минимального значения.
Подчеркнутые параметры используются по умолчанию.
Пример 1. Создать последовательность kod_podraz_pos для первичного ключа таблицы. Параметр CYCLE использоваться не должен.
CREATE SEQUENCE kod_podraz_pos
INCREMENT BY 1
START WITH 1
MAXVALUE 10
NOCYCLE;
Проверка параметров последовательности.
Проверить значения параметров последовательности можно в таблице USER_SEQUENCES словаря данных:
SELECT sequence_name, min_value, max_value, increment_by
FROM user_sequences;
Чтобы вывести список всех существующих последовательностей нужно создать запрос:
SELECT seguense_name
FROM user_sequences;
2. Изменение и удаление последовательности.
Изменение шага приращения, максимального и минимального значений, режима циклической генерации значений и кэширования определяется командой ALTER SEQUENCE.
ALTER SEQUENCE имя_последовательности
[INCREMENT BY n]
[START WITH n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE];
Для изменения параметров необходимо быть владельцем последовательности или иметь для нее привилегию ALTER. Команда влияет только на числа, генерируемые после изменения. Чтобы начать генерацию с другого числа, необходимо удалить последовательность и создать заново.
Удаление последовательности из словаря данных производится с помощью команды
DROP SEQUENCE имя_последовательности;
После удаления последовательности ссылки на нее невозможны.
Пример 2: Удаление последовательности Kod_Podraz_pos.
DROP SEQUENCE Kod_Podraz_pos;
3. Генерация значений последовательности.
Псевдостолбец NEXTVAL генерирует следующее свободное число в последовательности. При каждой ссылке на этот столбец он возвращает уникальное значение.
Псевдостолбец CURRVAL выдает текущее число в последовательности. Чтобы CURRVAL содержал значение, необходимо сначала сгенерировать значение последовательности, используя NEXTVAL.
Пример 3: Включение нового отдела под названием "ИТО" в регионе 2. (При этом существует последовательность Kod_otdel_pos для таблицы EMP)
INSERT INTO EMP (kod_otdel, name_otdel, id_region)
VALUES (Kod_otdel_pos.NEXTVAL, ‘ИТО’,2);
Пример 4: Просмотр текущего значения последовательности Kod_otdel_pos.
SELECT Kod_otdel_pos.CURRVAL
FROM SYS.dual;
