Язык SQL. Реализация Oracle 10g презентация

Содержание

Слайд 2

Слайд 3

Основная команда SELECT SELECT [DISTINCT] {*, column [alias],...) FROM table;

Основная команда SELECT
SELECT [DISTINCT] {*, column [alias],...)
FROM table;
SELECT указывает, какие столбцы
FROM

указывает, из какой таблицы
Слайд 4

Написание команд SQL Команды SQL не различают регистры символов Команды

Написание команд SQL

Команды SQL не различают регистры символов
Команды SQL могут занимать одну

или несколько строк
Ключевые слова нельзя сокращать и размещать на двух строках
Предложения обычно пишутся на отдельных строках
Для облегчения чтения используются табуляция и отступы
Слайд 5

Слайд 6

Арифметические выражения Создаются из данных типа NUMBER и DATE с помощью арифметических операторов

Арифметические выражения
Создаются из данных типа NUMBER и DATE с помощью арифметических

операторов
Слайд 7

Слайд 8

Неопределенное значение (NULL) Неопределенное значение (NULL) - это когда значение

Неопределенное значение (NULL)

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

или неприменимо.
Это не ноль и не пробел
Слайд 9

Псевдоним (алиас) столбца Альтернативный заголовок столбца Удобен при вычислениях Следует

Псевдоним (алиас) столбца

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

ключевое слово AS между именем столбца с псевдонимом необязательно
Заключается в двойные кавычки, если содержит пробелы, специальные символы или различает регистры символов
Слайд 10

Слайд 11

Оператор конкатенации Соединяет столбцы или символьные строки с другими столбцами

Оператор конкатенации
Соединяет столбцы или символьные строки с другими столбцами
Изображается двумя вертикальными линиями (||)
Создает

столбец с результатом, представляющий символьное выражение
Слайд 12

Дублирование строк По умолчанию выдаются все строки, включая дубликаты.

Дублирование строк

По умолчанию выдаются все строки, включая дубликаты.

Слайд 13

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

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


Слайд 14

Ограничение количества выбираемых строк путем отбора

Ограничение количества выбираемых строк путем отбора

Слайд 15

Слайд 16

Использование предложения WHERE

Использование предложения WHERE

Слайд 17

Прочие операторы сравнения

Прочие операторы сравнения

Слайд 18

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

Использование оператора BETWEEN

Оператор BETWEEN используется для вывода строк по диапазону значений.

Слайд 19

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

Использование оператора IN

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

список.
Слайд 20

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

Использование оператора LIKE

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

поиска могут включать алфавитные и цифровые символы.
% обозначает ноль или много символов
_ обозначает один символ
Слайд 21

Использование оператора LIKE Метасимволы можно комбинировать.

Использование оператора LIKE

Метасимволы можно комбинировать.

Слайд 22

Логические операторы .

Логические операторы

.

Слайд 23

Слайд 24

Сортировка по нескольким столбцам Последовательность сортировки определяется порядком столбцов в предложении ORDER BY.

Сортировка по нескольким столбцам

Последовательность сортировки определяется порядком столбцов в предложении ORDER

BY.
Слайд 25

Однострочные функции Различные типы функций в SQL. •Включение в команды

Однострочные функции

Различные типы функций в SQL.
•Включение в команды SELECT функций различных

типов — символьных, числовых и типа "дата".
•Функции преобразования данных и их использование.
Слайд 26

Два типа функций SQL

Два типа функций SQL

Слайд 27

Слайд 28

Слайд 29

Слайд 30

Использование функций манипулирования символами

Использование функций манипулирования символами

Слайд 31

Слайд 32

Использование функции ROUND

Использование функции ROUND

Слайд 33

Использование функции TRUNC

Использование функции TRUNC

Слайд 34

Работа с датами • Oracle хранит данные во внутреннем цифровом

Работа с датами

• Oracle хранит данные во внутреннем цифровом формате.
- Век, год, месяц,

число, часы, минуты, секунды
По умолчанию дата выдается в формате DD-MON-YY (число- месяц-год)
Функция SYSDATE возвращает текущие дату и время
DUAL - это фиктивная таблица, используемая для просмотра SYSDATE
Слайд 35

Арифметические операции с датами Результатом прибавления числа к дате и

Арифметические операции с датами

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

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

Использование арифметических операторов с датами

Использование арифметических операторов с датами

Слайд 37

Слайд 38

Слайд 39

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

Неявное преобразование типов данных

Для операций присваивания Oracle может автоматически выполнять следующие

п реобразования:
Слайд 40

Слайд 41

Функция TO_CHAR с датами Модель формата: ■Должна быть заключена в

Функция TO_CHAR с датами

Модель формата:
■Должна быть заключена в апострофы. Различает
символы

верхнего и нижнего регистров. •Может включать любые разрешенные элементы
формата даты. •Использует элемент fm для удаления конечных
пробелов и ведущих нулей.
•Отделяется от значения даты запятой.
Слайд 42

Слайд 43

Слайд 44

Слайд 45

Слайд 46

Слайд 47

Слайд 48

Использование функции NVL

Использование функции NVL

Слайд 49

Слайд 50

Слайд 51

Вложенные функции

Вложенные функции

Слайд 52

Выборка данных из нескольких таблиц

Выборка данных из нескольких таблиц

Слайд 53

Темы Команды SELECT для выборки данных из более, чем одной

Темы

Команды SELECT для выборки данных из более, чем одной таблицы с помощью эквисоединений

и прочих видов соединений.
Использование внешних соединений для просмотра данных, не удовлетворяющих обычным условиям соединения
Соединение таблицы с собой
Слайд 54

Выборка данных из нескольких таблиц

Выборка данных из нескольких таблиц

Слайд 55

Что такое соединение? Соединение используется для выборки данных из более,

Что такое соединение?

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

таблицы.
Условие соединения указывается в предложении WHERE.
Если одно и то же имя столбца присутствует более, чем в одной таблице, к имени столбца добавляется имя таблицы в виде префикса .
Слайд 56

Декартово произведение Декартово произведения образуется , если: Опущено условие соединения.

Декартово произведение

Декартово произведения образуется , если:
Опущено условие соединения.
Условие соединения недействительно.
Все строки

первой таблицы соединяются со всеми строками второй таблицы.
Во избежание получения декартова произведения предложение WHERE всегда должно включать допустимое условие соединения.
Слайд 57

Слайд 58

Слайд 59

Слайд 60

Слайд 61

Различение столбцов с одинаковыми именами Для различения одноименных столбцов из

Различение столбцов с одинаковыми именами

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

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

Слайд 63

Слайд 64

Слайд 65

Слайд 66

Слайд 67

Слайд 68

Слайд 69

Слайд 70

Слайд 71

Слайд 72

Агрегирование данных с помощью групповых функций

Агрегирование данных с помощью групповых функций

Слайд 73

Темы Общие сведения об имеющихся групповых функциях Использование групповых функций

Темы

Общие сведения об имеющихся групповых функциях
Использование групповых функций
Вывод данных по группам с

помощью предложения GROUP BY
Включение и исключение групп с помощью предложения HAVING
Слайд 74

Слайд 75

Типы групповых функций AVG COUNT МАХ MIN STDDEV SUM VARIANCE

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

AVG
COUNT
МАХ
MIN
STDDEV
SUM
VARIANCE

Слайд 76

Слайд 77

Слайд 78

Слайд 79

Слайд 80

Слайд 81

Слайд 82

Слайд 83

Слайд 84

Слайд 85

Слайд 86

Слайд 87

Слайд 88

Слайд 89

Слайд 90

Слайд 91

Слайд 92

Слайд 93

Слайд 94

Слайд 95

Подзапросы Типы проблем, решаемых с помощью подзапросов Определение подзапросов Типы подзапросов Написание однострочных и многострочных подзапросов

Подзапросы

Типы проблем, решаемых с помощью подзапросов
Определение подзапросов
Типы подзапросов
Написание однострочных и многострочных подзапросов

Слайд 96

Слайд 97

Слайд 98

Слайд 99

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

Указания по использованию подзапросов

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

справа от оператора сравнения.
Подзапрос не может содержать предложение ORDER BY.
В однострочных подзапросах используются однострочные операторы.
В многострочных подзапросах используются многострочные операторы.
Слайд 100

Слайд 101

Слайд 102

Слайд 103

Слайд 104

Слайд 105

Слайд 106

Слайд 107

Слайд 108

Слайд 109

Слайд 110

Слайд 111

Многостолбцовые подзапросы Создание многостолбцовых подзапросов Поведение подзапросов при выборке неопределенных значений Включение подзапроса в предложение FROM

Многостолбцовые подзапросы

Создание многостолбцовых подзапросов
Поведение подзапросов при выборке неопределенных значений
Включение подзапроса в предложение FROM

Слайд 112

Слайд 113

Слайд 114

Слайд 115

Слайд 116

Слайд 117

Слайд 118

Слайд 119

Слайд 120

Слайд 121

Заключение Многостолбцовый подзапрос возвращает значения нескольких столбцов. Сравнение столбцов в

Заключение

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

и непарным.
Многостолбцовый подзапрос может также использоваться в предложении FROM команды SELECT.
Слайд 122

Манипулирование данными Описание команд DML Вставка строк в таблицы Обновление

Манипулирование данными

Описание команд DML
Вставка строк в таблицы
Обновление строк в таблице
Удаление строк

из таблицы
Управление транзакциями
Слайд 123

Язык манипулирования данными (DML) • Команды DML выполняются при следующих

Язык манипулирования данными (DML)

• Команды DML выполняются при следующих операциях:
Вставка новых строк в

таблицу
Изменение существующих строк в таблице
Удаление существующих строк из таблицы
* Транзакция - это совокупность команд DML, образующих логическую единицу работы.
Слайд 124

Слайд 125

Слайд 126

Слайд 127

Слайд 128

Слайд 129

Слайд 130

Слайд 131

Слайд 132

Слайд 133

Слайд 134

Слайд 135

Слайд 136

Слайд 137

Слайд 138

Слайд 139

Слайд 140

Транзакции базы данных Сервер Oracle обеспечивает согласованность данных на основе

Транзакции базы данных

Сервер Oracle обеспечивает согласованность данных на основе транзакций.
Транзакции

обеспечивают большую гибкость, более широкий спектр средств управления при изменении данных, а также согласованность данных в случае ошибки в пользовательском процессе или сбоя системы.
Слайд 141

Слайд 142

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

Преимущества команд COMMIT и ROLLBACK

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

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

Слайд 144

Слайд 145

Состояние данных до выполнения команды COMMIT или ROLLBACK Предыдущее состояние

Состояние данных до выполнения команды COMMIT или ROLLBACK

Предыдущее состояние данных может

быть восстановлено, т.к. изменения производятся в буфере базы данных.
Текущий пользователь может просмотреть результаты своих операций DML с помощью команды SELECT.
Другие пользователи не могут видеть , результаты команд DML, выполняемых текущим пользователем.
Измененяемые строки блокируются, и другие пользователи не могут обновлять их содержимое.
Слайд 146

Состояние данных после выполнения команды COMMIT Измененные данные записываются в

Состояние данных после выполнения команды COMMIT

Измененные данные записываются в базу данных.
Предшествующее состояние

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

Слайд 148

Слайд 149

Слайд 150

Слайд 151

Слайд 152

Слайд 153

Слайд 154

Слайд 155

Создание таблиц и управление ими Главные объекты базы данных Создание

Создание таблиц и управление ими

Главные объекты базы данных
Создание таблиц
Типы данных, которые

могут использоваться в определениях столбцов
Изменение определений таблиц
Удаление, переименование и усечение таблиц
Слайд 156

Слайд 157

Слайд 158

Слайд 159

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

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

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

качестве префикса в имени таблицы следует указать имя владельца.
Слайд 160

Слайд 161

Слайд 162

Слайд 163

Слайд 164

Слайд 165

Слайд 166

Слайд 167

Слайд 168

Слайд 169

Слайд 170

Принципы поддержки целостности в реляционной модели данных поддержка структурной целостности

Принципы поддержки целостности в реляционной модели данных

поддержка структурной целостности
поддержка языковой целостности
поддержка ссылочной

целостности
поддержка семантической целостности.
Слайд 171

поддержка структурной целостности реляционная СУБД должна допускать работу только с

поддержка структурной целостности

реляционная СУБД должна допускать работу только с однородными структурами

данных типа «реляционное отношение» т.е.
отсутствие дубликатов кортежей,
соответственно обязательное наличие первичного ключа,
отсутствие понятия упорядоченности кортежей.
Слайд 172

поддержка языковой целостности Реляционная СУБД должна обеспечивать языки описания и

поддержка языковой целостности

Реляционная СУБД должна обеспечивать языки описания и манипулирования данными

не ниже стандарта SQL.
He должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту.
Слайд 173

поддержка ссылочной целостности кортежи подчиненного отношения уничтожаются при удалении кортежа

поддержка ссылочной целостности

кортежи подчиненного отношения уничтожаются при удалении кортежа основного отношения,

связанного с ними.
кортежи основного отношения модифицируются при удалении кортежа основного отношения, связанного с ними, при этом на месте ключа родительского отношений ставится неопределенное Null значение.
Слайд 174

Семантическая поддержка целостности. Семантическая поддержка может быть обеспечена двумя путями: Декларативным и процедурным путем.

Семантическая поддержка целостности.

Семантическая поддержка может быть обеспечена двумя путями:
Декларативным и


процедурным путем.
Слайд 175

Включение ограничений Ограничения обеспечивают декларативную поддержку целостности. Что такое ограничения? Создание и сопровождение ограничений

Включение ограничений

Ограничения обеспечивают декларативную поддержку целостности.
Что такое ограничения?
Создание и сопровождение ограничений

Слайд 176

Слайд 177

Слайд 178

Слайд 179

Слайд 180

Слайд 181

Слайд 182

Слайд 183

Слайд 184

Слайд 185

Слайд 186

Слайд 187

Слайд 188

Слайд 189

Пример Оператор создания таблицы BOOKS из базы данных «Библиотека». Бизнес-правила:

Пример

Оператор создания таблицы BOOKS из базы данных «Библиотека».
Бизнес-правила:
Шифр книги — последовательность

символов длиной не более 14, однозначно определяющая книгу, значит, это — фактически первичный ключ таблицы BOOKS.
Название книги — последовательность символов, не более 120. Обязательно должно быть задано.
Автор — последовательность символов, не более 30, может быть не задан.
Соавтор — последовательность символов, не более 30, может быть не задан.
Год издания — целое число, не менее 1960 и не более текущего года. По умолчанию ставится текущий год.
Издательство — последовательность символов, не более 20, может отсутствовать.
Количество страниц — целое число не менее 5 и не более 1000.
Слайд 190

Оператор

Оператор

Слайд 191

Дополнительное ограничение для таблицы

Дополнительное ограничение для таблицы

Слайд 192

Именованные ограничения Для анализа ошибок целесообразно именовать все ограничения, особенно

Именованные ограничения

Для анализа ошибок целесообразно именовать все ограничения, особенно если таблица

содержит несколько ограничений одного типа.
Для именования ограничений используется ключевое слово CONSTRAINT
Слайд 193

Создание BOOKS с именованными ограничениями

Создание BOOKS с именованными ограничениями

Слайд 194

Таблица READERS: Номер читательского билета - это целое число в

Таблица READERS:

Номер читательского билета - это целое число в пределах 32

000 и он уникально определяет читателя.
Имя, фамилия читателя — это последовательность символов, не более 30.
Адрес — это последовательность символов, не более 50.
Номера телефонов рабочего и домашнего — последовательность символов, не более 12.
Дата рождения — календарная дата. В библиотеку принимаются читатели не младше 17 лет.
Слайд 195

Оператор

Оператор

Слайд 196

Таблица Examplar

Таблица Examplar

Слайд 197

Порядок создания таблиц В нашем примере с библиотекой порядок описания таблиц следующий:

Порядок создания таблиц

В нашем примере с библиотекой порядок описания таблиц следующий:

Слайд 198

Средства определения схемы базы данных В СУБД ORACLE база данных

Средства определения схемы базы данных

В СУБД ORACLE база данных создается в ходе

установки программного обеспечения собственно СУБД. Все таблицы пользователей помещаются в единую базу данных.
Однако они могут быть разделены на группы, объединенные в подсхемы.
Понятие подсхемы не стандартизировано в SQL и не используется в других СУБД.
Слайд 199

Семантическое обеспечение целостности данных Процедуры и триггеры

Семантическое обеспечение целостности данных

Процедуры и триггеры

Слайд 200

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

Хранимые процедуры

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

включать любые операторы SQL, а также включают некоторый набор операторов, управляющих ходом выполнения программ
Слайд 201

Синтаксис CREATE [ OR REPLACE] ( “аргумент” IN | OUT

Синтаксис

CREATE [ OR REPLACE]
( “аргумент” IN | OUT |

IN OUT “Тип данных” [,..])
IS | AS
“Тело процедуры PL/SQL”
Слайд 202

Функция получения ip-адреса create or replace function client_ip_address return varchar2 is begin return dbms_standard.client_ip_address; end;

Функция получения ip-адреса

create or replace function client_ip_address return varchar2 is begin return dbms_standard.client_ip_address; end;

Слайд 203

Пример процедуры create or replace procedure update_debtsis Begin update computation

Пример процедуры

create or replace procedure update_debtsis
Begin
update computation c set n_pay=(select sum(n_sum)


from payment
where n_client=clients.n_client and d_pay between dates.d_computation and add_months(dates.d_computation,1))
end update_debts;
Слайд 204

Триггеры Фактически триггер — это специальный вид хранимой процедуры, которую

Триггеры

Фактически триггер — это специальный вид хранимой процедуры, которую SQL Server

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

два типа триггеров В СУБД Oracle определены два типа триггеров:

два типа триггеров

В СУБД Oracle определены два типа триггеров:
триггеры, которые

могут быть запущены перед реализацией операции модификации, они называются BEFORE-триггерами,
и триггеры, которые активизируются после выполнения соответствующей модификации, аналогично триггерам MS SQL Server, — они называются AFTER-триггерами.
Слайд 206

Синтаксис CREATE [ OR REPLACE] TRIGGER BEFORE | AFTER ON

Синтаксис

CREATE [ OR REPLACE] TRIGGER <имя_триггера> BEFORE | AFTER
ON <имя_таблицы>
FOR

{ [INSERT] [,UPDATE] [, DELETE] }
FOR EACH ROW
WHEN (условие)
AS
SQL-операторы (Тело триггера)
Слайд 207

Пример1 create or replace trigger add_author AFTER INSERT OR UPDATE

Пример1

create or replace trigger add_author AFTER INSERT OR UPDATE OF C_AUTHOR
ON

T_CLAUSES FOR EACH ROW
DECLARE id_cl int; aut varchar2(500); res int;
BEGIN id_cl := :new.N_ID_CL; aut := :new.C_AUTHOR; res := ANALIZ_AUT(id_cl, aut); END;
Слайд 208

Пример2 create or replace trigger "BI_COMPUTATION" before insert on "COMPUTATION"

Пример2

create or replace trigger "BI_COMPUTATION"
before insert on "COMPUTATION"
for each

row
begin
select "COMPUTATION_SEQ".nextval into :NEW.N_COMPUTATION
from dual;
:NEW.D_COMPUTATION := SYSDATE();
end;
Имя файла: Язык-SQL.-Реализация-Oracle-10g.pptx
Количество просмотров: 71
Количество скачиваний: 0