- •Понятия: первичный ключ, внешний ключ, суррогатный ключ, индекс.
- •Ограничения на значения данных.
- •Ограничения на связи между данными.
- •Нормализация отношений. Первая нормальная форма.
- •Нормализация отношений. Вторая нормальная форма.
- •Варианты задания условий отбора при создании sql-запросов.
- •Варианты создания многотабличных sql-запросов. Виды объединений.
- •Использование вычисляемых полей при создании sql-запросов.
- •Использование подчиненных запросов в sql-запросах.
- •Возможности запроса alter table.
- •Обработка транзакций.
- •Распределение функций в архитектуре «клиент-сервер».
- •1. Двухзвенные архитектуры.
- •2. Трёхзвенные архитектуры.
- •Понятие хранимой процедуры.
- •Понятие триггера.
2. Трёхзвенные архитектуры.
а). Архитектура с выделенным компонентом логики приложения.
Логика приложения рассматривается как отдельный компонент (отдельная программа) вне СУБД.
Этот компонент расположен на сервере БД (там же, где и СУБД).
б). Архитектура с сервером приложений.
Логика приложения рассматривается как отдельный компонент (отдельная программа) вне СУБД.
Этот компонент расположен на выделенном компьютере, который называется сервер приложений.
Понятие хранимой процедуры.
Хранимые процедуры – программы:
хранящиеся в БД на сервере,
реализующие сложные запросы и транзакции,
запускаемые на выполнение одной командой.
Хранимые процедуры:
могут содержать не только SQL-запросы, но и переменные, операторы, реализующие логику ветвления, вызовы других хранимых процедур,
могут принимать входные параметры, чтобы одна процедура могла быть использована разными приложениями с разной входной информацией,
вызываются приложением или другой хранимой процедурой путем указания имени вызываемой процедуры и передачи ей входных параметров.
Достоинства хранимых процедур:
При вызове хранимой процедуры по сети посылается всего одна команда.
Все приложения, вызывающие хранимую процедуру, используют одну и ту же логику обработки данных, заложенную в этой процедуре.
Изменение логики хранимой процедуры производится на сервере. Эти изменения видны всем приложениям, работающим с процедурой.
Хранимая процедура может быть использована как механизм секретности, дав возможность приложениям вызывать процедуру и запретив прямой доступ к данным в таблицах.
Понятие триггера.
Триггеры – особый вид хранимой процедуры, которая связана с определёнными данными и автоматически запускается сервером при попытке изменения этих данных (вставке, обновлении, удалении).
Триггеры – развитая форма правил (ограничений на значения), которые тоже автоматически активизируются при изменении данных, которые они защищают.
В отличие от триггера хранимая процедура не имеет жёсткой привязки к данным и ее необходимо явно вызывать для выполнения.
Триггер всегда выполняется внутри неявной транзакции. BEGIN TRAN выполняется автоматически в начале триггера, а COMMIT – в конце триггера.
Ни один пользователь и ни одна другая процедура не увидят изменений до успешного завершения работы триггера.
ROLLBACK – единственный управляющий оператор транзакции, который не выполняется автоматически.
Отменить удаление, обновление, добавление данных можно с помощью явного указания оператора ROLLBACK.
