Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему СУБД oracle

Содержание

Пример логической схемы базы данныхТелефоныНомерТипВладелецФИОДата рожденияПолАдресСтранаГородУлицаДомКорпусКвартираЛогическая схема БД Телефонный справочник:Пример:
Лекция № 1Дата:Преподаватель:Евстифеева Наталья АлександровнаСУБД ORACLE Пример логической схемы базы данныхТелефоныНомерТипВладелецФИОДата рожденияПолАдресСтранаГородУлицаДомКорпусКвартираЛогическая схема БД Телефонный справочник:Пример: Пример физической схемы базы данныхФизическая схема БД Телефонный справочник: Определение БДБаза данных состоит из таблиц, которые связаны между собой с помощью Автоматизированные системы (АС)Автоматизированные системы (АС) — это организованная совокупность средств, методов и Физической независимостью данных называют возможность изменения физической организации данных без перестройки прикладных Виды СУБДORACLEMicrosoft AccessDB2 и другие Архитектура сервера ORACLE Архитектура сервера ORACLE (1)Разделяемый пул (Shared Pool) содержит кэш библиотек, кэш словаря Процессы ORACLEДля работы сервера Oracle должны быть активными системные и пользовательские процессы Архитектура сервера ORACLE (2)PMON - (Process Monitor) осуществляет контроль за состоянием подключений Архитектура сервера ORACLE (3)ARCH - (Archiver) - отвечает за копирование полностью заполненного Архитектура сервера ORACLE (4)SNPn - выполняет автоматическое обновление снимков БД (snapshot). Так Группы файловСуществуют три основные группы файлов, составляющие базу данных:Контрольные файлы –описаны типы Структура памяти	Память, используемая сервером Oracle, имеет следующую структуру:	SGA(system global area) – системная Понятие экземпляра		Экземпляр – это совокупность процессов, разделяющих определенную область памяти и управляющих Словарь данных		Словарь данных – это база метаданных о собственно базе данных. Информация Основные понятия ORACLE-Таблица (TABLE);-представление (VIEW);-синоним (SYNONYM);-индекс (INDEX);-кластер (CLUSTER);-табличная область (TABLESPACE);-роль (ROLE);-снимок (SNAPSHOT);-связь Пользователь, таблицы, представления	Пользователь (USER) – объект, обладающий возможностью создавать и использовать другие Синоним, индекс, кластер, табличная область	Синоним (SYNONYM) – это альтернативное имя или псевдоним Роль, снимок, связь, сегмент отката	Роль (ROLE) – именованная совокупность привилегий, которые могут Объекты ORACLE	Для программирования алгоритмов обработки данных, реализации механизмов динамической поддержки целостности базы Процедура, функция, пакет, триггер	Процедура (PROCEDURE) – это поименованный, структурированный набор конструкций языка Библиотека, тип, каталог, профиль	Библиотеки (LIBRARY) – объекты БД, предназначенные для взаимодействия программ Лекция № 2Дата:Преподаватель:Евстифеева Наталья АлександровнаСУБД ORACLE Операторы SQL Базовая команда SELECTSELECT 		*|{ [DISTINCT] 	column| expression [alias], …}FROM		table; SELECT указывает, какие Выбор всех столбцовSELECT		*FROM		departments; Выбор конкретных столбцовSELECT		department_id, location_idFROM		departments; Неопределённое значение (NULL)Неопределенное значение (NULL) – это значение, которое недоступно, не присвоено, Использование псевдонима (алиаса) столбцаSELECT		last_name AS name, commission_pct commFROM		employees;SELECT		last_name “Name”, salary*12 “Annual Salary”FROM		employees; Устранение строк-дубликатовДубликаты устраняются с помощью ключевого слова DISTINCT в команде SELECT.SELECT		DISTINCT department_idFROM		employees; Ограничение количества выбираемых строкКоличество возвращаемых строк можно ограничить с помощью предложения WHERE.SELECT		*|{ Операторы сравненияWHERE		выражение оператор значение	Примеры:Псевдонимы не могут использоваться в предложении WHERE.Символы != и Другие условия сравнения Использование условия BETWEENУсловие BETWEEN используется для вывода строк на основе диапазона значенийSELECT		last_name, Использование условия INУсловие принадлежности IN используется для проверки на вхождение значений в Использование условия LIKEУсловие LIKE используется для поиска символьных значений по шаблону с Логические условия Приоритеты операторовИзменить стандартную последовательность можно с помощью круглых скобок, в которые заключаются выражения обрабатываемые первыми. Предложение ORDER BYПредложение ORDER BY используется для сортировки строк. В команде SELECT Функции SQLФункции являются очень мощным средством SQL и используются в следующих целях: Два типа функций SQLОднострочные функцииЭти функции работают только с одной строкой и Однострочные функцииСимвольные функции: принимают на входе символьные данные, а возвращают как символьные, Символьные функции (1) Символьные функции (2) **** Функции манипулирования символами Числовые функции		Числовые функции принимают на входе числовые данные и возвращают числовые значения. Работа с датамиSYSDATE-эта функция, которая возвращает: датувремя 	Вы можете использовать SYSDATE также, Арифметические операции с датами	Т.к. в базе данных даты хранится в виде чисел, Функции для работы с датами Явное преобразование типов данных (1)Для преобразования значения из одного типа данных в Явное преобразование типов данных (2) Функция TO_CHAR с датамиTO_CHAR (date, ‘format_model’)Модель формата:Должна быть заключена в апострофы. Различает Элементы формата даты Использование функции TO_CHAR с числамиФорматы, используемые с функцией TO_CHAR для вывода числового Вложенные функции Однострочные функции могут быть вложены на любую глубину. Вложенные функции Общие функцииЭти функции работают с любыми типами данных и используются для обработки неопределенных значений списка выражений. Выражения CASEПомогает создавать условные запросы, которые выполняют действия логического оператора IF-THEN-ELSECASE	выражение	WHEN сравн_выражение1 Функция DECODEПомогает создать условные запросы, которые выполняют действия логического условия CASE или Дополнительные условия поиска с оператором ANDПример: Чтобы вывести фамилию, номер отдела и Использование псевдонимов таблицSELECT		e.employee_id, e.last_name, e.department_id,		d.department_id, d.location_idFROM		employees e, departmnets dWHERE		e.departmnet_id=d.departmnet_id;-- Псевдонимы таблиц дают Соединение более, чем двух таблицДля соединения n таблиц требуется, по крайней мере, Групповые функцииГрупповые функции работают с множеством строк и возвращают один результат на Типы групповых функций Синтаксис групповых функцийSELECT		[столбец,] групп_функция (столбец), …FROM		таблица[WHERE		условие][GROUP BY	столбец][ORDER BY	столбец];-- Если используется слово DISTINCT, Использование функций AVG и SUMSELECT		AVG(salary), MAX(salary), 		MIN (salary), SUM(salary)FROM		employeesWHERE		job_id LIKE ‘%REP%’; Функции Исключение групп: предложение HAVINGSELECT		[столбец,] групп_функция (столбец), …FROM		таблица[WHERE		условие][GROUP BY	выражение_группировки][HAVING		ограничивающее_условие][ORDER BY	столбец];С помощью предложения HAVING Использование предложения HAVING-- Предложение GROUP BY можно использовать без групповой функции в Синтаксис подзапросовSELECT		список_выбораFROM		таблицаWHERE		выражение оператор			(SELECT		список_выбора			 FROM		таблица);-- Подзапрос (внутренний запрос) выполняется один раз до главного Многострочные подзапросыПодзапросы возвращающие более одной строки называются многострочными.Многострочные подзапросы используют многострочные операторы InsertДобавление строк в таблицу с использованием Insert:INSERT INTO	table [ (column [ , UpdateДля обновления существующих строк используется команда UPDATE.В случае необходимости можно одновременно обновлять DELETEДля удаления строк используется команда DELETE.DELETE		[FROM] 		таблица[WHERE			условие];Если ни одна строка не была Использование значений по умолчаниюDEFAULT в команде INSERT:INSERT	INTO	departments		(department_id, department_name, manager_id)VALUES		(300, ‘Engineering’, DEFAULT);DEFAULT в Синтаксис команды MERGEКоманда MERGE позволяет вставлять или изменять строки при определенных условиях.MERGE	INTO	имя_таблицы Команда CREATE TABLECREATE TABLE [схема.]таблица		(столбец тип_данных [DEFAULT выражение] [,…]);Задаётся имя таблицы, имя Типы данных Лекция № Процедуры/курсорыДата:Преподаватель:Евстифеева Наталья АлександровнаСУБД ORACLE Хранимая процедура	Хранимая процедура — объект базы данных, представляющий собой набор SQL-инструкций, который Блок в PL/SQLБазовой единицей языка PL/SQL является блок (block), который имеет следующую КурсорыКурсор может возвращать одну строку, несколько строк или ни одной строки. Для Операторы управления явным курсором	CURSOR выполняет объявление явного курсора.	OPEN открывает курсор, создавая новый Атрибуты курсора	%ISOPEN — возвращает значение TRUE, если курсор открыт.	%FOUND — определяет, найдена Последовательность операций с курсорами	Типичная последовательность, при операциях в данном случае с явными Полный синтаксис определения явного курсораПолный синтаксис определения явного курсора таков: Примеры: 1. Выбрать все заказы:	2. Выбрать несколько столбцов для определенного номера заказа	CURSOR Примеры:3. Получить полную запись для определенного номера заказа 	4. Получение имени сотрудника Оператор FETCH	Выборка данных из курсора производится 	с помощью оператора FETCH. 	FETCH - Успехов в освоении курса!!!
Слайды презентации

Слайд 2 Пример логической схемы базы данных
Телефоны
Номер
Тип
Владелец
ФИО
Дата рождения
Пол
Адрес
Страна
Город
Улица
Дом
Корпус
Квартира
Логическая схема БД

Пример логической схемы базы данныхТелефоныНомерТипВладелецФИОДата рожденияПолАдресСтранаГородУлицаДомКорпусКвартираЛогическая схема БД Телефонный справочник:Пример:

Телефонный справочник:
Пример:


Слайд 3 Пример физической схемы базы данных
Физическая схема БД Телефонный

Пример физической схемы базы данныхФизическая схема БД Телефонный справочник:

справочник:


Слайд 4 Определение БД
База данных состоит из таблиц, которые связаны

Определение БДБаза данных состоит из таблиц, которые связаны между собой с

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

заключается в том, что
данные:
Корректны;
Непротиворечивы;
Уникальны.

Слайд 5 Автоматизированные системы (АС)
Автоматизированные системы (АС) — это организованная

Автоматизированные системы (АС)Автоматизированные системы (АС) — это организованная совокупность средств, методов

совокупность средств, методов и мероприятий, используемых для регулярной обработки

информации для решения задачи.


Две черты, характерные для современных АС:
- разнообразие задач, решаемых различными пользователями на общей базе данных;
- постоянное улучшение аппаратных средств, предназначенных для хранения и обработки данных.

Слайд 6

Физической независимостью данных называют возможность изменения физической организации

Физической независимостью данных называют возможность изменения физической организации данных без перестройки

данных без перестройки прикладных программ и логической структуры данных.



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

Необходимое условие существования СУБД

Необходимым условием существования СУБД является реализация принципа логической и физической независимости представления данных.


Слайд 7 Виды СУБД
ORACLE
Microsoft Access
DB2 и другие

Виды СУБДORACLEMicrosoft AccessDB2 и другие

Слайд 8 Архитектура сервера ORACLE

Архитектура сервера ORACLE

Слайд 9 Архитектура сервера ORACLE (1)
Разделяемый пул (Shared Pool) содержит

Архитектура сервера ORACLE (1)Разделяемый пул (Shared Pool) содержит кэш библиотек, кэш

кэш библиотек, кэш словаря и управляющие структуры сервера (такие

как набор символов БД). Размер выделяемого пула определяется параметром SHARED_POOL_SIZE в файле init.ora.

Производительность всей системы в целом зависит от функционирования кэш-буфера данных. Все данные первым делом загружаются в кэш-буфер. В них же выполняется и любое обновление данных.Размер кэш-буфера определяется двумя параметрами настройки DB_BLOCK_SIZE и DB_BLOCK_BUFFERS в файле init.ora. Общий объем кэш-буфера(в байтах) равен произведению DB_BLOCK_SIZE*DB_BLOCK_BUFFERS.

Буфер журнала транзакций представляет собой циклический буфер. Размер буфера журнала транзакций задается, параметром LOG_BUFFER, файла init.ora.

Слайд 10 Процессы ORACLE
Для работы сервера Oracle должны быть активными

Процессы ORACLEДля работы сервера Oracle должны быть активными системные и пользовательские

системные и пользовательские процессы Oracle.

К обязательным процессам относятся:
-

PMON – монитор процессов;
- SMON – системный монитор;
- DBWR – процесс записи в базу данных;
- LGWR – процесс записи в журнал.

Также должны существовать пользовательские процессы.

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

Слайд 11 Архитектура сервера ORACLE (2)
PMON - (Process Monitor) осуществляет

Архитектура сервера ORACLE (2)PMON - (Process Monitor) осуществляет контроль за состоянием

контроль за состоянием подключений к БД.
SMON - после

запуска БД выполняет автоматическое восстановление экземпляра.
Процессы SMON, PMON должны быть запущены при старте БД, иначе она не будет функционировать.

DBWR - (DataBase Writer) отвечает за перенос обновленных блоков и производит перезапись в следующих случаях:
-Обнаружена контрольная точка.
-Количество элементов в dirty - списке достигло заданной величины - половина значения параметра DB_BLOCK_WRITE_BATCH из файла init.ora.
-Количество использованных буферов достигло величины, заданной параметром DB_BLOCK_MAX_SCAN из файла init.ora.
-Истек заданный для процесса DBWR интервал времени (3 с).LGWR

LGWR производит перезапись информации из буфера журнала транзакций, которая находится в ГСО (SGA), в файлы оперативного журнала при условии, что:
-Транзакция принимается.
-Буфер журнала транзакций заполняется на треть.
-Процесс DBWR завершает перезапись данных из кэш буфера после обнаружения контрольной точки.


Слайд 12 Архитектура сервера ORACLE (3)
ARCH - (Archiver) - отвечает

Архитектура сервера ORACLE (3)ARCH - (Archiver) - отвечает за копирование полностью

за копирование полностью заполненного оперативного файла журнала транзакций, в

архивные файлы журнала транзакций. Для того, чтобы запустить это процесс нужно установить параметр ARCHIV_LOG_START в файле init.ora в значение TRUE.

CKPT - отвечает за обработку контрольных точек. CKPT необходим для того, чтобы снизить нагрузку на LGWR.

RECO - (Recovery) - отвечает за восстановление незавершенных транзакций. Он запускается автоматически, если система сконфигурирована для распределенных транзакций. За это отвечает параметр DISTRIBUTED_TRANSACTION в файле init.ora.


Слайд 13 Архитектура сервера ORACLE (4)
SNPn - выполняет автоматическое обновление

Архитектура сервера ORACLE (4)SNPn - выполняет автоматическое обновление снимков БД (snapshot).

снимков БД (snapshot). Так же запускает процедуры в соответствии

с расписанием, зафиксированным в пакете DBMS_JOB. Параметр JOB_QUEUE_PROCESS в файле init.ora задает количество запускаемых процессов SNPn, а параметр JOB_QUEUE_INTERVAL длительность в течении, которой процесс "засыпает" прежде чем выполнить задание.

LCKn - координирует блокировки устанавливаемые разными экземплярами БД.

Pnnn - это процесс параллельных запросов. Сервер Oracle запускает и останавливает процессы Pnnn в зависимости от активности работы БД и настройки опций параллельных запросов. Эти процессы принимают участие в формировании компонентов БД. Количество запущенных процессов, определяется параметрами PARALLEL_MIN_SERVERS и PARALLEL_MAX_SERVERS соответственно.


Слайд 14 Группы файлов
Существуют три основные группы файлов, составляющие базу

Группы файловСуществуют три основные группы файлов, составляющие базу данных:Контрольные файлы –описаны

данных:
Контрольные файлы –описаны типы файлов, а контрольные относятся к

управляющим.

Слайд 15 Структура памяти
Память, используемая сервером Oracle, имеет следующую структуру:

SGA(system

Структура памяти	Память, используемая сервером Oracle, имеет следующую структуру:	SGA(system global area) –

global area) – системная память для всей базы данных.

Все системные и пользовательские процессы могут обращаться к данной области памяти.

Для процессов Oracle выделяет отдельную область – PGA (process global area).


Слайд 16 Понятие экземпляра

Экземпляр – это совокупность процессов, разделяющих определенную

Понятие экземпляра		Экземпляр – это совокупность процессов, разделяющих определенную область памяти и

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



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


Слайд 17 Словарь данных

Словарь данных – это база метаданных о

Словарь данных		Словарь данных – это база метаданных о собственно базе данных.

собственно базе данных.

Информация словаря данных хранится в виде

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

Слайд 18 Основные понятия ORACLE

-Таблица (TABLE);
-представление (VIEW);
-синоним (SYNONYM);
-индекс (INDEX);
-кластер (CLUSTER);
-табличная

Основные понятия ORACLE-Таблица (TABLE);-представление (VIEW);-синоним (SYNONYM);-индекс (INDEX);-кластер (CLUSTER);-табличная область (TABLESPACE);-роль (ROLE);-снимок

область (TABLESPACE);
-роль (ROLE);
-снимок (SNAPSHOT);
-связь базы данных (DATABASE LINK);
-сегмент отката

(ROLBACK SEGMENT).


Слайд 19 Пользователь, таблицы, представления
Пользователь (USER) – объект, обладающий возможностью

Пользователь, таблицы, представления	Пользователь (USER) – объект, обладающий возможностью создавать и использовать

создавать и использовать другие объекты Oracle, а также запрашивать

выполнение функций сервера. С пользователем Oracle связана схема (SHEMA), которая является логическим набором объектов базы данных, таких, как таблицы, последовательности, синонимы, представления, хранимые программы, принадлежащие этому пользователю. К объектам, не принадлежащим схеме, но хранимых в базе данных, относятся каталоги, профили, роли, сегменты отката, табличные области и пользователи. Схема имеет только одного пользователя-владельца, ответственного за создание и удаление этих объектов.

Таблица (TABLE) – является базовой структурой реляционной модели. Полное имя таблицы в базе данных состоит из имени схемы и собственно имени таблицы. Таблицы могут быть связаны между собой отношениями ссылочной целостности.

Представление (VIEW) – это поименованная, динамически поддерживаемая сервером выборка из одной или нескольких таблиц. По сути, представление – это производное множество строк, которое является результатом выполнения некоторого запроса к базовым таблицам.


Слайд 20 Синоним, индекс, кластер, табличная область
Синоним (SYNONYM) – это

Синоним, индекс, кластер, табличная область	Синоним (SYNONYM) – это альтернативное имя или

альтернативное имя или псевдоним объекта Oracle, который позволяет пользователям

базы данных иметь доступ к данному объекту.

Индекс (INDEX) – это объект базы данных, предназначенный для повышения производительности выборки данных. Индекс создается для столбцов таблицы и обеспечивает более быстрый доступ к данным за счет хранения указателей (ROWID) на местоположение строк.

Кластер (CLUSTER) – объект, задающий способ хранения данных нескольких таблиц, содержащих информацию, обычно обрабатываемую совместно, например, значения столбцов таблиц, часто участвующих в эквисоединениях.

Табличная область (TABLESPACE) – именованная часть базы данных, используемая для распределения памяти для таблиц, индексов и других объектов.


Слайд 21 Роль, снимок, связь, сегмент отката
Роль (ROLE) – именованная

Роль, снимок, связь, сегмент отката	Роль (ROLE) – именованная совокупность привилегий, которые

совокупность привилегий, которые могут быть предоставлены пользователям или другим

ролям.

Снимок (SNAPSHOT) – локальная копия таблицы удаленной базы данных, которая используется либо для тиражирования всей или части таблицы, либо для тиражирования результата запроса данных из нескольких таблиц.

Связь базы данных (DATABASE LINK) – это объект базы данных, который позволяет обратиться к объектам удаленной базы данных.

Сегмент отката (ROLBACK SEGMENT) – объект базы данных, предназначенный для обеспечения многопользовательской работы. В сегментах отката находятся обновляемые и удаляемые данные в пределах одной транзакции.


Слайд 22 Объекты ORACLE
Для программирования алгоритмов обработки данных, реализации механизмов

Объекты ORACLE	Для программирования алгоритмов обработки данных, реализации механизмов динамической поддержки целостности

динамической поддержки целостности базы данных Oracle используют следующие объекты:
-процедура

(PROCEDURE);
-функция (FUNCTION);
-пакет (PACKAGE);
-триггер (TRIGGER);
-библиотеки (LIBRARY);
-типы (TYPE);
-каталог (DIRECTORY);
-профиль (PROFILE).



Слайд 23 Процедура, функция, пакет, триггер
Процедура (PROCEDURE) – это поименованный,

Процедура, функция, пакет, триггер	Процедура (PROCEDURE) – это поименованный, структурированный набор конструкций

структурированный набор конструкций языка PL/SQL, предназначенный для решения конкретной

задачи.

Функция (FUNCTION) – это поименованный, структурированный набор конструкций языка PL/SQL, предназначенный для решения конкретной задачи и возвращающий значение.

Пакет (PACKAGE) – это поименованный, структурированный набор переменных, процедур, функций и других объектов, связанных функциональным замыслом.

Триггер (TRIGGER) – это хранимая процедура, которая автоматически выполняется тогда, когда происходит связанное с триггером событие.


Слайд 24 Библиотека, тип, каталог, профиль
Библиотеки (LIBRARY) – объекты БД,

Библиотека, тип, каталог, профиль	Библиотеки (LIBRARY) – объекты БД, предназначенные для взаимодействия

предназначенные для взаимодействия программ PL/SQL с модулями, написанными на

других языках программирования.

Типы (TYPE) – новые виды объектов БД, предназначенные для реализации объектных расширений.

Каталог (DIRECTORY) – объект, предназначенный для организации файлового ввода-вывода и работы с большими двоичными объектами.

Профиль (PROFILE) – объект, ограничивающий использование пользователем системных ресурсов, например процессорного времени или числа операции ввода-вывода.


Слайд 25 Лекция № 2
Дата:


Преподаватель:
Евстифеева Наталья Александровна
СУБД ORACLE

Лекция № 2Дата:Преподаватель:Евстифеева Наталья АлександровнаСУБД ORACLE

Слайд 26 Операторы SQL

Операторы SQL

Слайд 27 Базовая команда SELECT
SELECT *|{ [DISTINCT] column| expression [alias],

Базовая команда SELECTSELECT 		*|{ [DISTINCT] 	column| expression [alias], …}FROM		table; SELECT указывает,

…}
FROM table;
SELECT указывает, какие столбцы;
FROM указывает, из какой

таблицы.

SELECT список из одного или более столбцов
* выбирает все столбцы
DISTINCT устраняет дубликаты
столбец|выражение выбирает заданный столбец или выражение
псевдоним присваивает заданным столбцам другие имена
FROM таблица указывает таблицу, содержащую столбцы

Синтаксис:


Слайд 28 Выбор всех столбцов
SELECT *
FROM departments;

Выбор всех столбцовSELECT		*FROM		departments;

Слайд 29 Выбор конкретных столбцов
SELECT department_id, location_id
FROM departments;

Выбор конкретных столбцовSELECT		department_id, location_idFROM		departments;

Слайд 30 Неопределённое значение (NULL)
Неопределенное значение (NULL) – это значение,

Неопределённое значение (NULL)Неопределенное значение (NULL) – это значение, которое недоступно, не

которое недоступно, не присвоено, неизвестно или неприменимо. Это не

ноль и не пробел.

SELECT last_name, job_id, salary, commission_pct
FROM employees;

Если в строке отсутствует значение какого-либо столбца, считается, что столбец содержит NULL.

Неопределенные значения допускаются в столбцах с данными любого типа за исключением случаев, когда столбец был создан с ограничением NOT NULL или PRIMARY KEY.


Слайд 31 Использование псевдонима (алиаса) столбца
SELECT last_name AS name, commission_pct comm
FROM employees;
SELECT last_name

Использование псевдонима (алиаса) столбцаSELECT		last_name AS name, commission_pct commFROM		employees;SELECT		last_name “Name”, salary*12 “Annual Salary”FROM		employees;

“Name”, salary*12 “Annual Salary”
FROM employees;


Слайд 32 Устранение строк-дубликатов
Дубликаты устраняются с помощью ключевого слова DISTINCT

Устранение строк-дубликатовДубликаты устраняются с помощью ключевого слова DISTINCT в команде SELECT.SELECT		DISTINCT department_idFROM		employees;


в команде SELECT.
SELECT DISTINCT department_id
FROM employees;


Слайд 33 Ограничение количества выбираемых строк
Количество возвращаемых строк можно ограничить

Ограничение количества выбираемых строкКоличество возвращаемых строк можно ограничить с помощью предложения

с помощью
предложения WHERE.
SELECT *|{ [DISTINCT] column/expression [alias],…}
FROM table
[WHERE condition (s)];
Предложение WHERE

следует за предложением FROM.

WHERE ограничивает количество выбираемых строк, задавая условие выборки
условие условие, состоящее из имен столбцов, выражений, констант, оператора сравнения

Синтаксис:

Предложение WHERE может сравнивать значения в столбцах, литералы, арифметические выражения, функции.
Предложение WHERE состоит из трех элементов: имя столбца; оператор сравнения; имя столбца, константа или список значений.


Слайд 34 Операторы сравнения
WHERE выражение оператор значение
Примеры:
Псевдонимы не могут использоваться в

Операторы сравненияWHERE		выражение оператор значение	Примеры:Псевдонимы не могут использоваться в предложении WHERE.Символы !=

предложении WHERE.
Символы != и ^= могут также применяться для

проверки условия «не равно».

Слайд 35 Другие условия сравнения

Другие условия сравнения

Слайд 36 Использование условия BETWEEN
Условие BETWEEN используется для вывода строк

Использование условия BETWEENУсловие BETWEEN используется для вывода строк на основе диапазона

на основе диапазона значений
SELECT last_name, salary
FROM employees
WHERE salary BETWEEN 2500 AND 3500;


Слайд 37 Использование условия IN
Условие принадлежности IN используется для проверки

Использование условия INУсловие принадлежности IN используется для проверки на вхождение значений

на вхождение значений в список.
SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN

(100, 101, 201);

Условие IN может использоваться с данными любого типа. Если в список входят символьные строки и даты, они должны быть заключены в апострофы (‘ ’)


Слайд 38 Использование условия LIKE
Условие LIKE используется для поиска символьных

Использование условия LIKEУсловие LIKE используется для поиска символьных значений по шаблону

значений по шаблону с метасимволами. Условия поискам могут включать

алфавитные и цифровые символы: «%» - обозначает ноль или много символов, «_» - обозначает один символ.

SELECT first_name
FROM employees
WHERE first_name LIKE ‘S%’;

SELECT last_name, hire_date
FROM employees
WHERE hire_date LIKE ‘%95’;


Слайд 39 Логические условия

Логические условия

Слайд 40 Приоритеты операторов
Изменить стандартную последовательность можно с помощью круглых

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

скобок, в которые заключаются выражения обрабатываемые первыми.


Слайд 41 Предложение ORDER BY
Предложение ORDER BY используется для сортировки

Предложение ORDER BYПредложение ORDER BY используется для сортировки строк. В команде

строк. В команде SELECT предложение ORDER BY указывается последним.
SELECT last_name,

job_id, department_id, hire_date
FROM employees
ORDER BY hire_date;

Синтаксис:

ORDER BY (столбец, выражение) [ASC|DESC]

ORDER BY задает порядок вывода выбранных строк
ASC упорядочивает строки в порядке возрастания (по умолчанию)
DESC упорядочивает строки в порядке убывания


Слайд 42 Функции SQL
Функции являются очень мощным средством SQL и

Функции SQLФункции являются очень мощным средством SQL и используются в следующих

используются в следующих целях:
Вычисления над данными;
изменение отдельных

единиц данных;
управление выводом групп строк;
форматирование чисел и дат для вывода;
преобразование типов данных.

Функции SQL принимают один или несколько аргументов и всегда возвращают значение.


Слайд 43 Два типа функций SQL
Однострочные функции
Эти функции работают только

Два типа функций SQLОднострочные функцииЭти функции работают только с одной строкой

с одной строкой и возвращают по одному результату для

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

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

Слайд 44 Однострочные функции
Символьные функции: принимают на входе символьные данные,

Однострочные функцииСимвольные функции: принимают на входе символьные данные, а возвращают как

а возвращают как символьные, так и числовые значения.
Числовые функции:

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

Функции для обработки дат: работают с значениями типа DATE. Все функции для работы с датами возвращают значение типа DATE за исключением функции MONTH_BETWEEN, которая возвращает число.
Общие функции: NVL, NVL2, NULLIF, COALSECE, CASE, DECODE.


Слайд 45 Символьные функции (1)

Символьные функции (1)

Слайд 46 Символьные функции (2) ****

Символьные функции (2) ****

Слайд 47 Функции манипулирования символами

Функции манипулирования символами

Слайд 48 Числовые функции
Числовые функции принимают на входе числовые данные

Числовые функции		Числовые функции принимают на входе числовые данные и возвращают числовые значения.

и возвращают числовые значения.


Слайд 49 Работа с датами
SYSDATE-эта функция, которая возвращает:
дату
время
Вы

Работа с датамиSYSDATE-эта функция, которая возвращает: датувремя 	Вы можете использовать SYSDATE

можете использовать SYSDATE также, как любое другое имя столбца.

Например, можно вынести текущую дату при выполнении запроса из таблицы. Обычно выполняют выбор SYSDATE из фиктивной таблицы, имеющий имя DUAL.
Пример
Вывод текущей даты с использованием таблицы DUAL.
SELECT SYSDATE
FROM DUAL;


Слайд 50 Арифметические операции с датами
Т.к. в базе данных даты

Арифметические операции с датами	Т.к. в базе данных даты хранится в виде

хранится в виде чисел, с ними можно выполнять такие

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


Слайд 51 Функции для работы с датами

Функции для работы с датами

Слайд 52 Явное преобразование типов данных (1)
Для преобразования значения из

Явное преобразование типов данных (1)Для преобразования значения из одного типа данных

одного типа данных в другой SQL предлагает три функции.


Слайд 53 Явное преобразование типов данных (2)

Явное преобразование типов данных (2)

Слайд 54 Функция TO_CHAR с датами
TO_CHAR (date, ‘format_model’)
Модель формата:
Должна быть

Функция TO_CHAR с датамиTO_CHAR (date, ‘format_model’)Модель формата:Должна быть заключена в апострофы.

заключена в апострофы. Различает символы верхнего и нижнего регистров.
Может

включать любые разрешенные элементы формата даты.
Использует элемент fm для удаления конечных пробелов и ведущих нулей.
Отделяется от значения даты запятой.
Названия дней и месяцев на выводе автоматически заполняются до нужной длины пробелами.
Для удаления вставленных пробелов и ведущих нулей используется элемент fm режима заполнения (fill mode).
Изменить ширину выходного символьного столбца можно с помощью команды COLUMN iSQL*Plus.

Слайд 55 Элементы формата даты

Элементы формата даты

Слайд 56 Использование функции TO_CHAR с числами
Форматы, используемые с функцией

Использование функции TO_CHAR с числамиФорматы, используемые с функцией TO_CHAR для вывода

TO_CHAR для вывода числового значения в виде символьной строки:
TO_CHAR

(число, ‘модель_формата’)

Слайд 57 Вложенные функции
Однострочные функции могут быть вложены на

Вложенные функции Однострочные функции могут быть вложены на любую глубину. Вложенные

любую глубину.
Вложенные функции вычисляются от самого глубокого уровня

к внешнему.

Слайд 58 Общие функции
Эти функции работают с любыми типами данных

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

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


Слайд 59 Выражения CASE
Помогает создавать условные запросы, которые выполняют действия

Выражения CASEПомогает создавать условные запросы, которые выполняют действия логического оператора IF-THEN-ELSECASE	выражение	WHEN

логического оператора IF-THEN-ELSE
CASE выражение
WHEN сравн_выражение1 THEN возвр_выражение1
[WHEN сравн_выражение2 THEN вовзр_выражение2

WHEN сравн_выражениеn THEN вовзр_выражениеn
ELSE else-выражение]
END

Все выражения (выражение, сравн_выражение и возвр_выражение) должны быть одного типа.

Допустимые типы: CHAR, VARCHAR2, NCHAR и NVARCHAR2.


Слайд 60 Функция DECODE
Помогает создать условные запросы, которые выполняют действия

Функция DECODEПомогает создать условные запросы, которые выполняют действия логического условия CASE

логического условия CASE или оператора IF-THEN-ELSE.
DECODE (столбец|выражение, вариант 1,

результат 1 [ , вариант2, результат2…]
[ , результат_по_умолчанию])

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


Слайд 61 Дополнительные условия поиска с оператором AND
Пример: Чтобы вывести

Дополнительные условия поиска с оператором ANDПример: Чтобы вывести фамилию, номер отдела

фамилию, номер отдела и местоположение отдела для служащего Matos,

требуется дополнительное условие в предложении WHERE.

SELECT last_name, employees.department_id, department_name
FROM employess, departments
WHERE employees.departmnet_id=departments.department_id
AND last_name=‘Matos’;


Слайд 62 Использование псевдонимов таблиц
SELECT e.employee_id, e.last_name, e.department_id,
d.department_id, d.location_id
FROM employees e, departmnets

Использование псевдонимов таблицSELECT		e.employee_id, e.last_name, e.department_id,		d.department_id, d.location_idFROM		employees e, departmnets dWHERE		e.departmnet_id=d.departmnet_id;-- Псевдонимы таблиц

d
WHERE e.departmnet_id=d.departmnet_id;
-- Псевдонимы таблиц дают альтернативное имя таблице, уменьшают объем

кода SQL и, следовательно, экономят память.

-- Псевдоним таблиц могут быть длиной до 30 символов;

-- Если в предложении FROM для указания таблицы используется псевдоним, этот псевдоним должен использоваться вместо имени таблицы во всем предложении SELECT;

-- Следует выбирать осмысленные псевдонимы;

-- Действие псевдонима распространяется лишь на текущую команду SELECT.



Слайд 63 Соединение более, чем двух таблиц
Для соединения n таблиц

Соединение более, чем двух таблицДля соединения n таблиц требуется, по крайней

требуется, по крайней мере,
(n-1) условий соединения
SELECT e.last_name, d.departmnet_name, l.city
FROM employees

e, departments d, locations l
WHERE e.department_id = d.department_id
AND d.location_id = l.location_id;

Слайд 64 Групповые функции
Групповые функции работают с множеством строк и

Групповые функцииГрупповые функции работают с множеством строк и возвращают один результат

возвращают один результат на группу.
Максимальный оклад в таблице EMPLOYEES


Слайд 65 Типы групповых функций

Типы групповых функций

Слайд 66 Синтаксис групповых функций
SELECT [столбец,] групп_функция (столбец), …
FROM таблица
[WHERE условие]
[GROUP BY столбец]
[ORDER BY столбец];
--

Синтаксис групповых функцийSELECT		[столбец,] групп_функция (столбец), …FROM		таблица[WHERE		условие][GROUP BY	столбец][ORDER BY	столбец];-- Если используется слово

Если используется слово DISTINCT, дубликаты при вычислениях функции не

учитываются. Если используется слово ALL, рассматриваются все значения, включая дубликаты. Слово ALL указывать не обязательно, т.к. оно используется по умолчанию.

-- Допустимые типы данных для аргумента: CHAR, VARCHAR2, NUMBER или DATE, если задано выражение.

-- Все групповые функции, кроме COUNT(*), игнорируют неопределенные значения. -- Для замены неопределенных значений определенными используются функции NVL, NVL2 и COALESCE.

-- Сервер Oracle неявно сортирует данные в порядке возрастания, если используется предложение GROUP BY. Для того, чтобы изменить порядок сортировки, можно использовать опцию DESC после ORDER BY.


Слайд 67 Использование функций AVG и SUM
SELECT AVG(salary), MAX(salary),
MIN (salary),

Использование функций AVG и SUMSELECT		AVG(salary), MAX(salary), 		MIN (salary), SUM(salary)FROM		employeesWHERE		job_id LIKE ‘%REP%’;

SUM(salary)
FROM employees
WHERE job_id LIKE ‘%REP%’;
Функции AVG, SUM, MIN, MAX применяются

к столбцам, в которых можно хранить цифровые данные.

В примере вычисляются средний, самый высокий, самый низкий оклад и сумма окладов всех торговых представителей.


Слайд 68 Исключение групп: предложение HAVING
SELECT [столбец,] групп_функция (столбец), …
FROM таблица
[WHERE условие]
[GROUP BY выражение_группировки]
[HAVING ограничивающее_условие]
[ORDER

Исключение групп: предложение HAVINGSELECT		[столбец,] групп_функция (столбец), …FROM		таблица[WHERE		условие][GROUP BY	выражение_группировки][HAVING		ограничивающее_условие][ORDER BY	столбец];С помощью предложения

BY столбец];
С помощью предложения HAVING их выходных данных исключаются некоторые

группы.
Сервер Oracle обрабатывает предложение HAVING следующим образом:
Строки группируются.
К группе применяется групповая функция.
Выводятся группы, удовлетворяющие критериям в предложении HAVING.

Предложение HAVING может предшествовать предложению GROUP BY, но логичнее сделать предложение GROUP BY первым. Образование групп и вычисление групповых функций происходят до того, как к группам из списка SELECT применяется предложение HAVING.

Слайд 69 Использование предложения HAVING
-- Предложение GROUP BY можно использовать

Использование предложения HAVING-- Предложение GROUP BY можно использовать без групповой функции

без групповой функции в списке SELECT.
-- Для исключения строк

после применения групповой функции требуются предложения GROUP BY и HAVING.

В примере выводятся номера отделов и максимальный оклад только тех отделов, где он превышает 10000$;

SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary)>10000;


Слайд 70 Синтаксис подзапросов
SELECT список_выбора
FROM таблица
WHERE выражение оператор
(SELECT список_выбора
FROM таблица);
-- Подзапрос (внутренний запрос) выполняется

Синтаксис подзапросовSELECT		список_выбораFROM		таблицаWHERE		выражение оператор			(SELECT		список_выбора			 FROM		таблица);-- Подзапрос (внутренний запрос) выполняется один раз до

один раз до главного запроса.
-- Результат подзапроса используется главным

запросом (внешним запросом).

-- Подзапрос можно использовать в таких предложениях языка SQL как WHERE, HAVING, FROM

Слайд 71 Многострочные подзапросы
Подзапросы возвращающие более одной строки называются многострочными.
Многострочные

Многострочные подзапросыПодзапросы возвращающие более одной строки называются многострочными.Многострочные подзапросы используют многострочные

подзапросы используют многострочные операторы сравнения.
SELECT last_name, salary, department_id
FROM employees
WHERE salary IN (SELECT MIN(salary)

FROM employees
GROUP BY department_id);

Пример:


Слайд 72 Insert
Добавление строк в таблицу с использованием Insert:
INSERT INTO table

InsertДобавление строк в таблицу с использованием Insert:INSERT INTO	table [ (column [

[ (column [ , column…])]
VALUES

(value [ , value…])];

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


Слайд 73 Update
Для обновления существующих строк используется команда UPDATE.
В случае

UpdateДля обновления существующих строк используется команда UPDATE.В случае необходимости можно одновременно

необходимости можно одновременно обновлять несколько строк.
UPDATE таблица
SET столбец = значение [,

столбец=значение, …]
[WHERE условие];

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


Слайд 74 DELETE
Для удаления строк используется команда DELETE.
DELETE [FROM] таблица
[WHERE условие];
Если ни

DELETEДля удаления строк используется команда DELETE.DELETE		[FROM] 		таблица[WHERE			условие];Если ни одна строка не

одна строка не была удалена, выдается сообщение “0 rows

deleted.”

Слайд 75 Использование значений по умолчанию
DEFAULT в команде INSERT:
INSERT INTO departments
(department_id, department_name,

Использование значений по умолчаниюDEFAULT в команде INSERT:INSERT	INTO	departments		(department_id, department_name, manager_id)VALUES		(300, ‘Engineering’, DEFAULT);DEFAULT

manager_id)
VALUES (300, ‘Engineering’, DEFAULT);
DEFAULT в команде UPDATE:
UPDATE departments
SET manager_id=DEFAULT WHERE department_id=10;
Ключевое слово

DEFAULT используется для задания значения, которое ранее определено в качестве значения по умолчанию для столбца. Если значение по умолчанию не определено для соответствующего столбца, Oracle устанавливает неопределенное значение.

Слайд 76 Синтаксис команды MERGE
Команда MERGE позволяет вставлять или изменять

Синтаксис команды MERGEКоманда MERGE позволяет вставлять или изменять строки при определенных

строки при определенных условиях.
MERGE INTO имя_таблицы псевдоним_таблицы
USING (таблица|представление|подзапрос) псевдоним
ON (условие_соединения)
WHEN MATCHED THEN
UPDATE SET
столбец1

= значение_столбца1,
столбец2 = значение_столбца2
WHEN NOT MATCHED THEN
INSERT (список_столбцов)
VALUES(список_столбцов);

INTO определяет целевую таблицу, в которую производится вставка или изменение
USING определяет источники данных, которые используются для изменения или вставки; это может быть таблица, представление или подзапрос
ON условие, определяющее действие (изменение или вставка), которое выполняется по команде MERGE
WHEN (NOT) MATCHED указывает серверу, как реагировать на результаты условия соединения


Слайд 77 Команда CREATE TABLE
CREATE TABLE [схема.]таблица
(столбец тип_данных [DEFAULT выражение]

Команда CREATE TABLECREATE TABLE [схема.]таблица		(столбец тип_данных [DEFAULT выражение] [,…]);Задаётся имя таблицы,

[,…]);
Задаётся имя таблицы, имя столбца, тип данных столба и

размер столбца.

Команда CREATE TABLE языка SQL используется для создания таблиц. Это одна из команд Языка определения данных (DDL). Команды DDL являются подмножеством команд SQL, используемых для создания, изменения и удаления структур базы данных. Эти команды немедленно влияют на базу данных и записывают информацию в словарь данных.

Чтобы создать таблицу, пользователь должен иметь привилегию CREATE TABLE и область хранения, где можно создавать объекты.


Слайд 78 Типы данных

Типы данных

Слайд 79 Лекция № Процедуры/курсоры
Дата:


Преподаватель:
Евстифеева Наталья Александровна
СУБД ORACLE

Лекция № Процедуры/курсорыДата:Преподаватель:Евстифеева Наталья АлександровнаСУБД ORACLE

Слайд 80 Хранимая процедура
Хранимая процедура — объект базы данных, представляющий

Хранимая процедура	Хранимая процедура — объект базы данных, представляющий собой набор SQL-инструкций,

собой набор SQL-инструкций, который компилируется один раз и хранится

на сервере.

У хранимых процедур могут быть входные и выходные параметры и локальные переменные;
в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам.


Слайд 81 Блок в PL/SQL
Базовой единицей языка PL/SQL является блок

Блок в PL/SQLБазовой единицей языка PL/SQL является блок (block), который имеет

(block), который имеет следующую структуру:
Это так называемый анонимный

блок. Такой блок компилируется каждый раз при выполнении, не хранится в базе данных и не может быть вызван из другого блока.


Слайд 82 Курсоры
Курсор может возвращать одну строку, несколько строк или

КурсорыКурсор может возвращать одну строку, несколько строк или ни одной строки.

ни одной строки.

Для запросов, возвращающих более одной строки,

можно использовать только явный курсор.

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


Слайд 83 Операторы управления явным курсором
CURSOR выполняет объявление явного курсора.

OPEN

Операторы управления явным курсором	CURSOR выполняет объявление явного курсора.	OPEN открывает курсор, создавая

открывает курсор, создавая новый результирующий набор на базе указанного

запроса.

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

CLOSE закрывает курсор и освобождает занимаемые им ресурсы


Слайд 84 Атрибуты курсора
%ISOPEN — возвращает значение TRUE, если курсор

Атрибуты курсора	%ISOPEN — возвращает значение TRUE, если курсор открыт.	%FOUND — определяет,

открыт.

%FOUND — определяет, найдена ли строка, удовлетворяющая условию.

%NOTFOUND —

возвращает TRUE, если строка не найдена.

%ROWCOUNT — возвращает номер текущей строки.


Слайд 85 Последовательность операций с курсорами
Типичная последовательность, при операциях в

Последовательность операций с курсорами	Типичная последовательность, при операциях в данном случае с

данном случае с явными (определенными курсорами) будет такая:



Слайд 86 Полный синтаксис определения явного курсора
Полный синтаксис определения явного

Полный синтаксис определения явного курсораПолный синтаксис определения явного курсора таков:

курсора таков:


Слайд 87 Примеры:
1. Выбрать все заказы:



2. Выбрать несколько столбцов

Примеры: 1. Выбрать все заказы:	2. Выбрать несколько столбцов для определенного номера

для определенного номера заказа

CURSOR get_orders IS
SELECT * FROM ORDERS;
CURSOR

get_orders(Pord_num ORDERS.order_num%TYPE) IS
SELECT ORDER_DATE, MFR, AMOUNT FROM ORDERS
WHERE order_num = Pord_num;

Слайд 88 Примеры:
3. Получить полную запись для определенного номера заказа

Примеры:3. Получить полную запись для определенного номера заказа 	4. Получение имени





4. Получение имени сотрудника по его номеру
CURSOR get_orders(Pord_num

ORDERS.order_num%TYPE) IS
SELECT * FROM ORDERS
WHERE order_num = Pord_num
RETURN ORDERS%ROWTYPE;

CURSOR get_name(empl_nm SALESREPS.empl_num%TYPE)
RETURN SALESREPS.name%TYPE IS
SELECT name FROM SALESREPS WHERE empl_num = empl_nm;


Слайд 89 Оператор FETCH
Выборка данных из курсора производится
с помощью

Оператор FETCH	Выборка данных из курсора производится 	с помощью оператора FETCH. 	FETCH

оператора FETCH.



FETCH - имя курсора - INTO -

список переменных

FETCH - имя курсора - INTO - запись PL/SQL (%ROWTYPE)


  • Имя файла: subd-oracle.pptx
  • Количество просмотров: 147
  • Количество скачиваний: 0