Кемеровский филиал московского государственного университета экономики , статистики и информатики Презентация на тему : служебные элементы работы с базой данных Выполнил: Студент группы КЕ-ДЛП-201 Евстигнеев Р. С. Кемерово, 2015
Транзакции Транзакция-последовательность операций модификации данных в БД, переводящая ее из одного непротиворечивого состояния в другое непротиворечивое состояние.
Транзакции обеспечивают целостность базы данных на каждом этапе работы с ними. Они могу содержать в себе любое количество шагов, но ошибка даже в одном шаге может привести к откату транзакции. Успешная транзакция Сохранения БД Неудачная транзакция Завершения транзакции Откат транзакции Транзакция Пример неудачной транзакции Начало транзакц ии Успешно успешно Ошибка Откат транзакц ии
В случае успешного выполнения всех этапов транзакции база данных сохраняется, а транзакция завершается. Пример успешной транзакции Начало транзакци и Успешно Сохранени е БД Конец транзакци и
Хранимые процедуры-объект базы данных , представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере. Хранимые процедуры Обычные процедуры Входные данные , переменные и т. д.
Создание хранимой процедуры CREATE PROCEDURE имя процедуры [параметры] AS Код процедуры Пример создания процедуры CREATE PROCEDURE SHOW_CONTRACTS @NAME VARCHAR(30) AS SELECT CONTRACT_NUM, CONTRACT_DATE, CONTRACT_TYPE
Вызов хранимой процедуры командой CALL VAR ANIMAL 1={NAME: ’CAT’} VAR ANIMAL 2={NAME: ’DOG’} FUNCTION SAYNAME(){ALERT(THIS. NAME)}; SAYNAME. CALL(ANIMAL 1) \Выдаст сообщение «CAT» SAYNAME. CALL(ANIMAL 2)\Выдаст сообщение «DOG» Вызов хранимой процедуры командой EXECUTE [[EXECUTE ИМЯ ПРОЦЕДУРЫ [; НОМЕР] [[@ИМЯ ПАРАМЕТРА =]{ЗНАЧЕНИЕ|@ИМЯ_ПЕРЕМЕННОЙ} [OUTPUT]|[DEFAULT]][, …N]
КЭШИРОВАНИЕ Кэширование-процесс записи информации, которая может быть запрошена с наибольшей вероятностью в быструю, сильно ограниченную по размеру память. В SQL кэширование используют для записи полученных после работы таблиц. БД SQL Выборка из БД КЭШ
Кэширование включается в 3 шага 1. Создать директорию на сервере, с правами на запись, где будут храниться кэш-файлы. 2. Указать путь к папке с кэшем в файле application/config/database. php. 3. Включить функции кэширования либо глобально, установив соответствующую настройку в файле application/config/database. php, либо вручную. Включение кэширования в ручную //Включение кэширования $this->db->cache_on(); $query = $this->db->query("SELECT * FROM mytable");
Кэширование широко используется во всех современных технологиях, от браузеров до СУБД.
Триггеры Триггер-это особая хранимая процедура, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено каким либо действием. Есть 3 действия, при которых триггер срабатывает INSERT UPDATE DELETE
Момент запуска триггера определяется ключевыми словами Запуск до выполнения события BEFORE Запуск после выполнения события AFTER
Пример триггера до выполнения события CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum=@sum+NEW. amount; Пример триггера после выполнения события CREATE OR REPLACE TRIGGER District. Update. Trigger AFTER UPDATE ON District FOR EACH ROW BEGIN INSERT INTO info VALUES (‘one string in table “district” has changed’);
СПАСИБО ЗА ВНИМАНИЕ