Содержание
- 2. 2 Введение в язык SQL и выполнение запросов для извлечения данных
- 3. Основные СУБД
- 4. 2 Введение в SQL SQL (англ. Structured Query Language – «язык структурированных запросов») – универсальный компьютерный
- 5. Таблица Таблица – это главный объект БД. В таблицах хранится информация. Таблица представляет из себя совокупность
- 6. Целостность данных Базы данных содержат таблицы, которые связаны между собой различными связями. Связь (relationship) представляет ассоциацию
- 7. Связь один ко многим в базах данных реализуется тогда, когда объекту А может принадлежать или же
- 8. Связь один к одному В редких случаях связь один-к-одному моделируется используя две таблицы. Такой вариант иногда
- 9. База данных «Авиаперевозки» рейсы аэропорты самолеты Места в самолете бронирование билеты перелеты Посадочные талоны
- 10. Подключение к БД
- 11. Логическая и физическая структура БД 4 основных табличных пространства Object (User)
- 12. База данных Пользователь (схема) anna Объект – таблица А Объект – таблица B Объект – процедура
- 13. Объекты БД Таблицы представляют собой сегменты базы данных, в которых хранятся собственно данные. Каждая таблица состоит
- 14. Синонимы - псевдонимы объектов базы данных, которые служат в основном для облегчения пользователям доступа к объектам,
- 15. Пакет Oracle PL/SQL - Объект схемы, который группирует логически связанные типы, процедуры и функции. Пакеты обычно
- 16. Типы данных (SQL типы используются для хранения данных в БД) Также значением поля может быть NULL
- 17. Структура языка SQL DML(Data Manipulation Language) операторы манипуляции данными: SELECT считывает данные, удовлетворяющие заданным условиям, INSERT
- 18. Команда SELECT SELECT (англ., означает «выбрать») - оператор SQL, возвращающий набор данных (выборку) из базы данных.
- 19. Элементы команды SELECT ALL (действует по умолчанию) – обеспечивает включение в результаты запроса и повторяющихся значений.
- 20. Примеры простых запросов select * from seats t select t.* from lanit.seats t select t.* ,
- 21. Выбор данных из таблицы WHERE – содержит условия выбора отдельных записей. Условие является логическим выражением и
- 22. GROUP BY GROUP BY — используется для объединения строк с общими значениями. ORDER BY ORDER BY
- 23. Примеры Выборка из таблицы select * from seats t select t.seat_no from seats t Выборка без
- 24. Использование IN. Вывести список всех мест бизнес класса в самолетах с кодом 773, 321 select aircraft_code,
- 25. Оператор LIKE и not LIKE Позволяет выполнять сопоставление с шаблоном. expression LIKE pattern [ ESCAPE ‘escape_character’
- 26. BETWEEN условие Условие BETWEEN (называемое, также оператор BETWEEN) используется для получения значений в пределах диапазона в
- 27. Выборка вычисляемых значений Вывести дальность полета всех самолетов в тыс.км select aircraft_code , round(range/1000,0) range ,
- 28. Системная таблица DUAL В некоторых случаях может потребоваться вернуть при помощи запроса результат работы некоторой хранимой
- 29. NULL - выражения и функция NVL Вычисляемые поля Если в поле нет значения, оно считается пустым
- 30. Форматирование даты to_char()
- 31. Функции для работы со строками
- 32. TRUNC ФУНКЦИЯ (ДЛЯ ДАТ) функция TRUNC возвращает дату, усеченную к определенной единице измерения TRUNC (date, [
- 33. Выборка данных из нескольких таблиц Декартово произведение - соединение без конструкции WHERE, в результате которого каждая
- 34. Выборка всех данных по самолетам и мест в них select a.* -- выборка все столбцов таблицы
- 35. Rownum – выбор первых N записей из таблицы Сейчас 01.09.2017 07:55:00, выберите ближайшие 5 рейсов из
- 36. Группировка и множественные операции
- 37. GROUP BY Запросы с группировкой Использование фразы GROUP BY позволяет сгруппировать строки в группы, имеющие одинаковые
- 38. Основные агрегатные функции AVG() - функция возвращает среднее значение числового столбца. COUNT() - данная функция возвращает
- 39. GROUP BY Использование агрегатных функций Список самолетов и количество мест в них: select aircraft_code , count(*)
- 40. Вывести количество рейсов в сентябре 2017г. по дням select trunc(t.date_departure) date_departure , count(*) countFlight from lanit.flights
- 41. GROUP BY Условия поиска групп. Предложение HAVING Предложение HAVING, используемое совместно с GROUP BY, позволяет исключить
- 42. Вывести дни в сентябре 2017 с количество рейсов больше 500. select trunc(t.date_departure) date_departure , count(*) countFlight
- 43. Вложенные и коррелируемые подзапросы Вложенным запросом (подзапросом) называется запрос, содержащийся в предложении WHERE или HAVING другого
- 44. Получить список мест в самолетах с названием на «BO» select s.aircraft_code, seat_no, fare_conditions from seats s
- 45. Показать все рейсы 01.09.2017 по самолетам с дальностью полета свыше 8тыс.км select * from lanit.flights t
- 46. Квантор существования EXISTS В языке SQL предикат с квантором существования представляется выражением вида: [NOT] EXISTS (SELECT…FROM…WHERE…),
- 47. Многократное сравнение ANY и ALL Синтаксис многократного сравнения: проверяемое_выражение = | | | >= ANY |
- 48. Реляционные операторы Теоретико-множественные операторы: Декартово произведение Cross join Объединение Union Пересечение Intersect Разность Minus Специальные реляционные
- 49. Оператор CASE Оператор CASE имеет функциональность IF-THEN-ELSE и используется в SQL предложении CASE WHEN condition_1 THEN
- 50. Функция DECODE. Имеет функциональные возможности оператора IF-THEN-ELSE. DECODE( выражение, значение 1, результат 1 [, значение N
- 51. Функция LISTAGG Объединяет значения «выражение» для каждой группы LISTAGG (выражение[, ‘разделитель’]) WITHIN GROUP (order_by колонка1..) Вывести
- 52. CTE (Common Table Expressions) Общие табличные выражения with listdata as (select ad.aircraft_code , ad.model , sum(case
- 53. Операторы объединения запросов UNION возвращает все строки из обоих операторов SELECT; повторяющиеся значения удаляются. UNION ALL
- 54. Пример объединения UNION, UNION ALL aircrafts2 select model from aircrafts1 union select model from aircrafts2 order
- 55. Операторы соединения MINUS, INTERSECT select model from aircrafts1 intersect select model from aircrafts2 aircrafts2 aircrafts1 select
- 56. Оператор CROSS JOIN (декартово произведение) Оператор SQL CROSS JOIN формирует таблицу перекрестным соединением (декартовым произведением) двух
- 57. Оператор INNER JOIN (внутреннее соединение) Оператор INNER JOIN соединяет две таблицы. Порядок таблиц для оператора неважен.
- 58. Оператор LEFT OUTER JOIN (левое внешнее соединение) 2. Затем, в результат добавляются записи левой таблицы не
- 59. Оператор RIGHT OUTER JOIN (правое внешнее соединения) Порядок таблиц для оператора важен 2. Затем, в результат
- 60. Оператор FULL OUTER JOIN (полное внешнее соединение) SELECT * FROM city c FULL OUTER JOIN person
- 61. Вывести все перелеты по билету номер 0005432661915 select to_char(f.date_departure, 'dd.mm.yyyy') date_departure , a.city||' ('||a.airport_code||')' departure ,
- 62. SAMPLE – выборка случайных строк из таблицы SAMPLE (процент) [ SEED (значение) ] Процент может принимать
- 63. Выборка N первых записей. Выбрать 10 самых дорогих рейсов Способ 1. С помощью конструкции "SELECT FROM
- 64. fetch first 10 rows with ties (если надо вернуть все записи с одинаковым значением) select t.ticket_no,
- 65. Запросы модификации и определения данных
- 66. Операции модификации данных (DML) INSERT Для модификации данных используются три оператора: INSERT, DELETE и UPDATE. Оператор
- 67. Операции модификации данных (DML) DELETE Удаление строк из таблицы БД осуществляется с помощью оператора DELETE (удалить):
- 68. Операции модификации данных (DML) UPDATE Обновление значения одного или нескольких столбцов в выбранных строках одной таблицы
- 69. Операции определения данных (DDL) Команды DDL: CREATE – создает объект БД; ALTER – изменяет определение существующего
- 70. CREATE TABLE – оператор позволяет создавать и определять таблицу CREATE TABLE table_name ( column1 datatype [
- 71. Создания таблицы AIRPORTS_DATA CREATE TABLE AIRPORTS_DATA ( AIRCRAFT_CODE CHAR(3) NOT NULL ENABLE, RANGE NUMBER(10,0) NOT NULL
- 72. ALTER TABLE – оператор который позволяет добавить, изменить, удалить, переименовать столбец или переименовать таблицу Добавить столбец
- 73. DROP TABLE – оператор позволяет очистить или удалить таблицу из БД DROP TABLE [schema_name].table_name [ CASCADE
- 74. Представления, привилегии, хранимые процедуры
- 75. VIEW - представление Представление – представляет собой виртуальную таблицу, которая физически не существует. Она создается с
- 76. Представления Модификация данных через представления Представление модифицируемое, если относительно него можно использовать все три команды –
- 77. Привилегии. Директивы GRANT и REVOKE GRANT (допуск) REVOKE (отмена) Привилегии для таблиц и представлений: SELECT –
- 78. Привилегии. Синтаксис GRANT GRANT {SELECT|INSERT|DELETE|(UPDATE столбец, …)},… ON таблица ТО {пользователь | PUBLIC} [WITH GRANT OPTION]
- 79. Привилегии. Синтаксис REVOKE REVOKE {{SELECT | INSERT | DELETE | UPDATE},…|ALL PRIVILEGES} ON таблица,… FROM {пользователь
- 80. Хранимые процедуры Хранимая процедура (Stored Procedure, SP) – набор заранее скомпилированных операторов SQL и операторов управления
- 81. Аналитические функции Применяются для подсчета промежуточных итогов, процентов по группе, среднего, ранжирование запросов и т.д. ИМЯ_ФУНКЦИИ(
- 82. Вывести все бронирования за август 2017, показать общую сумму и количество по дню select to_char(b.book_date,'dd.mm.yyyy') dates
- 83. Транзакции (Неделимая последовательность) Транзакцией в SQL называется логически неделимая последовательность операторов, рассматриваемая как единое целое. Результаты
- 84. Древовидный запрос(предложение CONNECT BY) Древовидным запросом называется запрос, в котором присутствует предложение CONNECT BY, предназначенное для
- 85. Задание 1 (ответы см. в заметках к слайду) Вывести список самолетов с кодами 320, 321, 733;
- 86. Задание 2 (ответы см. в заметках к слайду) Найти максимальную и минимальную сумму бронирования в 2017
- 87. Задание 3 (ответы см. в заметках к слайду) Что такое dual, between, in, like. Чем отличается
- 88. Задание 4. Вложенные и коррелируемые подзапросы, exists, any, all ( ответы см. в заметках к слайду)
- 89. Задание 5 (case, decode, union, union all, intersect, minus, cte) Получить информацию по аэропортам. Если аэропорт
- 90. Задание 6 (create table, drop table, insert, update, delete, grant, revoke) Создать таблицу с именем table*
- 92. Скачать презентацию