Использование ссылочных ограничений целостности — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Использование ссылочных ограничений целостности

2020-02-15 212
Использование ссылочных ограничений целостности 0.00 из 5.00 0 оценок
Заказать работу

Всегда, когда две таблицы связаны друг с другом через общий столбец (или группу столбцов), определяйте ограничение PRIMARY KEY или UNIQUE по столбцу в родительской таблице, и ограничение FOREIGN KEY по столбцу в порожденной таблице, чтобы поддержать эту связь между таблицами.

Внешние ключи могут состоять из нескольких столбцов. Однако составной внешний ключ должен ссылаться на составной первичный или уникальный ключ, состоящий из того же количества столбцов тех же типов данных. Так как составные первичные и уникальные ключи не могут состоять из более чем 16 столбцов, составной внешний ключ также ограничивается до 16 столбцов.

Связи между родительскими и порожденными таблицами

Некоторые связи между родительской и порожденной таблицами могут быть выражены через другие типы ограничений целостности, определяемые по внешнему ключу в порожденной таблице.

Множественные ограничения FOREIGN KEY

ORACLE позволяет, чтобы на данный (родительский) столбец имелись ссылки через множественные ограничения FOREIGN KEY; в действительности не существует ограничения на количество зависимых ключей. Такая ситуация может иметь место, в частности, если один и тот же столбец является частью двух различных составных внешних ключей.

Использование ограничений целостности CHECK

Условие ограничения CHECK имеет следующие ограничения:

Это условие должно быть булевским выражением, вычисляемым над значениями вставляемой или обновляемой строки.

Это условие не может содержать подзапросы или последовательности.

Это условие не может включать функции SQL SYSDATE, UID, USER или USERENV.

Это условие не может содержать псевдостолбцы LEVEL или ROWNUM; обратитесь к документу ORACLE7 Server SQL Language Reference Manual за описанием этих псевдостолбцов.

Определение ограничений целостности

Определяйте ограничение целостности с помощью фразы CONSTRAINT команды SQL CREATE TABLE или ALTER TABLE.

Именование ограничений целостности

Определяя ограничения целостности NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY и CHECK, назначайте им имена в опции CONSTRAINT. Имя ограничения должно быть уникальным среди всех принадлежащих вам имен ограничений.

Включение и выключение ограничений целостности при их определении

По умолчанию, когда ограничение целостности определяется в предложении CREATE TABLE или ALTER TABLE, оно автоматически включается (вводится в действие) ORACLE, если для него явно не специфицировано выключенное состояние посредством фразы DISABLE. 

Использование процедур и пакетов

Создание независимых процедур и функций

Независимая хранимая процедура имеет две части:

СПЕЦИФИКАЦИЯ объявляет процедуру или функцию.

ТЕЛО определяет процедуру или функцию. Тело процедуры состоит из блока PL/SQL (который содержит предложения SQL и PL/SQL).

Обе части процедуры создаются в одном шаге с помощью команды CREATE PROCEDURE или CREATE FUNCTION.

Создание пакетов

Объявление пакета имеет две части:

СПЕЦИФИКАЦИЯ ПАКЕТА содержит объявления процедур пакета и функций, переменных, констант и исключений, которые доступны извне пакета.

ТЕЛО ПАКЕТА определяет процедуры и функции, курсоры и исключения, которые были объявлены в спецификации пакета. Тело пакета может также определять процедуры, функции, переменные, константы, курсоры и исключения, которые не были объявлены в спецификации пакета; однако эти объекты доступны лишь внутри сферы пакета. Каждая часть пакета создается отдельной командой.

Для создания тела пакета используйте команду CREATE PACKAGE BODY, чтобы специфицировать код для общих процедур и функций, объявленных в спецификации пакета.

Вызов процедур

Процедуры можно вызывать из многих различных окружений. Например:

Процедура может быть вызвана из тела другой процедуры или из триггера.

Процедура может быть вызвана пользователем интерактивно из инструмента ORACLE (такого как SQL*Plus).

Процедура может быть вызвана явно из приложения (такого как приложение SQL*Forms или программа прекомпилятора).

Замена процедур и пакетов

Невозможно явно изменить независимую процедуру или пакет; такой объект должен быть заменен новым определением процедуры или пакета. Чтобы заменить процедуру или пакет, вы должны включить опцию OR REPLACE в соответствующее предложение CREATE PROCEDURE, CREATE FUNCTION, CREATE PACKAGE или CREATE PACKAGE BODY.


Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.018 с.