Этап 5: Связывание переменных



ORACLE нуждается в значениях всех переменных, участвующих в предложении; Этот процесс называется СВЯЗЫВАНИЕМ ПЕРЕМЕННЫХ (BIND). Программа должна специфицировать местоположение (адрес в памяти), по которому находится значение.

Этап 6: Исполнение предложения

Если это запрос или предложение INSERT, то никаких строк блокировать не требуется, потому что никакие данные не изменяются. Однако, если это предложение UPDATE или DELETE, то все строки, затрагиваемые данным предложением, блокируются от других пользователей базы данных до тех пор, пока не будет выдано очередное предложение COMMIT, ROLLBACK или SAVEPOINT в данной транзакции. Это гарантирует целостность данных.

Этап 7: Извлечение строк результата запроса

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

Обработка предложений DDL

Исполнение предложений DDL отличается от исполнения предложений DML и запросов, потому что успешное выполнение предложения DDL требует операций записи в словарь данных. Такие предложения SQL, как предложения управления транзакциями, управления сессией и управления системой, обрабатываются за две фазы: разбор и исполнение. При повторном выполнении их выполняется лишь фаза исполнения.

Поддержание целостности данных

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

Когда ограничение целостности включено, все данные в таблице должны подчиняться правилу, которое им специфицировано. Если вы после этого выдаете предложение SQL, которое модифицирует данные в этой таблице, то ORACLE проверяет, чтобы результирующие данные удовлетворяли ограничению целостности. 

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

По умолчанию, все столбцы в таблице допускают пустые значения (т.е. отсутствие значения). Определяйте ограничение NOT NULL только для тех столбцов таблицы, которые действительно требуют, чтобы значение было всегда.

Установка умалчиваемых значений столбцов

Допустимые умалчиваемые значения включают любые литералы, а также выражения, которые НЕ ссылаются на столбец и не содержат LEVEL, ROWNUM или PRIOR. Умалчиваемые значения МОГУТ включать выражения SYSDATE, USER, USERENV и UID. Тип данных литерала или выражения, специфицирующего умалчиваемое значение, должен совпадать с типом данных столбца или быть преобразуемым в него.Если вы явно не определяете умалчиваемого значения для столбца, то его умалчиваемое значение неявно устанавливается в NULL.

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

ограничение целостности UNIQUE требуется только для того, чтобы предотвращать повторение значений уникального ключа в строках таблицы.

Выбор первичного ключа таблицы

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

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

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

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

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

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


Дата добавления: 2018-02-15; просмотров: 724; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!