
- •МГТУ им. Баумана Кафедра: «Компьютерные системы и сети» Базы Данных Зо Надежда Санчельевна
- •Основные понятия и условные сокращения
- •Буфер
- •Блок (Block)
- •Узкое место (Bottleneck),
- •Контрольная точка (Checkpoint)
- •SGA (System Global Area)
- •DBWR (DataBase WRiter)
- •Чистый буфер (clean buffer), Грязный буфер (dirty buffer)
- •Параллелизм
- •DDL (Data Definition
- •DML (Data Manipulation
- •Динамические таблицы производительности (Dynamic
- •Функция
- •Процедура
- •Программный блок
- •Запрос
- •Триггер
- •Транзакция
- •Объекты схемы
- •Таблица
- •Кластер
- •Индекс
- •Представление (вид)
- •Хранимая процедура
- •Последовательность (sequence)
- •Конфигурации ORACLE
- •OLTP (Online Transaction
- •Характерные черты OLTP-систем
- •DSS (Decision Support
- •Характерные черты DSS
- •Хранилище данных (Data Warehouse)
- •Характерные черты OLAP-систем
- •Обзор архитектуры ORACLE
- •Физический уровень
- •1. Один или более файлов данных
- •2. Два или более файлов журналирования операций (redo log files)
- •3. Один или более управляющих файлов
- •Логический уровень
- •Табличные пространства и файлы данных
- •Табличные пространства и файлы данных(2)
- •Табличные пространства и файлы данных(3)
- •Табличные пространства и файлы данных(4)
- •Табличные пространства и файлы данных(5)
- •Сегменты, экстенты и блоки данных
- •Сегменты
- •Экстенты
- •Блоки данных
- •Сегменты, экстенты и блоки данных
- •Экземпляр ORACLE
- •Экземпляр ORACLE
- •Системная Глобальная Область (SGA)
- •Кэш буферов БД
- •Буфер журнала изменений
- •Разделяемый пул (shared pool)
- •Библиотечный кэш
- •Кэш словаря данных
- •Кэш словаря данных (2)
- •Программная Глобальная Область
- •Экземпляр ORACLE
- •Процессы Oracle
- •Процессы Oracle
- •DBWR (DataBase WRiter)
- •LGWR (LoG WRiter)
- •CKPT (ChecK PoinT)
- •PMON (Process MONitor)
- •SMON (System MONitor)
- •RECO (RECOvery)
- •ARCH (ARCHiver)
- •LCKn (Parallel Server
- •Dnnn (Dispatcher)
- •Процессы Oracle
- •Процессы Oracle
- •Как работает транзакция
- •Как работает транзакция(2)
- •Как работает транзакция(3)
- •Как работает транзакция(4)
- •Функции СУРБД ORACLE
- •Создание контрольных точек (checkpointing)
- •Создание контрольных точек (checkpointing)(2)
- •Журналирование и архивирование
- •Журналирование и архивирование(2)
- •Производительность ORACLE
- •Производительность
- •Производительность
- •Параллельный сервер ORACLE
- •Репликация данных
- •Репликация данных(2)
- •Репликация данных(3)
- •Применение SQL
- •Выполнение SQL запросов, Выборка данных
- •Отображение данных с помощью выражения Select
- •Отображение данных с помощью выражения Select
- •Использование псевдонимов для столбцов
- •Выборка данных с использование Where
- •Выборка данных с использование Where
- •Применение регулярных выражений (RegExp)
- •Сортировка данных
- •Выборка данных из нескольких таблиц
- •Выборка данных из нескольких таблиц
- •Выборка данных из нескольких таблиц
- •Выборка данных из нескольких таблиц
- •Выборка данных из нескольких таблиц
- •Выборка данных из нескольких таблиц
- •Выборка данных из нескольких таблиц
- •Использование связанных переменных
- •Псевдостолбцы
- •Арифметические
- •Числовые функции
- •Агрегирующие функции
- •Агрегирующие функции
- •Агрегирующие функции
- •Управление данными
- •Вставка
- •Обновление
- •Удаление
- •Выражения для управления транзакциями
- •COMMIT
- •ROLLBACK
- •Создание таблиц
- •Управления столбцами
- •Переименование и удаление таблиц
- •Управление индексами
- •Управление индексами
- •Управление видами
- •Управление
- •Управление синонимами
- •Вложенные SQL запросы
- •Вложенные SQL запросы
- •Вложенные SQL запросы
- •Триггеры
- •Типы триггеров
- •Триггеры
- •Триггеры
- •Триггеры
- •Триггеры с обработкой исключений
- •Триггер, который выполняется только один раз для запроса



Агрегирующие функции
SELECT COUNT(*) "Employee Count" FROM employees WHERE manager_id = 122;
SELECT COUNT(*) "Employee Count", manager_id FROM employees GROUP BY manager_id ORDER BY manager_id;
SELECT COUNT(commission_pct) FROM employees;



Агрегирующие функции
SELECT COUNT(DISTINCT department_id) FROM employees;
SELECT MIN(salary), MAX(salary), AVG(salary) FROM employees WHERE manager_id = 122;
SELECT MIN(salary), MAX(salary), AVG(salary), job_id FROM employees GROUP BY job_id ORDER BY job_id;



Агрегирующие функции
SELECT department_id, MIN(salary), MAX (salary) FROM employees GROUP BY department_id HAVING MIN(salary) < 7000 ORDER BY MIN(salary);
HAVING – Where для функций



Управление данными
Вставки – INSERT
Обновление – UPDATE
Удаление - DELETE



Вставка
INSERT INTO employees VALUES (10, 'Enrique', 'Borges', 'enrique.borges', '555.111.2222', '01-AUG-05', 'AC_MGR', 9000, .1, 101, 110);
INSERT INTO employees (employee_id, last_name, email, hire_date, job_id, salary) VALUES (11, 'Doe', 'jane.doe', '31-AUG-05', 'SH_CLERK', 2400);
SELECT employee_id, last_name FROM employees WHERE employee_id = 10 or employee_id = 11;



Обновление
UPDATE employees SET salary = salary * 1.05 WHERE employee_id = 11;
SELECT salary FROM employees WHERE employee_id = 11;



Удаление
DELETE FROM employees WHERE employee_id = 10 OR employee_id = 11;
SELECT * FROM employees WHERE employee_id = 10 OR employee_id = 11;
Если вы случайно удалили не те строки, можно откатить изменения с помощью ROLLBACK

Выражения для управления транзакциями
COMMIT – применить
ROLLBACK - отменить



COMMIT
INSERT INTO employees (employee_id, last_name, email, hire_date, job_id, salary) VALUES (12, 'Doe', 'john.doe', '31-AUG-05', 'SH_CLERK', 2400);
UPDATE employees SET salary = salary*1.10 WHERE employee_id = 12;
COMMIT;



ROLLBACK
DELETE FROM employees WHERE last_name = 'Doe';
ROLLBACK;
SELECT * FROM employees WHERE last_name = 'Doe';
DDL
Язык описания данных. Используется для:
-создания таблиц
-изменения столбцов
-изменения ограничений
-переименования, удаления таблиц
-управления индексами, последовательностями и видами