Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы бд.doc
Скачиваний:
27
Добавлен:
04.11.2018
Размер:
1.37 Mб
Скачать
  1. Субд Oracle. Создание последовательностей

Create Sequence CustID Increment by 1 start with 100:

Вспомним, что Метод NextVal выдает следующее значение в последовательности, а метод CurrVal выдает текущее значение в последовательности.

Это ряд чисел, в котором каждое последующие число больше предыдущего. Из этого следует, что каждое число в последовательности встречается всего один раз. Следовательно, последовательности очень хорошо подходят для генерации первичных ключей для идентификации объектов внутри Базы данных.

В Oracle последовательности представлены в виде отдельных сущностей базы данных. Для последовательности следующие параметры имеют важные значения:

1) Начальное значение последовательности

2) Шаг последовательности

3) Минимальное значение последовательности

Так же для последовательности можно задать циклична она или нет. Если последовательность циклична, то достигнув максимального значения последовательности она перейдет к начальному значению последовательности. В случае если последовательность не циклична и достигла своего конца, то будет сгенерирована ошибка (ORA-08004).

Техническая часть

Создание последовательности:

Что бы создать простейшую последовательность необходимо выполнить следующий запрос:

CREATE SEQUENCE –- говорим что хотим создать последовательность

S_SAMPLE –- с именем S_SAMPLE

START WITH 0 –- начинаться последовательность будет с нуля

INCREMENT BY 1 –- шаг последовательности, это значит что следующие значение

-- последовательности на 1 будет больше предыдущего

MINVALUE 0 -– минимальное значение последовательности

Если необходимо задать оба предела: максимальное значение последовательности и минимальное значение последовательности, то при создании можно указать максимальное значение последовательности: MAXVALUE. Для того, что бы указать циклична ли последовательность можно при создании указать флаг CYCLE.

Пример создания цикличной последовательности, с прямым заданием максимального значения последовательности:

CREATE SEQUENCE

S_TEST2

START WITH 0

INCREMENT BY 1

MINVALUE 0

MAXVALUE 400 –- максимальное значение последовательности

CYCLE –- Это обозначает, что последовательность циклична

Изменение параметров последовательности в Oracle:

  1. Субд Oracle. Определенные пользователем типы данных. Создание синонимов

Это определённые пользователем типы полей, которые отличаются от предусмотренных в Оракал.

CREATE TYPE name_info AS OBJECT (ename varchar2 (10), address varchar2 (10), city varchar2 (10));

CREATE TABLE employee (empID number(4), employee_info name_info);

INSERT INTO employee VALUES (100, name_info ("Иванов", NULL, "Москва"));

Синонимы — простой способ доступа к таблице с помощью другого (более простого) имени.

Синонимы позволяют скрыть полную квалификацию имени объекта от пользователей.

Квалификация — полное имя объекта с указанием его схемы. Схема автоматически создаётся для каждого нового пользователя.

CONNECT System/manager

DESC EMP;

… - Оракал отвечает object emp does not exist

CREATE PUBLIC SYNONYM emp FOR Scott.emp

DESC EMP;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]