Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала
- Название:Oracle SQL. 100 шагов от новичка до профессионала
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:11
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала краткое содержание
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.
Oracle SQL. 100 шагов от новичка до профессионала - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Что такое пакет в ORACLE?
Пакет — это набор процедур, набор функций, связанных переменных и встроенных типов.
Какой язык используется для создания процедур или функций?
Это специальный язык PL SQL, также можно создавать процедуры и функции на языке JAVA.
Контрольные вопросы и задания для самостоятельного выполнения
1. Для чего нужны триггеры базе данных?
2. Что такое представления в базе данных?
3. Чем отличаются материализованные представления от обычных представлений?
4. Объясните назначение процедур и функций, назначение пакетов в базе.
День девятнадцатый
Шаг 91. Последовательности и формирование первичного ключа
Введение
Последовательность SEQUENCE в ORACLE SQL — это объект базы данных, который генерирует целые числа в соответствии с правилами, установленными во время его создания.
Пример создания последовательности:
Пример использования последовательности:
Теория и практика
Чаще всего этот объект базы данных — последовательность SEQUENCE — используется при формировании первичного ключа таблицы.
Синтаксис создания объекта последовательности:
Основные параметры
• START WITH позволяет создателю последовательности указать первое генерируемое ей значение. После создания последовательность генерирует указанное в START WITH значение при первой ссылке на ее виртуальный столбец NEXTVAL
• INCREMENT BY n определяет приращение последовательности при каждой ссылке на виртуальный столбец NEXVAL. Если значение не указано явно, по умолчанию устанавливается 1. Для возрастающих последовательностей устанавливается положительное n, для убывающих или последовательностей с обратным отсчетом — отрицательное.
• MINVALUE определяет минимальное значение, создаваемое последовательностью. Если оно не указано, ORACLE применяет значение по умолчанию NOMINVALUE.
• MAXVALUE определяет максимальное значение, создаваемое последовательностью. Если оно не указано, ORACLE применяет значение по умолчанию NOMAXVALUE.
• CYCLE позволяет последовательности повторно использовать созданные значения при достижении MAXVALUE или MINVALUE. То есть последовательность будет продолжать генерировать значения после достижения своего максимума или минимума. Возрастающая последовательность после достижения своего максимума генерирует свой минимум. Убывающая последовательность после достижения своего минимума генерирует свой максимум. Если циклический режим нежелателен или не установлен явным образом, ORACLE применяет значение по умолчанию NOCYCLE. Указывать CYCLE вместе с NOMAXVALUE или NOMINVALUE нельзя. Если нужна циклическая последовательность, необходимо указать MAXVALUE для возрастающей последовательности или MINVALUE для убывающей.
• CACHE n указывает, сколько значений последовательности ORACLE распределяет заранее и поддерживает в памяти для быстрого доступа. Минимальное значение этого параметра равно 2. Для циклических последовательностей это значение должно быть меньше, чем количество значений в цикле. Если кэширование нежелательно или не установлено явным образом, ORACLE применяет значение по умолчанию — 20 значений.
Пример создания последовательности от 1 с шагом 1:
Пример создания последовательности, начало 10 000, с шагом 10:
Пример создания последовательности, начало 10 000, с шагом -1, обратная последовательность:
Обращение к последовательности из SQL:
Seq.CURRVAL — текущее значение последовательности;
Seq.NEXTVAL — приращение последовательности (возвращает ее следующее значение);
первое обращение Seq.NEXTVAL инициирует начальное значение последовательности;
примеры в SQL;
оператор SELECT.
Вставка INSERT:
Обновление UPDATE:
Важные замечания
Для создания первичного ключа из последовательности поможет следующий пример:
Создание таблицы CITY1 и далее заполнение таблицы записями из CITY, первичный ключ CITYCODE, заполняется из seq_1.
Команда DROP SEQUENCE SEQ удаляет последовательность из базы, SEQ — имя последовательности.
Нельзя использовать значения CURRVAL и NEXTVAL в следующих ситуациях:
• в подзапросе;
• предложении SELECT с оператором DISTINCT;
• предложении SELECT с фразой GROUP BY или ORDER BY;
• предложении SELECT, объединенном с другим предложением SELECT оператором множеств UNION;
• фразе WHERE предложения SELECT;
• умалчиваемом (DEFAULT) значении столбца в предложении CREATE TABLE или ALTER TABLE;
• условии ограничения CHECK.
Нельзя использовать CURR_VAL, если вы еще ни разу не использовали команду NEXT_VAL для заданной последовательности, поскольку последовательность еще не была инициирована командой NEXT_VAL.
Вопросы учеников
Чем отличаются CURR_VAL, NEXT_VAL при обращении к SEQUENCE?
CURR_VAL выводит текущее значение, NEXT_VAL выводит следующее значение.
При использовании NEXT_VAL что происходит?
SEQUENCE. NEXT_VAL выводит следующий номер последовательности, и последовательность будет равняться следующему номеру из этой последовательности, происходит переключение последовательности.
Контрольные вопросы и задания для самостоятельного выполнения
1. Создайте последовательность SQ1, которая бы генерировала числа от 1 до 5.
2. Создайте последовательность SQ10, которая бы генерировала числа от 10 до 50 000 с шагом 10.
3. Напишите запрос, который бы выводил на экран строки из таблицы AUTO и значения из последовательности SQ1.
4. Напишите запрос, который бы выводил на экран строки из таблицы AUTO и значения из последовательности SQ10.
Шаг 92. Пользователь и схема. Разграничение прав, роли
Введение
Рассмотрим такие важные понятия, как схема и пользователь в СУБД ORACLE. Понятия схемы и пользователя необходимо знать, поскольку, скорее всего, вы столкнетесь с ними в дальнейшей работе.
Пользователи и схемы существуют в базе данных ORACLE для безопасности информационной системы, а также для разграничения доступа к объектам на чтение, запись и просмотр информации в соответствии с заданными бизнес-правилами.
Для изучения данного шага, выполнения практических примеров требуется установка дополнительного программного обеспечения: ORACLEXE, SQLDEVELOPER.
Как установить данное программное обеспечение, подробно описано в шаге 51.
Теория и практика
У каждого пользователя базы данных ORACLE есть свое уникальное имя пользователя (логин) и пароль. Логин и пароль пользователя называются учетной записью пользователя.
Зная свой логин и свой пароль, параметры своей учетной записи, пользователь осуществляет соединение с базой данных.
Все объекты базы данных: таблицы, представления, последовательности и т. д. — принадлежат определенным пользователям.
Читать дальшеИнтервал:
Закладка: