
- •МГТУ им. Баумана Кафедра: «Компьютерные системы и сети» Базы Данных Зо Надежда Санчельевна
- •Основные понятия и условные сокращения
- •Буфер
- •Блок (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 запросы
- •Триггеры
- •Типы триггеров
- •Триггеры
- •Триггеры
- •Триггеры
- •Триггеры с обработкой исключений
- •Триггер, который выполняется только один раз для запроса



Применение SQL
SQL – это непроцедурный язык программирования для доступа к базе данных. Все операции с базой данных выполняются с использованием языка SQL.
Рассмотрим, как использовать Structured Query Language (Структурированный Язык Запросов), SQL для выборки и управления данными.

Выполнение SQL запросов, Выборка данных
Запрос можно выполнить, используя страницы SQL Commands , Script Editor, либо с помощью коммандной строки SQL*Plus
Выборка данных производится с помощью оператора Select. Полное описание синтаксиса можно посмотреть в документации к Oracle.

Отображение данных с помощью выражения Select
SELECT * FROM employees;
SELECT * FROM departments;
SELECT employee_id, last_name, first_name FROM employees;
SELECT department_id, department_name FROM departments;

Отображение данных с помощью выражения Select
SELECT * FROM emp_details_view;
SELECT employee_id, last_name, job_title, department_name, country_name, region_name FROM emp_details_view;

Использование псевдонимов для столбцов
SELECT employee_id "Employee ID number", last_name "Employee last name", first_name "Employee first name" FROM employees;

Выборка данных с использование Where
SELECT * FROM employees WHERE manager_id = 122;
SELECT * FROM employees WHERE manager_id = 122 AND job_id = 'ST_CLERK';
SELECT * FROM employees WHERE manager_id BETWEEN 122 AND 125;

Выборка данных с использование Where
SELECT employee_id, last_name FROM employees WHERE last_name LIKE '%mar%';
SELECT employee_id, last_name FROM employees WHERE last_name LIKE 'Mar%';
SELECT employee_id, last_name FROM employees WHERE commission_pct IS NOT NULL;

Применение регулярных выражений (RegExp)
SELECT employee_id, job_id FROM employees WHERE REGEXP_LIKE (job_id, '[ac|fi|mk|st]_m[an|gr]', 'i');
Job_id начинается либо на ac,fi,mk или st, далее должно идти _m, после чего либо an, либо gr. При этом большие и маленькие буквы не различаются ( опция i).



Сортировка данных
SELECT * FROM employees WHERE manager_id = 122 ORDER BY employee_id;
SELECT employee_id, last_name, first_name, manager_id FROM employees ORDER BY manager_id DESC;

Выборка данных из нескольких таблиц
SELECT employee_id, last_name, first_name, department_id, department_name, manager_id FROM employees NATURAL JOIN departments;
Выборка происходит из двух таблиц с одинаковыми столбцами - manager_id и department_id