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

Последовательности (Sequences) – объекты базы данных Oracle, которые используются для генерации целочисленных значений. Часто используются для генерации значений РК. Каждое новое значение в последовательности создается на основании правил, указанных при создании.

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

CREATE SEQUENCE имя_последовательности

[INCREMENT BY приращение_последовательности]

[START WITH первое_число]

[MAXVALUE максимальное_значение | NOMAXVALUE]

[MINVALUE минимальное_значение | NOMINVALUE]

[CYCLE | NOCYCLE]

[ORDER | NOORDER] ;

INCREMENT BY — определяет приращение последовательности. Если значение не указано, то по умолчанию устанавливается 1. Для возрастающих последовательностей устанавливается положительное число, для убывающих — отрицательное.

START WITH — первое значение в последовательности.

MAXVALUE — максимальное значение, создаваемое последовательностью. Если оно не указано, то по умолчанию NOMAXVALUE (1027)

MINVALUE — минимальное значение, создаваемое последовательностью. Если оно не указано, то по умолчанию NOMINVALUE (1, если последовательность возрастает, или -1026, если убывает)

CYCLE — позволяет последовательности повторно использовать созданные значения при достижении MAXVALUE или MINVALUE. Если не указано, то по умолчанию – NOCYCLE.

ORDER — гарантирует, что номера последовательности генерируются в порядке запросов.

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

Пользовательские типы данных – это типы полей, которые отличаются от предусмотренных Oracle типов.

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

CREATE TYPE Cust_Info AS OBJECT (

Name varchar(20),

Surname varchar (20),

Age int);

Создание таблицы, в которой 1 атрибут будет с пользовательским типом данных:

CRETE TABLE Customer (CustomerID int PRIMARY KEY, Customer_info Cust_Info);

Добавление кортежа в созданную таблицу:

INSERT INTO Customer VALUES (‘1’, Cust_Info(‘Ksenia’, ‘Polyantseva’, ‘21’));

Синоним – это альтернативное имя (псевдоним) для объекта, по которому к этому объекту можно будет обращаться, не указывая настоящее имя.

Существует 2 типа синонимов:

PRIVAT – синонимы доступны только пользователю, который их создал и тем, кому он предоставил соответствующие права.

PUBLIC – синонимы доступны всем пользователям БД.

Создание: CREATE [PUBLIC] SYNONYM [имя_синонима] FOR [имя_объекта]

Пример:

CREATE SYNONYM C FOR Customer;

  1. Субд Oracle. Создание ограничений

Ограничения (Constraints) — правила для данных, которые гарантирует их непротиворечивость (в рамках одной̆ таблицы или по отношению к данным из других таблиц). Могут применяться на уровне столбца или таблицы. Могут налагаться после создания таблицы.

Существует 2 основных типа ограничений:

1. Целостности данных

2. Ограничения целостности ссылок – относятся к связям между таблицами (например, на основе PK и FK).

В Oracle связи создаются путем введения ограничений целостности по внешнему ключу:

ALTER TABLE _ARTIST_INT ADD CONSTRAINT ArtistFK FOREIGN KEY(ArtistID) REFERENCES ARTIST ON DELETE CASCADE; (последние три слова – указывает на то, что при удалении строк из родительской, строки дочерней табл тоже будут удалены)

Для облегчения вставки данных в связанные таблицы можно использовать команды DISABLE/ENABLE CONSTRAINT, которые позволяют временно игнорировать ограничения.

ALTER TABLE имя_таблицы DISABLE CONSTRAINT имя_ограничения [CASCADE];- позволяет удалить ограничение и все связанные с ним при использовании параметра CASCADE.

ALTER TABLE имя_таблицы ENABLE CONSTRAINT имя_ограничения; - позволяет снова наложить ограничение.

Пример:

Следующий оператор устанавливает предел значений столбца Birthday:

ALTER TABLE ARTIST ADD CONSTRAINT BDLimit CHECK (BirthDate BETWEEN 1400 AND 2100):