I LOVE MYSQL
ДЛЯ НАЧАЛА
ПЛАН ПРОЕКТА
СОДЕРЖАНИЕ (ТУТ МОЖНО ТЫКНУТЬ)
ССЫЛКА И УСТАНОВКА
MySQL :: Download MySQL Installer
УСТАНОВКА
НАСТРОЙКА
НАСТРЙОКА
КОНЕЦ!
03
СЕРВЕРА
ДИАГРАММЫ
ДИАГРАММЫ
ДИАГРАММЫ
ДИАГРАММЫ
ДИАГРАММЫ
БАЗЫ ДАННЫХ
БАЗЫ ДАННЫХ
ПОЗДРАВЛЯЮ ВЫ ПРОШЛИ НУДЯТИНУ
SQL ДЛЯ САМЫХ МАЛЕНЬКИХ
ВАЖНО
ЧТО БУДЕТ?
СОЗДАНИЕ ТАБЛИЦ – CREATE TABLE
SQL – ЭТО ПРОСТО
SQL – ЭТО ПРОСТО
СТРУКТУРА CREATE TABLE
ЗАДАЧКИ
ЗАДАЧКИ
РЕШЕНИЕ
ТАК ВОТ КАКИЕ ОНИ, ПРОГРАММИСТЫ
3-Я НОРМАЛЬНАЯ ФОРМА И СВЯЗИ
SQL – ЭТО ПРОСТО
SQL – ЭТО ПРОСТО
СТРУКТУРА FOREIGN KEY
ПРИМЕР
ПРИМЕР
ЗАДАЧКИ
ЗАДАЧКИ
РЕШЕНИЕ
ЗАПОЛНЕНИЕ ТАБЛИЦ
SQL – ЭТО ПРОСТО
СТРУКТУРА INSERT INTO
СТРУКТУРА INSERT INTO
ЗАДАЧКИ
Запросы SELECT
ОТДЕЛЬНАЯ НО НЕ ЛИШНЯЯ ТЕОРИЯ
SQL – ЭТО ПРОСТО
СТРУКТУРА SELECT
СТРУКТУРА SELECT
DELETE/DROP
UPDATE
ФИЛЬТРЫ ЭТО КРУТО
ФИЛЬТРЫ ЭТО КРУТО
ОТДЕЛЬНАЯ НО НЕ ЛИШНЯЯ ТЕОРИЯ
ЗАПРОСЫ
АГРЕГАЦИИ И ГРУППИРОВКИ
АГРЕГАЦИИ И ГРУППИРОВКИ
СОРТИРОВКА
ОГРАНИЧЕНИЯ ВЫВОДА
ЗАДАЧКИ
ЗАДАЧКИ
ЗАДАЧКИ
ЗАДАЧКИ
ЗАДАЧКИ
SQL-PRO VERSION
ДИСКЛЕИМЕР
ПЛАН ИЗУЧЕНИЯ (КАК ДОЛЖНО БЫЛО БЫТЬ)
ПЛАН ИЗУЧЕНИЯ (КАК ЕСТЬ НА ДЕЛЕ)
ПРИНЦИП РАБОТЫ
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
А ТЕПЕРЬ ЗАПОЛНИ ТАБЛИЦЫ ЗАПИСАМИ (У МЕНЯ БУДУТ СВОИ ЗАПИСИ)
ХРАНИМАЯ ПРОЦЕДУРА – ЧТО ЭТО И С ЧЕМ ЕГО ЕДЯТ?
CALL имя_процедуры()
СТРУКТУРА FOREIGN KEY
ПРИМЕР 1
ПРИМЕР 2
ПРИМЕР 3
“Не запоминай то, что можно автоматизировать” Процедуры делают из тебя не раба базы, а её повелителя
ПРИМЕР 4
ПРИМЕР 5
ПРИМЕР 5
ПРИМЕР 6
ПРИМЕР 7
ПРИМЕР 8
А ТЕПЕРЬ ЧЁТКАЯ СТРУКТУРА ЛОГИКИ В СЛОЖНЫХ ПРОЦЕДУРАХ
ФУНКЦИЯ – ТОТ САМЫЙ СЫН МАМИНОЙ ПОДРУГИ ПРОЦЕДУРЫ
Структура создания функции
ПРИМЕР 1
ПРИМЕР 2
ТРИГГЕРЫ – ЭТО КАК ГОБЛИНЫ ВОРЮЩИЕ ПРАВЫЙ НОСОК
Структура триггеров
ПРИМЕР 1
ПРИМЕР 2
ПОЛЬЗОВАТЕЛИ И ИХ ПРАВА
CALL имя_процедуры()
СТРУКУТРА СОЗДАНИЯ ПОЛЬЗОЫВТЕЛЯ
СТРУКУТРА НАДЕЛЕНИЕ ПРАВАМИ
ВНИМАНИЕ!
CALL имя_процедуры()
СТРУКУТРА УДАЛЕНИЯ ПРАВ.ПОЛЬЗОВАТЕЛЙ
МОЛОДЕЦ!
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
НАСТРОЙКА СУБД
5.43M
Category: informaticsinformatics

I love mysql

1. I LOVE MYSQL

P100
WT-FAX 100
Wed 24 Oct
I LOVE
MYSQL
(ШАБЛОН Я БЛАГОПОЛУЧНО СП****Л)
14.09.4

2. ДЛЯ НАЧАЛА

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ДЛЯ НАЧАЛА
Правила обучения:
1)Не материться (мне можно)
2)Одновременно делать на практике, т.е. смотреть и повторять, а после повторять еще раз 10- 25 без
просмотра, НО ЕСЛИ ТУПИМ ТО СМОТРЕТЬ МОЖНО
3)Я не преподаватель потому жалоб не принимаю (мне не платят )
4) От этого сборника за день можно научиться понимать всю базу для сдачи ЭКЗАМЕНА (на 10 баллов )
5) Возможно (ТОЛЬКО ВОЗМОЖНО) в конце будет запись ролика (НО ЭТО НЕ ТОЧНО!!!!) – его нет
6) Здесь будет представлена вся база и кучу, прям очень много, прям до хр**а, практических сборников
7) Просто кайфовать от обучения и наслаждаться офигенным фоном и атмосферой с одновременным
получением интересных знаний
8) Чтобы уменьшить картинку в инструкции установки нажмите за пределами скрина
НАЗАД
ДАЛЬШЕ
P.100.1

3. ПЛАН ПРОЕКТА

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПЛАН ПРОЕКТА
УСТАНОВКА
01
НАВИГАЦИЯ
Если ты не установил среду
и не знаешь как то тыкай
сюды
БАЗА
03
MYSQL
ПО
SQL
02
ДЛЯ
MYSQL
Вся база по интерфейсу
MySQL
НАСТОЯЩИХ
ПРОФИ
Тут реально тяжело – скрипты,
04 процедуры, триггеры, C# и
жёсткие мозгоё**и
Запросы, создание,
заполнение, изменение –
короче работа с SQL
НАЗАД
ПО
ПОМОГИТЕ
ДАЛЬШЕ
P.100.2

4. СОДЕРЖАНИЕ (ТУТ МОЖНО ТЫКНУТЬ)

01
02
03
НАСТРЙОКА
НАФИГАЦИЯ
Тут всё просто, я оставлю
ссылочку и вы по ней
скачайте нужный файлик
Тут инструкция по
настройке, уверяю это
легче чем собрать шкаф
IKEA
Пройдёмся по базовым
аспектам интерфейса
04
05
06
ССЫЛКА И
УСТАНОВКА
НАЧАЛО
SQL
Начнём постигать низы, но
на расслабоне и кайфе
HELP
НАЗАД
SQL-PRO
VERSION
WPF-VISUAL
STUDIA C#
Тут будет тяжело, но не
бойтесь я вас научу
ЭТО УЖЕ НЕ НУЖНО
ТЫ УМНИЧКА
P.100.2

5. ССЫЛКА И УСТАНОВКА

01
ССЫЛКА И
УСТАНОВКА
Майнеров не обнаружено (но это не точно )
ДАЛЬШЕ
P.100.3

6. MySQL :: Download MySQL Installer

P100
WT-FAX 100
Wed 24 Oct
14.09.4
MySQL :: Download
MySQL Installer
СМОТРИ ВЫШЕ -ТАМ ССЫЛОЧКА, ТЫКНИ НА НЕЁ С
ЗАЖАТЫМ «CTRL» И УСТАНОВИ 2-УЮ ВЕРСИЮ
(На следующем окне предложат зарегистрироваться,
не надо, там внизу мелким шрифтом есть
возможность отказаться)
Theory lesson
НАЗАД
ДАЛЬШЕ
P.100.4

7. УСТАНОВКА

Молодец, ты умеешь работать со ссылками и
открывать файлы, а ведь есть люди, для
которых снимают видео, как это делать :З
Далее настройка, будет много текста, но и
картинок, для удобства и сохранению вас в
рассудке я раздели текстовую инструкцию и
графическую, перейти к которым можно по
кнопочкам ниже
НАЗАД
P.100.4

8. НАСТРОЙКА

P100
WT-FAX 100
02
Wed 24 Oct
14.09.4
НАСТРОЙКА
КАКОЙ ТАМ БЫЛ ПАРОЛЬ?
ДАЛЬШЕ
P.200

9. НАСТРЙОКА

P100
WT-FAX 100
Wed 24 Oct
14.09.4
НАСТРЙОКА
1)
2)
3)
4)
5)
Выбираем 3-ий пункт «FULL» и тыкаем 3 раза “NEXT”;
Начнётся установка (не переживай нечего не зависло), затем идём
дальше и переходим на следующею установку;
Всё оставляем как есть, нечего трогать не надо и тыкаем “NEXT”,
далее так же оставляем все как есть и идём дальше;
Откроется окно вашего “root” пользователя (самого главного),
напишите любой пароль, подтвердите его и запомните ( в бедующем
вы с ним будете работать всегда и много), после идём дальше до
талого и заканчиваем загрузку;
Осталось немного, далее просто тыкаем “next” до самого конца,
тыкаем, тыкаем, тыкаем и всё затыкали;
ПОЗДРАВЛЯЮ С УСТАНОВКОЙ СРЕДЫ
КАРТИНКИ
НАЗАД
ДАЛЬШЕ
P.100.5

10. КОНЕЦ!

А ТЫ ДУМАЛ БУДЕТ СЛОЖНО?
НАЗАД

11. 03

P100
WT-FAX 100
Wed 24 Oct
14.09.4
03
НАВИГАЦИЯ
ГДЕ ЖЕ ТУТ ЁБ***Я БАЗА ДАННЫХ?!
ДАЛЬШЕ
P.200

12. СЕРВЕРА

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СЕРВЕРА
Это начальный экран, тут ты выбираешь сервер для
работы (обычно он один, но я типа умный, у меня их
2), перед тобой есть сервер с именем «очень
длинным», там то мы и будем работать
НАЗАД
ДАЛЬШЕ

13. ДИАГРАММЫ

P100
WT-FAX 100
Wed 24 Oct
ДИАГРАММЫ
Слева в черной полоске есть другие вкладки
программы, нам интересна только 1-ая (сервера) и 2я (диаграммы), в них то мы и будем работать.
Перейдём в окно диаграмм и увидим пустоту, то что
выделенно это инструменты для создания
пространств диаграмм, т.е. сборник для хранение
одной и более диаграмму, если нажмём на плюсик то
создадим новый сборник и сразу перейдём в него
НАЗАД
ДАЛЬШЕ
14.09.4

14. ДИАГРАММЫ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ДИАГРАММЫ
После перехода в сборник у нас открывается новое
окно, здесь много чего, но всё что нам тут надо это
пустой файлик с именем add diagram, он создаст
пустую схему где мы сможем начать делать
диаграмму (совет от меня, если нет задания делать БД
скриптом или процедурой, то лучше делать через
диаграмму и после конвертировать схему в готовую
БД потом покажу как), нажмём на файлик и переедем
в рабочее пространство
НАЗАД
ДАЛЬШЕ

15. ДИАГРАММЫ

P100
WT-FAX 100
Wed 24 Oct
ДИАГРАММЫ
Слева сверху мини карта вашей схемы, на неё смотреть не
нужно она бессмысленна. Под ней структура вашей схемы, по
сути тоже не сильно важная вещь, но помогает
ориентироваться в схеме. Самое большая штуковина прямо у
вас перед глазами это чертеж или доска (называете как
хотите), слева от неё инструменты для работы со схемой. Из
такого кол-во инструментов вам нужно всего лишь 3 это:
1) Создание таблицы 7-я сверху, она как ни странно создаст
таблицу в месте где вы тыкните;
2) Связи 1 к М, 1 к 1. Это связи между таблицами, как уже
понятно они делают ту связь, что и их название (разница
между связами будет позже)
НАЗАД
ДАЛЬШЕ
14.09.4

16. ДИАГРАММЫ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ДИАГРАММЫ
Чтобы создать таблицу в схеме выберите инструмент
создания таблицы (КНОПКА КЛАВИАТУРЫ T) и
тыкните в любое место чертежа, создаться таблица.
Чтобы начать работать с ней нужно два раза нажать
на неё и снизу появится рабочее окно. Первая строка
“Table name” – название таблицы. Внизу идёт
создание атрибутов (столбцов) таблицы, выбор типа
данных и т.п. Чтобы создать атрибут так же тыкните
2 раза по строке слева под надписью «Column
name», справа под надписью Datatype выбирается
тип данных для атрибута. Новая строка – новый
атрибут
НАЗАД
ДАЛЬШЕ

17. ДИАГРАММЫ

P100
WT-FAX 100
Wed 24 Oct
ДИАГРАММЫ
Так же не мало важны параметры справа от атрибута, из них
нам нужны только 4, слева на право:
1) PK – первичный ключ, или же индекс. Предназначен для
приведения таблицы в 3-ю НФ(норм форма) и является
основой для связки таблиц
2) NN – not null или же «НЕ МОЖЕТ ПУСТОВАТЬ», значит
что атрибут обязательно должен быть заполнен и если при
заполнении таблицы данными этот атрибут пустеет, то
таблица не выполнит заполнение и останется пустой
3) UQ – unique index или же уникальное значение, т.е. то
что находится внутри этого атрибута не может более
повторяться в таблице
4) AI – auto increment или же автоматическое заполнение,
применяется только к PK для того чтобы при заполнении
таблицы не нужно было указывать ID или атрибута
НАЗАД
ДАЛЬШЕ
14.09.4

18.

НАЗАД
ДАЛЬШЕ
РАСЛАБЬ ГЛАЗКИ И
ДАВАЙ ОТДОХНЁМ ОТ
СУЕТЫ

19. БАЗЫ ДАННЫХ

P100
WT-FAX 100
Wed 24 Oct
БАЗЫ
ДАННЫХ
14.09.4
Вернёмся в главное окно (сервера) и перейдём в
сервер с длинным названием. Откроется окно, туда
надо ввести пароль который вы указывали при
установки/настройки MySQL. ВУАЛЯ, перед вами
основное окно для работы с БД, скриптами,
таблицами, процедурами и т.д. Чтобы увидеть список
БД надо перейти во вкладку под левым маленьким
окном с именем Schemas, откроется список всех БД
что есть на сервере
НАЗАД
ДАЛЬШЕ

20. БАЗЫ ДАННЫХ

P100
WT-FAX 100
Wed 24 Oct
БАЗЫ
ДАННЫХ
Здесь так же есть большая байда занимающая все
пространство. В этом окне пишутся все скрипты, процедуры и
т.д. Чтобы активировать написанный скрипт нужно нажать на
молнию сверху (без единички). Также сверху есть «вкладки»,
это такие же окна, но они могут содержать другие скрипты
или т.п. Чтобы создать новую вкладку нужно нажать на
файлик с надписью SQL слева сверху, после откроется пустая
вкладка
НАЗАД
ДАЛЬШЕ
14.09.4

21. ПОЗДРАВЛЯЮ ВЫ ПРОШЛИ НУДЯТИНУ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПОЗДРАВЛЯЮ ВЫ ПРОШЛИ НУДЯТИНУ
ПРИЗНАЙСЯ ЧТО ЭТО БЫЛО НУДНО И СКУЧНО) НО
ХОТЯБЫ ТЕПЕРЬ ТЫ ПОНИМАЕШЬ ЧТО, ГДЕ, КОГДА, А ЭТО
ОЧЕНЬ ВАЖНО, ВЕДЬ КАК МЫ БУДЕМ ОТДЫХАТЬ НА
ПРЕКРАСНЫХ ПЛЯЖАХ ЕСЛИ ДАЖЕ НЕ ЗНАЕМ КАК
ДОБРАТЬСЯ ДО НИХ :З
НАЗАД
P.100.5

22. SQL ДЛЯ САМЫХ МАЛЕНЬКИХ

ДА НАЧНЁТСЯ СРАЖЕНИЕ ЗА НАШУ ЖИЗНЬ
04
ДАЛЬШЕ

23. ВАЖНО

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ВАЖНО
ДЛЯ ПОЛНОГО ПОНИМАНИЯ ЛУЧШЕ
ВСЕГО ПИСАТЬ САМОМУ Т.Е. НЕ
СПИСЫВАТЬ, А ПИСАТЬ ОСОЗНАНО И
С УМНЫМ ВИДОМ. ТОЛЬКО ТАК ВЫ
ПОЙМЁТЕ КАК ВСЁ РАБОТАЕТ
НАЗАД
ДАЛЬШЕ
P.100.7

24. ЧТО БУДЕТ?

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЧТО БУДЕТ?
ТЕОРИЯ
ПРАКТИКА
Теории буду много, я постараюсь
объяснять максимально понятными
словами, если не понимаете то это скорее
всего из-за моего способа объяснения, а
не из-за вас, не переживайте (не
стесняйтесь использовать инет)
Я буду давать задание для выполнения,
после вашего решение вы можете
сравнить его с моим и даже его превзойти,
не надо списывать с готового решения это
вам же аукнется на экзамене, если будут
вопросы то задавайте мне в личку (но не с
00:00 по 9:00)
НАЗАД
ДАЛЬШЕ
P.100.6

25. СОЗДАНИЕ ТАБЛИЦ – CREATE TABLE

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СОЗДАНИЕ ТАБЛИЦ – CREATE TABLE
ТЕОРИЯ
СТРУКТУРА
ЗАДАНИЕ
ЖМЯК
ВЖУХ
ТРЯНК
ДАЛЬШЕ
P.200.1

26. SQL – ЭТО ПРОСТО

P100
WT-FAX 100
Wed 24 Oct
Функция create используется всегда когда нужно чтото создать, самое частое применение создание таблиц
(create table), пользователей (create user) и баз
данных (create database). Чаще всего (почти всегда)
в БД имеются таблицы для хранение в данных, при
создании таблицы обязательно нужно указывать: ИМЯстолбцы,
ТИП
ДАННЫХ-столбца,
столбца(необязательно)
и
ОГРАНИЧЕНИЕ-
ИНДЕКСАЦИЮ
(Primary
key)
SQL –
ЭТО
ПРОСТО
ДАЛЬШЕ
14.09.4

27. SQL – ЭТО ПРОСТО

P100
WT-FAX 100
Wed 24 Oct
Так
же
create
процедур(create
14.09.4
используют
procedure),
для
создания
триггеров
(create
trigger). Для экзамена вам в основном понадобится
именно эти команды.
SQL –
НАЗАД
ЭТО
ПРОСТО

28. СТРУКТУРА CREATE TABLE

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СТРУКТУРА CREATE TABLE
Как видно после название атрибута
(столбца) всегда указывается его тип
данных с ограничением (если есть), а
после него идет ограничение атрибута
(not null/null). Для небольших текстов
лучше
использовать
-
varchar(
максимальное кол-во символов), целых
чисел
-
int,
десятичных
дробей
-
decimal (число, кол-во чисел после
точки), для больших текстов - TEXT
Начало функции
Тело функции
Конец функции

29. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 1
СДЕЛАТЬ ТАБЛИЦУ КАК НА
КАРТИНКЕ
ЗАДАЧА
2
СДЕЛАТЬ ТАБЛИЦУ НА СВОЙ ВКУС И
ЦВЕТ
ДАЛЬШЕ
P.100.6

30. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧА 1
ЗАДАЧКИ
СДЕЛАТЬ ТАБЛИЦУ КАК НА КАРТИНКЕ
ЗАДАЧА
2
Чтобы создать таблицу нужна база
дынных. Для того чтобы создать БД нужно
написать «create database имя БД;», затем
перейти на эту БД «user имя БД;» ВУАЛЯ
РЕШЕНИЕ
НАЗАД
ДАЛЬШЕ
P.100.6

31. РЕШЕНИЕ

P100
WT-FAX 100
Wed 24 Oct
РЕШЕНИЕ
14.09.4

32. ТАК ВОТ КАКИЕ ОНИ, ПРОГРАММИСТЫ

ДАЛЬШЕ

33. 3-Я НОРМАЛЬНАЯ ФОРМА И СВЯЗИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
3-Я НОРМАЛЬНАЯ ФОРМА И СВЯЗИ
ТЕОРИЯ
ПРИМЕР
ЗАДАНИЕ
ЖМЯК
ВЖУХ
ТРЯНК
НАЗАД
ДАЛЬШЕ
P.200.1

34. SQL – ЭТО ПРОСТО

P100
WT-FAX 100
Wed 24 Oct
Всегда когда мы работаем с таблицами мы должны привезти их в 3-ю
норм форму. Что это такое? Это ГОСТ для таблиц. Таблицы должны быть:
1) Индексированы (Primary key) каждая строка должна иметь свой
первичный ключик
2) Не загромождённые –
то есть, если есть возможность данные
разделить на две и более таблиц, надо это сделать (например есть таблица
еды, еда имеет свой класс(фастфуд, растительная и т.д.), нужно создать еще
таблицу классов еды и занести туда название групп еды, а после ссылаться
на индекс таблицы классов еды)
SQL –
ЭТО
ПРОСТО
ДАЛЬШЕ
14.09.4

35. SQL – ЭТО ПРОСТО

P100
WT-FAX 100
Wed 24 Oct
14.09.4
3) Каждая строка под столбцом имеет одно значение
(например если в таблице есть перечисление моделей
BMW то каждая модель хранится в новой строке).
Так же таблицы должны иметь связи друг с другом, для
связки используют первичные ключи (они же индексы),
связи бывают 3-х типов: 1 к 1, 1 к М, М к М.
SQL –
НАЗАД
ЭТО
ПРОСТО
ДАЛЬШЕ

36. СТРУКТУРА FOREIGN KEY

P100
WT-FAX 100
Wed 24 Oct
СТРУКТУРА FOREIGN KEY
Пример создания внешнего
ключа.
Для
того
чтобы
связать таблицы связанная
таблица
должна
иметь
атрибут с таким же типом
данным что и первичный
ключ у связующей таблицы.
Функция
foreign
создаёт
связь
key
между
атрибутом 2-ой таблицы с
индексом 1-ой таблицы.
НАЗАД
14.09.4

37. ПРИМЕР

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР
НЕПРАВИЛЬНО
ПРАВИЛЬНО
14.09.4

38. ПРИМЕР

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР
НЕПРАВИЛЬНО
ПРАВИЛЬНО
14.09.4

39. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 1
ПРИВЕДИ ТАБЛИЦУ В 3 НФ
ЗАДАЧА
2
СОЗДАЙ СВОЮ ТАБЛИЦУ И
ПРВИЕДИ ЕЁ В 3 НФ
ДАЛЬШЕ
P.100.6

40. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧА 1
ЗАДАЧКИ
ПРИВЕСТИ ТАБЛИЦУ В 3 НФ
ЗАДАЧА
2
Связь 1 к М работает когда
одно значение принимает
много других, 1 к 1 одно
значение к одному (1 чел имеет
1 паспорт, 1 чел заказывает
МНОГО еды)
РЕШЕНИЕ
НАЗАД
ДАЛЬШЕ
P.100.6

41. РЕШЕНИЕ

P100
WT-FAX 100
Wed 24 Oct
РЕШЕНИЕ
14.09.4

42. ЗАПОЛНЕНИЕ ТАБЛИЦ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАПОЛНЕНИЕ ТАБЛИЦ
ТЕОРИЯ
СТРУКТУРА
ЗАДАНИЕ
ЖМЯК
ВЖУХ
ТРЯНК
НАЗАД
ДАЛЬШЕ
P.200.1

43. SQL – ЭТО ПРОСТО

P100
WT-FAX 100
Wed 24 Oct
База данных на то и база что
хранит в себе данные . Для того
чтобы заполнить базу данных
нужно
использовать
функцию
INSERT INTO.
SQL –
ЭТО
ПРОСТО
14.09.4

44. СТРУКТУРА INSERT INTO

P100
WT-FAX 100
Wed 24 Oct
СТРУКТУРА INSERT INTO
Если нужно заполнить одну запись то можно использовать структуру
сверху, почти все типы данных за исключением: чисел, булевых
значений и null пишутся в кавычках
ДАЛЬШЕ
14.09.4

45. СТРУКТУРА INSERT INTO

P100
WT-FAX 100
Wed 24 Oct
СТРУКТУРА INSERT INTO
Когда имеет место быть
большому
данных,
объёму
то
можно
использовать
такую
структуру заполнения
НАЗАД
14.09.4

46. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 1
ЗАПОЛНИ СОЗДАННУЮ ТОБОЙ
РАНЕЕ ТАБЛИЦУ
ЗАДАЧА
2
ВЫВЕДИ ТОЛЬКО ОДИН АТРИБУТ
ИЗ СВОЕЙ ТАБЛИЦЫ
P.100.6

47. Запросы SELECT

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Запросы SELECT
ТЕОРИЯ
СТРУКТУРА
ЖМЯК
ВЖУХ
НАЗАД
ДАЛЬШЕ
P.200.1

48. ОТДЕЛЬНАЯ НО НЕ ЛИШНЯЯ ТЕОРИЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ОТДЕЛЬНАЯ НО НЕ ЛИШНЯЯ ТЕОРИЯ
DROP/DELET
UPDATE
ФИЛЬТРАЦИЯ
ЖМЯК
ВЖУХ
ТРЯНК
Features of the topic
НАЗАД
>> tv.ORF
ДАЛЬШЕ
P.200.1

49. SQL – ЭТО ПРОСТО

P100
WT-FAX 100
Wed 24 Oct
По мимо заполнение БД данными, эти данные
нужно выводить для работы с ними. С этим нам
помогает функция SELECT, она имеет много
параметров например: group by, join, where,
order
by,
AS
и
т.д.
Большинство
этих
параметров относятся с сложным запросам (это
пока не наша тема)
SQL –
ЭТО
ПРОСТО
14.09.4

50. СТРУКТУРА SELECT

P100
WT-FAX 100
Wed 24 Oct
СТРУКТУРА SELECT
Если нам нужно вывести все данные из таблицы то после select
нужно поставить «*», если нужны определенные столбцы то их можно
перечислить через запятую
ДАЛЬШЕ
14.09.4

51. СТРУКТУРА SELECT

P100
WT-FAX 100
Wed 24 Oct
СТРУКТУРА SELECT
Бывает так что нам нужны более конкретные данные для вывода. С
этим помогает параметр where который создаёт дополнительную
фильтрацию вывода (например если нужно вывести данные о парней
20+ лет то пишем после where age_man > 20, где age_man
столбец с возрастом)
НАЗАД
14.09.4

52. DELETE/DROP

P100
WT-FAX 100
Wed 24 Oct
DELETE/DROP
Разница между drop и delete в
объекте
их
использования.
Drop
удаляет таблицу или БД, а delete
удаляет
данные
использовании
из
таблицы.
delete
При
обязательно
нужно писать условия WHERE иначе
удалится все в таблице
14.09.4

53. UPDATE

P100
WT-FAX 100
Wed 24 Oct
UPDATE
Эта функция нужна для обновление
данных
в
таблицах.
Её
можно
использовать с параметрами: WHERE,
and,
or
для
фильтрации.
Если
использовать функцию без фильтрации
то будут измены абсолютно все данные
в таблице
14.09.4

54. ФИЛЬТРЫ ЭТО КРУТО

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ФИЛЬТРЫ ЭТО КРУТО
Ну тут всё просто:
Фильтрация =
Так же имеются логические операторы:
выбираем только нужные строки из
AND – обе части должны совпадать
таблицы.
Or – одна из частей должна совпадать
Операторы
= - это равно
сравнения:
NOT – ну не должно совпадать 0_0
!= ( или <>)- это не равно
> - больше
Также есть поиск по шаблону – LIKE:
< - меньше
% - любое кол-во символов
>= - больше или равно
_ - один символ
<= - меньше или равно
Пример «%вич» все, что заканчивается
на «вич»
ДАЛЬШЕ

55. ФИЛЬТРЫ ЭТО КРУТО

P100
WT-FAX 100
Wed 24 Oct
ФИЛЬТРЫ ЭТО КРУТО
Поиск по шаблону
Логические операторы
НАЗАД
Поиск по диапазону
Список значений
14.09.4

56. ОТДЕЛЬНАЯ НО НЕ ЛИШНЯЯ ТЕОРИЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ОТДЕЛЬНАЯ НО НЕ ЛИШНЯЯ ТЕОРИЯ
Агрегации и
группировки
Сортировка
Ограничение
вывода
ЖМЯК
ВЖУХ
ТРЯНК
НАЗАД
ДАЛЬШЕ
P.200.1

57. ЗАПРОСЫ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАПРОСЫ
ЗАДАНИЯ
(МНОГО)
ТРЯНК
Features of the topic
НАЗАД
>> tv.ORF
P.200.1

58. АГРЕГАЦИИ И ГРУППИРОВКИ

P100
WT-FAX 100
Wed 24 Oct
АГРЕГАЦИИ И ГРУППИРОВКИ
Используются, чтобы подсчитывать,
суммировать
и
группировать
данные, параметры агрегации:
1) COUNT() – считает кол-во строк
2) Sum() – суммирует значение
3) AVG() – среднее значение
4) Max() – максимальное значение
5) Min() – минимальное значение
ДАЛЬШЕ
14.09.4

59. АГРЕГАЦИИ И ГРУППИРОВКИ

P100
WT-FAX 100
Wed 24 Oct
АГРЕГАЦИИ И ГРУППИРОВКИ
Группировки используется с
агрегациями, чтобы делать
подсчёты по группам.
НАЗАД
14.09.4

60. СОРТИРОВКА

P100
WT-FAX 100
Wed 24 Oct
СОРТИРОВКА
Параметр order by позволяет нам
использовать
так
же
методы
сортировки для удобного вывода
данных, например DESC что мы уже
ранее видели относится к таким
методам. Методы сортировки:
1) ASC – работает по умолчанию,
выводит записи от наименьшего к
наибольшему
значению
2) DESC – работает как ASC
только наоборот, с наибольшего к
наименьшему
3) Эти методы так же сортируют по
алфавиту (1-ОТ а ДО я, 2–ОТ я ДО а)
14.09.4

61. ОГРАНИЧЕНИЯ ВЫВОДА

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ОГРАНИЧЕНИЯ ВЫВОДА
Иногда нужно вывести не все
строки, а только часть — например,
первые 5 результатов или одну
строку с наибольшим значением.
DESC
это
параметр
который
позволяет выводить данные по
убыванию, т.е. если вывести 5
лучших студентов то они выведутся с
самого лучшего по не лучшего
Выведет только 3 строки
из таблицы
Выводит одну строку с
максимальной оценкой
(desc – по убыванию,
limit
1

только
первого)

62. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 1
ЗАДАЧА
СОЗДАИТЕ БАЗУ ДАННЫХ
«STUDENTS», ДОБАВЬТЕ В НЕЁ
ТАБЛИЦУ С АТРИБУТАМИ: СТУДЕНТ,
ПРЕДМЕТ, ОЦЕНКА.
Theory lesson
2
ЗАПОЛНИ ТАБЛИЦУ 5-Ю
ЗАПИСАМИ
>> tv.ORF
ДАЛЬШЕ
P.100.6

63. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 3
ВЫВЕДИ ВСЕХ СТУДЕНТОВ С
ОЦЕНКОЙ 3 ИЛИ 4
Theory lesson
НАЗАД
ЗАДАЧА
4
ОБНОВИ ОЦЕНКУ У ЛЮБОГО
СТУДЕНТА НА 5
ДАЛЬШЕ
P.100.6

64. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 5
ЗАДАЧА
ДОБАВЬ НОВЫЙ АТРИБУТ
(СТОЛБЕЦ) «ДАТА_СДАЧИ» В
ТАБЛИЦУ
УДАЛИ ИЗ ТАБЛИЦЫ СТУДЕНАТ С
МЕНЬШЕ 3
Theory lesson
НАЗАД
6
>> tv.ORF
ДАЛЬШЕ
P.100.6

65. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 7
ЗАДАЧА
ВЫВЕДИ ВСЕХ СТУДЕНТОВ И
ОТСОРТИРУЙ ПО АЛФАВИТУ
Theory lesson
НАЗАД
8
ПОСЧИТАТЬ СРЕДНИЙ БАЛ ПО ВСЕМ
ПРЕДМЕТАМ
>> tv.ORF
ДАЛЬШЕ
P.100.6

66. ЗАДАЧКИ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ЗАДАЧКИ
ЗАДАЧА 9
ЗАДАЧА
СОЗДАЙ ЕЩЕ ОДНУ ТАБЛИЦУ
«ПИРОЖКИ» И СВЯЖИ С ТАБЛИЦЕЙ
«СТУДЕНТЫ»
ПОКАЖИ ТОП-3 САМЫХ ВЫСОКИХ
ОЦЕНОК
Theory lesson
НАЗАД
10
>> tv.ORF
P.100.6

67. SQL-PRO VERSION

05
SQL-PRO
VERSION
Нафиг я сюда полез?
ДАЛЬШЕ

68. ДИСКЛЕИМЕР

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ДИСКЛЕИМЕР
Тема будет не легкая, но очень
важная. Здесь будем разбирать
сложные задачи
НАЗАД
>> tv.ORF
ДАЛЬШЕ
P.100.7

69. ПЛАН ИЗУЧЕНИЯ (КАК ДОЛЖНО БЫЛО БЫТЬ)

P100
WT-FAX 100
ПЛАН
ИЗУЧЕНИЯ
ХРАНИМЫЕ
ПРОЦЕДУРЫ
Wed 24 Oct
(КАК
ДОЛЖНО
ОБРАБОТКА
БЫЛО
14.09.4
БЫТЬ)
ОШИБОК
ПОЛЬЗОВАТЕЛИ
И ПРАВА
ТРИГГЕРЫ
КУРСОРЫ
ФУНКЦИИ
Practical exercise НАЗАД
ТРАНЗАКЦИИ
>> tv.ORF
ДАЛЬШЕ
P.400.2

70. ПЛАН ИЗУЧЕНИЯ (КАК ЕСТЬ НА ДЕЛЕ)

P100
WT-FAX 100
ПЛАН
Wed 24 Oct
ИЗУЧЕНИЯ
ХРАНИМЫЕ
ПРОЦЕДУРЫ
(КАК
ЕСТЬ
ОБРАБОТКА
НА
14.09.4
ДЕЛЕ)
ОШИБОК
ПОЛЬЗОВАТЕЛИ
И ПРАВА
ТРИГГЕРЫ
NUPE
ФУНКЦИИ
Practical exercise НАЗАД
NUPE
>> tv.ORF
ДАЛЬШЕ
P.400.2

71. ПРИНЦИП РАБОТЫ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПРИНЦИП РАБОТЫ
ТЕОРИЯ
Features of the topic
НАЗАД
МИНИ
ПРИМЕР
ОБЪЯСНЕНИЯ
(НАВЕРНО)
>> tv.ORF
ПРАКТИКА
ДАЛЬШЕ
P.200.2

72. СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
ДОБАВЬ ТАБЛИЦЫ
GUETUS
ROOMS
Таблицы гостей
Таблица комнат
BOOKINGS
PAYMENTS
Таблица бронирования
Таблица оплаты
НАЗАД
ДАЛЬШЕ
P.200.2

73. СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
ДОБАВЬ ТАБЛИЦЫ
GUETUS
ROOMS
BOOKINGS
Атрибуты:
Phone
Name
Lastname
Phone
PAYMENTS
email
Таблица бронирования
Таблица оплаты
Таблицы гостей
НАЗАД
Таблица комнат
P.200.2

74. СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
ДОБАВЬ ТАБЛИЦЫ
GUETUS
АТРИБУТЫ:
Таблицы гостей
NUMBER
TYPE
PRICE
AVAILABLE
(ТИП
ДАННЫХ
BOOKINGS
BOOLEAN)
Таблица бронирования
НАЗАД
ROOMS
Таблица комнат
PAYMENTS
Таблица оплаты
P.200.2

75. СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
ДОБАВЬ ТАБЛИЦЫ
GUETUS
Таблицы гостей
Таблица бронирования
BOOKINGS
НАЗАД
ROOMS
АТРИБУТЫ:
GUEST (FK)
Таблица
комнат
ROOM
(FK)
CHECK_IN
(DATE)
CHECK_OUT(
DATE)
PAYMENTS
Таблица оплаты
P.200.2

76. СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
СОЗДАЙ БАЗУ ДАННЫХ ДЛЯ ОТЕЛЯ
ДОБАВЬ ТАБЛИЦЫ
GUETUS
АТРИБУТЫ:
BOOKING(FK)
Таблицы гостей
AMOUNT(DECIMAL
(10,2))
PAYMENT_DATE
PEYMENT_METHOD
BOOKINGS
Таблица бронирования
НАЗАД
ROOMS
Таблица комнат
PAYMENTS
Таблица оплаты
P.200.2

77. А ТЕПЕРЬ ЗАПОЛНИ ТАБЛИЦЫ ЗАПИСАМИ (У МЕНЯ БУДУТ СВОИ ЗАПИСИ)

P100
WT-FAX 100
Wed 24 Oct
14.09.4
А ТЕПЕРЬ ЗАПОЛНИ
ТАБЛИЦЫ ЗАПИСАМИ
(У МЕНЯ БУДУТ СВОИ
ЗАПИСИ)
ДАВАЙ НЕ ЛЕНИСЬ ЗАПОЛНЯТЬ
НО ЕСЛИ ТАК ЛЕНЬ ТО ВОТ
КНОПКА ДЛЯ ЛЕНИВЫХ
НАЗАД
>> tv.ORF
ДАЛЬШЕ
P.200.3

78. ХРАНИМАЯ ПРОЦЕДУРА – ЧТО ЭТО И С ЧЕМ ЕГО ЕДЯТ?

ПРОЦЕДУРУ ЕСТЬ НЕ НАДО, ОНА ЭТОГО НЕ ЛЮБИТ
НАЗАД
ДАЛЬШЕ

79. CALL имя_процедуры()

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Хранимые процедуры (stored procedures) — это такие мини-программы внутри
базы данных. Они делают за тебя какую-то рутину, типа:
обновить данные
сделать выборку
расчёт провести
или, скажем, выписать всех гостей отеля, которые задолжали денег
Представь, что у тебя есть сотрудник, который каждый день вручную считает
выручку по бронированиям. Вместо этого ты говоришь базе: "Эй, сделай это за меня
автоматически, по моей команде". База такая: "Окей, босс!" — и ты больше не паришься.
Так вот, это и есть хранимая процедура — заранее подготовленный и сохранённый SQLскрипт, который можно вызвать одним словом:
CALL
НАЗАД
>> tv.ORF
имя_процедуры()
ДАЛЬШЕ
P.100.7

80. СТРУКТУРА FOREIGN KEY

P100
WT-FAX 100
Wed 24 Oct
СТРУКТУРА FOREIGN KEY
Что такое DELIMITER ?
Как правило SQL-команды разделяются «;»,
но внутри процедуры мы тоже используем «;».
Чтобы не убить код, мы временно меняем
разделитель на «//», а после возвращаем всё
обратно .
Это как сказать: «Эй, всё, что до «//» это одна
команда, тронешь её и я тебя в диспетчере
найду
НАЗАД
ДАЛЬШЕ
14.09.4

81. ПРИМЕР 1

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 1
Простая процедура без параметров
Создание новой процедуры
(без параметров)
Тело
процедуры
(выполняемый код)
Запрос на вывод всех гостей
Чтобы вызвать эту процедуру нужно просто написать
НАЗАД
ДАЛЬШЕ
14.09.4

82. ПРИМЕР 2

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 2
С ПАРАМЕТРАМИ (ВХОДНЫЕ ПАРАМЕТРЫ)
o
o
o
o
IN — обозначает входной параметр (мы
передаём значение внутрь процедуры)
Lastname, name, email, phone — имена
параметров
VARCHAR(100) — типы данных, как и в
таблице
INSERT INTO — обычная вставка
значений, только теперь не руками, а с
параметрами
вызов
НАЗАД
ДАЛЬШЕ
14.09.4

83. ПРИМЕР 3

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПРИМЕР 3
С ВЫЧИСЛЕНИЯМИ (АГРЕГАЦИЯ ВНУТРИ ПРОЦЕДУРЫ)
вызов
Никаких параметров – самое обычное
вычисление общей суммы платежей
SUM(AMOUNT)

суммирует
все
значение в атрибуте amount
AS
total_income

столбцу
который
будет
результате запроса
НАЗАД
ДАЛЬШЕ
даёт
название
выведен
в

84. “Не запоминай то, что можно автоматизировать” Процедуры делают из тебя не раба базы, а её повелителя

“Не запоминай
то, что можно
автоматизировать

Процедуры делают
из тебя не раба
базы, а её
повелителя
НАЗАД
ДАЛЬШЕ

85. ПРИМЕР 4

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 4
Процедура с IF —
проверка занятости номера
DECLARE – создание переменной внутри
процедуры
Сохраняем результат
Curdate() – сегодняшняя дата
подсчёта
в
переменную
вызов
Если нужная комната не входит в дату
запроса
между
атрибутами
check_in
и
Условная
то
переменная
нечего
не
логика
check_out
получает,
а
значит
работает
второе
условие где номер будет свободен
НАЗАД
ДАЛЬШЕ
14.09.4

86. ПРИМЕР 5

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 5
Процедура
c
CASE —
определение типа оплаты
CASE – грубо говоря кейс, который может
хранить в себе папки с данные, к которым
можно обращаться в любое время в коде
Используем его в SELECTE для того чтобы
после запихнуть этот кейс в атрибут.
вызов
НАЗАД
ДАЛЬШЕ
14.09.4

87. ПРИМЕР 5

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 5
Процедура
c
CASE —
определение типа оплаты
14.09.4

88. ПРИМЕР 6

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 6
OUT-параметр

вернуть значение наружу
Out …. – параметр который будет возвращать
значение
Сохраняет кол-во гостей в параметр для вывода
вызов
НАЗАД
ДАЛЬШЕ
14.09.4

89. ПРИМЕР 7

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПРИМЕР 7
WHILE
-
печатаем
ID
всех
гостей
до
определённого
Declare I … - переменная счётчик, она нужна
чтобы можно было закончить цикл while
Пока счётчик не дойдет до потолка делается select
Самый обычный инкремент
вызов
НАЗАД
ДАЛЬШЕ
значения

90. ПРИМЕР 8

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 8
Обработка
ошибок
Если есть ошибка то код не останавливается
Этот способ защищает вашу базу от
лишних удалений или указывает на
вашу ошибку, чтобы быстро можно
было действовать
НАЗАД
ДАЛЬШЕ
14.09.4

91. А ТЕПЕРЬ ЧЁТКАЯ СТРУКТУРА ЛОГИКИ В СЛОЖНЫХ ПРОЦЕДУРАХ

P100
WT-FAX 100
Wed 24 Oct
14.09.4
А ТЕПЕРЬ ЧЁТКАЯ СТРУКТУРА
ЛОГИКИ В СЛОЖНЫХ ПРОЦЕДУРАХ
По порядку:
1) Объявление параметра процедуры
2) Объявление переменных
3) Подготовка к работе с переменными
4) Сама суть процедуры (основной код)
НАЗАД
ДАЛЬШЕ

92. ФУНКЦИЯ – ТОТ САМЫЙ СЫН МАМИНОЙ ПОДРУГИ ПРОЦЕДУРЫ

ВРОДЕ КРУТОЙ, НО НА ДЕЛЕ ТАКОЙ СЕБЕ
НАЗАД
ДАЛЬШЕ

93.

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Функция — это мини-программа, которая возвращает одно значение
Ты можешь вызывать её в select, where, order byи даже внутри
другой функции или процедуры.
В чём разница от процедуры?
Процедура вызывается через call(), в то время как функция через select.
Процедура может возваращать много значений, в то время как функция
только одно
Функция подходит для вычислений, а процедура для работ с структурой и
т.п.
НАЗАД
>> tv.ORF
ДАЛЬШЕ
P.100.7

94. Структура создания функции

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Структура создания функции
Создание функции
Тип данных возвращаемого
функция всегда возвращает один и тот
значения
же результат для одинаковых входных
данных
финальный результат
НАЗАД
ДАЛЬШЕ

95. ПРИМЕР 1

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 1
Функция, которая считает цену с налогом (18%)
Вызываем
функцию
с
параметром
(деньга) и получаем сумму с налогом.
Эту функцию можно использовать в
любом запросе, например:
SELECT AddTax(price) FROM products;
НАЗАД
ДАЛЬШЕ
14.09.4

96. ПРИМЕР 2

P100
WT-FAX 100
Wed 24 Oct
ПРИМЕР 2
Функция для подсчёта количества дней между двумя датами
НАЗАД
ДАЛЬШЕ
14.09.4

97. ТРИГГЕРЫ – ЭТО КАК ГОБЛИНЫ ВОРЮЩИЕ ПРАВЫЙ НОСОК

ТЫ ЗНАЕШЬ ЧТО ОН ЕСТЬ, НО НИКОГДА ЕГО НЕ УВИДЕШЬ
НАЗАД
ДАЛЬШЕ

98.

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Trigger — это фрагмент кода, который выполняется автоматически, когда
происходит вставка (INSERT), обновление (UPDATE) или удаление (DELETE)
данных в определённой таблице.
Он не вызывается вручную, как процедура или функция — он сам срабатывает по
событию. Это как сигналка на машине: тронул — заорала.
Theory lesson
НАЗАД
>> tv.ORF
ДАЛЬШЕ
P.100.7

99. Структура триггеров

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Структура триггеров
Создание триггера
Срабатывает до или после
При
каком
срабатывает
НАЗАД
ДАЛЬШЕ
событий

100. ПРИМЕР 1

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПРИМЕР 1
Логируем удаление гостя
After delete – триггер сработает после удаление
OLD – позволяет получить доступ к удалённым
данным
NEW() – вносит текущие дату и время
НАЗАД
ДАЛЬШЕ

101. ПРИМЕР 2

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ПРИМЕР 2
Проверка, чтобы сумма платежа была больше нуля
BEFORE INSERT –триггер срабатывает
до внесения данных
New – данные, которые добавляются
Signal

выводит
ошибку
останавливает выполнение кода
НАЗАД
ДАЛЬШЕ
и

102. ПОЛЬЗОВАТЕЛИ И ИХ ПРАВА

ПОЛЬЗОВАТЕЛИ
НАЗАД
И ИХ ПРАВА
ДАЛЬШЕ

103. CALL имя_процедуры()

P100
WT-FAX 100
Wed 24 Oct
14.09.4
В MySQL можно создавать учётные записи (пользователей),
каждому назначать определённые права (на чтение, добавление,
удаление, обновление и т.д.) для конкретной базы или даже
отдельной таблицы.
Грубо говоря пользователи – это пользователи 0_0
CALL
Theory lesson
НАЗАД
>> tv.ORF
имя_процедуры()
ДАЛЬШЕ
P.100.7

104. СТРУКУТРА СОЗДАНИЯ ПОЛЬЗОЫВТЕЛЯ

P100
WT-FAX 100
СТРУКУТРА
Имя пользователя
Wed 24 Oct
СОЗДАНИЯ
ПОЛЬЗОЫВТЕЛЯ
Ip-пользователя
Пароль
(вам
пользователя
нужно
использовать
только localhost)
НАЗАД
14.09.4
ДАЛЬШЕ

105. СТРУКУТРА НАДЕЛЕНИЕ ПРАВАМИ

P100
WT-FAX 100
СТРУКУТРА
Какие права выдаются
Wed 24 Oct
НАДЕЛЕНИЕ
14.09.4
ПРАВАМИ
Имя пользователя
(all все права, create
права
на
создание,
права
update
Ip-пользователя
на
(вам
нужно
изменение, select права
использовать
на
только localhost)
просмотр,
права
insert
на
внесение
таблица
пишутся
данных)
БД
и
через
точку
«БД.ТАБЛИЦА». Если выдаёте права к
конкретному объекту то указываете БД и
сам объект. Если не важно какой объект то
можете использовать «*.*» это даст права
ко всей системе. * - значит всё
НАЗАД
ДАЛЬШЕ

106. ВНИМАНИЕ!

P100
WT-FAX 100
Wed 24 Oct
14.09.4
ВНИМАНИЕ!
( Because key words are great for catching your audience’s attention )
НАЗАД
ДАЛЬШЕ

107. CALL имя_процедуры()

P100
WT-FAX 100
Wed 24 Oct
14.09.4
Всегда после создания пользователя и наделением оправами вы
ОБЯЗАНЫ обносить базу привидений чтобы права начали действовать
CALL
Theory lesson
НАЗАД
>> tv.ORF
имя_процедуры()
ДАЛЬШЕ
P.100.7

108. СТРУКУТРА УДАЛЕНИЯ ПРАВ.ПОЛЬЗОВАТЕЛЙ

P100
WT-FAX 100
СТРУКУТРА
Wed 24 Oct
УДАЛЕНИЯ
ПРАВ.ПОЛЬЗОВАТЕЛЙ
Можно указывать
какие права вы
забираете
СОВЕТЫ
Всегда
создавай
отдельных
пользователей
для
разных ролей (бэкенд, админ, пользователь и т.д.
Не выдавай ALL PRIVILEGES без необходимости.
Храни пользователей и
их роли
в отдельном
документе или в README проекта
НАЗАД
14.09.4
ДАЛЬШЕ

109. МОЛОДЕЦ!

P100
WT-FAX 100
Wed 24 Oct
МОЛОДЕЦ!
Ты прошёл 5 кругов ада, ты умничка.
Думаю ты сможешь сдать экзамен
Как тебе эта работа?
CREDITS: This presentation template was created by Slidesgo,
including icons by Flaticon, and infographics & images by Freepik.
14.09.4

110. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
НАЗАД
14.09.4

111. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

112. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

113. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

114. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

115. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

116. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

117. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

118. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

119. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

120. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

121. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

122. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

123. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

124. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

125. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

126. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

127. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4

128. НАСТРОЙКА СУБД

P100
WT-FAX 100
Wed 24 Oct
НАСТРОЙКА СУБД
14.09.4
English     Русский Rules