База данных. MySQL (Занятие 10)

Содержание

Слайд 2

SQL - structured query language - «язык структурированных запросов»
SQL - это стандартный

SQL - structured query language - «язык структурированных запросов» SQL - это
язык доступа и управления базами данных (БД)
Структурированный язык запросов - это стандартный язык доступа к БД, таким как SQL Server, Oracle, MySQL, Sybase и Access.
Программная инструкция для получения данных из БД, называется запросом к базе данных.

Основы MySQL

it-courses.by

Слайд 3

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

Сервер приложений предоставляет возможность использовать такие ресурсы сервера, как базы данных. Например,
динамическая страница содержит запрос к БД. Выполнив этот запрос, сервер получит данные из базы, и поместит их в HTML-код страницы
Если хранить данные в БД, то оформление сайта и конкретные данные будут разделены. Вместо того, чтобы создавать все страницы в виде отдельных HTML-файлов, пишутся только шаблоны. Таким образом можно обновить информацию в одном источнике и продублировать это изменение на всем веб-сайте без редактирования каждой страницы вручную.

Основы MySQL

it-courses.by

Слайд 4

Сервер приложений не может непосредственно получить данные из БД, поскольку они используют

Сервер приложений не может непосредственно получить данные из БД, поскольку они используют
специфические форматы хранения данных. Попытка получить их похожа на попытку открыть документ Microsoft Word с помощью текстового редактора Notepad. Поэтому для подключения к БД сервер приложений использует посредника - драйвер базы данных.
Драйвер базы данных - программный модуль, с помощью которого устанавливается взаимодействие между сервером приложений и базой данных

Основы MySQL

it-courses.by

Слайд 5

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

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

Основы MySQL

it-courses.by

Слайд 6

SELECT - извлекает данные из таблицы БД
UPDATE - обновляет данные в таблице

SELECT - извлекает данные из таблицы БД UPDATE - обновляет данные в
БД
DELETE - уничтожает данные в таблице БД
INSERT INTO- вставляет новые данные в таблицу БД

Основные MySQL запросы

it-courses.by

Слайд 7

Пример запроса

it-courses.by

Persons

SELECT LastName FROM Persons;

Пример запроса it-courses.by Persons SELECT LastName FROM Persons;

Слайд 8

Основные команды. Select

it-courses.by

SELECT * FROM Customers;

SELECT CustomerName, City FROM Customers;

Основные команды. Select it-courses.by SELECT * FROM Customers; SELECT CustomerName, City FROM Customers;

Слайд 9

Выбор всех столбцов (SELECT *)

it-courses.by

SELECT * FROM Customers;

Выбор всех столбцов (SELECT *) it-courses.by SELECT * FROM Customers;

Слайд 10

Основные команды (conditions)

it-courses.by

Основные команды (conditions) it-courses.by

Слайд 11

Подстановочные. Wildcards

it-courses.by

Подстановочные. Wildcards it-courses.by

Слайд 12

Условия поиска

it-courses.by

Сравнение.
Диапазон.
Роли уровня базы данных.
Соответствие шаблону.
Пустое значение.

Условия поиска it-courses.by Сравнение. Диапазон. Роли уровня базы данных. Соответствие шаблону. Пустое значение.

Слайд 13

Сравнительный Тест (=, <>, <, <=, >, >=)

it-courses.by

Сравнительный Тест (=, , , >=) it-courses.by

Слайд 14

Сравнительный Тест (=, <>, <, <=, >, >=)

it-courses.by

SELECT * FROM Customers WHERE

Сравнительный Тест (=, , , >=) it-courses.by SELECT * FROM Customers WHERE
PostalCode = 44000 Limit 5;

Слайд 15

Основные команды. Where

it-courses.by

SELECT * FROM Customers WHERE Country = 'Mexico';

Основные команды. Where it-courses.by SELECT * FROM Customers WHERE Country = 'Mexico';

Слайд 16

Примеры запроса

it-courses.by

Примеры запроса it-courses.by

Слайд 17

Основные команды. And & Or

it-courses.by

SELECT * FROM Customers WHERE Country = 'Germany‘ AND

Основные команды. And & Or it-courses.by SELECT * FROM Customers WHERE Country
City = 'Berlin';

Слайд 18

Составные условия поиска (AND, OR, and NOT)

it-courses.by

Составные условия поиска (AND, OR, and NOT) it-courses.by

Слайд 19

Составные условия поиска (AND, OR, and NOT)

it-courses.by
SELECT * FROM Customers where Country

Составные условия поиска (AND, OR, and NOT) it-courses.by SELECT * FROM Customers
= 'Sweden' or Country = 'Germany' limit 6;
SELECT * FROM Customers where Country = 'Sweden' and Country = 'Germany' limit 6;

Слайд 20

Основные команды. And & Or

it-courses.by

SELECT * FROM Customers WHERE City = 'Berlin‘ OR

Основные команды. And & Or it-courses.by SELECT * FROM Customers WHERE City
City = ‘London';

Слайд 21

Основные команды. And & Or

it-courses.by

SELECT * FROM Customers WHERE Country = ‘Mexico' AND (City

Основные команды. And & Or it-courses.by SELECT * FROM Customers WHERE Country
= ‘Mexico' OR City = ‘Hanalulu');

Слайд 22

Основные команды. Order by

it-courses.by

The ORDER BY keyword is used to sort the

Основные команды. Order by it-courses.by The ORDER BY keyword is used to
result-set by one or more columns, it’s ascending by default. If you want descending order use DESC keyword.
SELECT * FROM Customers ORDER BY Country DESC;
.........

Слайд 23

Сортировка результатов запроса

it-courses.by

Сортировка результатов запроса it-courses.by

Слайд 24

Сортировка результатов запроса

it-courses.by

SELECT Distinct Country FROM Customers order by Country limit

Сортировка результатов запроса it-courses.by SELECT Distinct Country FROM Customers order by Country
6;
SELECT Distinct Country FROM Customers order by Country desc limit 5;

Слайд 25

Основные команды. Insert into

it-courses.by

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES

Основные команды. Insert into it-courses.by INSERT INTO Customers (CustomerName, ContactName, Address, City,
('Cardinal‘ ,'Tom Erichsen‘ ,'Skagen 21','Stavanger','4006','Norway');

Слайд 26

Основные команды. Update

it-courses.by

UPDATE Customers SET ContactName = 'Alfred Schmidt', City = 'Hamburg' WHERE CustomerName

Основные команды. Update it-courses.by UPDATE Customers SET ContactName = 'Alfred Schmidt', City
= 'Alfreds Futterkiste';
If you skip the WHERE clause all rows would be updated!

Alfred Schmidt

Hamburg

Слайд 27

Основные команды. Delete

it-courses.by

DELETE FROM Customers WHERE CustomerName = 'Alfreds Fkiste';

DELETE FROM Customers; All rows

Основные команды. Delete it-courses.by DELETE FROM Customers WHERE CustomerName = 'Alfreds Fkiste';
will be deleted!

Слайд 28

Основные команды. Wildcards

it-courses.by

SELECT * FROM Customers WHERE City LIKE 'ber%';
SELECT * FROM Customers WHERE

Основные команды. Wildcards it-courses.by SELECT * FROM Customers WHERE City LIKE 'ber%';
City LIKE '_erlin';

SELECT * FROM Customers WHERE City LIKE '[bsp]%';

Слайд 29

Тестирование Диапазона (BETWEEN)

it-courses.by

Тестирование Диапазона (BETWEEN) it-courses.by

Слайд 30

Основные команды. Between

it-courses.by

SELECT * FROM Products WHERE Price BETWEEN 10 AND 20;
SELECT

Основные команды. Between it-courses.by SELECT * FROM Products WHERE Price BETWEEN 10
* FROM Products WHERE ProductName BETWEEN 'C' AND 'M';

Слайд 31

Тестирование Диапазона (BETWEEN)

it-courses.by

SELECT * FROM Customers WHERE PostalCode BETWEEN 44000 and 78000

Тестирование Диапазона (BETWEEN) it-courses.by SELECT * FROM Customers WHERE PostalCode BETWEEN 44000 and 78000 limit 5;
limit 5;

Слайд 32

Тестирование соответствия шаблону (LIKE)

it-courses.by

Шаблоны знаков:
% - заменяет ноль или более символов;
_ -

Тестирование соответствия шаблону (LIKE) it-courses.by Шаблоны знаков: % - заменяет ноль или
заменяет один символ;
[charlist] - устанавливает диапазоны символов для соответствия;
[^ charlist] или [! charlist] - устанавливает соответствие только символу, не указанному в скобках.

Слайд 33

Тестирование соответствия шаблону (LIKE)

it-courses.by

SELECT * FROM Customers WHERE PostalCode LIKE '440%' limit

Тестирование соответствия шаблону (LIKE) it-courses.by SELECT * FROM Customers WHERE PostalCode LIKE '440%' limit 5;
5;

Слайд 34

Недостающие данные (нулевые значения)

it-courses.by

Недостающие данные (нулевые значения) it-courses.by

Слайд 35

Тестирование нулевого значения

it-courses.by

Тестирование нулевого значения it-courses.by

Слайд 36

Тестирование нулевого значения

it-courses.by
SELECT * FROM employees where building is null;

Тестирование нулевого значения it-courses.by SELECT * FROM employees where building is null;

Слайд 37

Тестирование роли уровня базы данных (IN)

it-courses.by

Тестирование роли уровня базы данных (IN) it-courses.by

Слайд 38

Тестирование роли уровня базы данных (IN)

it-courses.by

SELECT * FROM Customers WHERE PostalCode IN

Тестирование роли уровня базы данных (IN) it-courses.by SELECT * FROM Customers WHERE
(12209, 44000, 78000) limit 5;

Слайд 39

Основные команды. Distinct

it-courses.by

Distinct – команда для вывода уникальных имен (без повторов)
SELECT distinct

Основные команды. Distinct it-courses.by Distinct – команда для вывода уникальных имен (без
Country FROM Customers

Слайд 40

Повторяющиеся строки (DISTINCT)

it-courses.by

Повторяющиеся строки (DISTINCT) it-courses.by

Слайд 41

Повторяющиеся строки (DISTINCT)

it-courses.by

SELECT City FROM Customers limit 4;

SELECT distinct City FROM Customers

Повторяющиеся строки (DISTINCT) it-courses.by SELECT City FROM Customers limit 4; SELECT distinct
limit 4;

Слайд 42

Основные команды. Drop

it-courses.by

Таблицы и базы данных можно удалить с помощью этой команды. DROP

Основные команды. Drop it-courses.by Таблицы и базы данных можно удалить с помощью
statement.
DROP TABLE table_name;
DROP DATABASE database_name;

Слайд 43

SQL JOIN
Выбирает значения из нескольких таблиц одновременно.
Наиболее часто используемых 4:
Inner Join
Left join
Right

SQL JOIN Выбирает значения из нескольких таблиц одновременно. Наиболее часто используемых 4:
Join
Full Outer Join

Комплексные Select

Слайд 44

Объединения (JOINS)

it-courses.by

Объединения (JOINS) it-courses.by

Слайд 45

JOIN это горизонтальное объединение

it-courses.by

JOIN это горизонтальное объединение it-courses.by

Слайд 46

SQL INNER JOIN – Вернет все записи из всех таблиц, где есть

SQL INNER JOIN – Вернет все записи из всех таблиц, где есть
пересечение.
SELECT Product.ProductID, Orders.Quantity, Orders.OrderDate FROM Orders INNER JOIN Product ON Product.ProductID=Orders.OrderID;

Комплексные Select

Слайд 47

SQL FULL OUTER JOIN – Вернет все записи из обеих таблицы совместив

SQL FULL OUTER JOIN – Вернет все записи из обеих таблицы совместив
записи, где есть пересечение.
SELECT Product.ProductID, Orders.Quantity, Orders.OrderDate FROM Orders FULL OUTER JOIN Product ON Product.ProductID=Orders.OrderID;

Комплексные Select

Слайд 48

Внутреннее vs Левое Объединение

it-courses.by

Внутреннее vs Левое Объединение it-courses.by

Слайд 49

SQL LEFT JOIN – Вернет все записи из левой таблицы и записи

SQL LEFT JOIN – Вернет все записи из левой таблицы и записи
из правой, где есть пересечение.
SELECT Product.ProductID, Orders.Quantity, Orders.OrderDate FROM Orders LEFT JOIN Product ON Product.ProductID=Orders.OrderID;

Комплексные Select

Слайд 50

SQL RIGHT JOIN – Вернет все записи из правой таблицы и записи

SQL RIGHT JOIN – Вернет все записи из правой таблицы и записи
из левой, где есть пересечение.
SELECT Product.ProductID, Orders.Quantity, Orders.OrderDate FROM Orders RIGHT JOIN Product ON Product.ProductID=Orders.OrderID;

Комплексные Select

Слайд 51

Объединение

it-courses.by

Объединение it-courses.by

Слайд 52

Нормализация баз данных

it-courses.by

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

Нормализация баз данных it-courses.by это процесс организации данных в базе данных, включающий
и установление отношений между ними в соответствии с правилами, которые обеспечивают защиту данных и делают базу данных более гибкой, устраняя избыточность и несогласованные зависимости.

Слайд 53

Денормализация

it-courses.by

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

Денормализация it-courses.by Улучшение производительности сложных запросов, которые выполняются долго за счет добавления
данных;
Упрощение выполнения запросов на клиенте (вплоть до 1-й таблицы) ;
Улучшение эффективности работы клиента с базой;
Упрощает структуру для конечного пользователя.

Слайд 54

Реляционная база данных

it-courses.by

Доступ и изменение данных в реляционной базе данных осуществляется при

Реляционная база данных it-courses.by Доступ и изменение данных в реляционной базе данных
помощи выполнения команд на структурированном языке запросов (SQL).

Слайд 55

SQL как средство общения с СУБД

it-courses.by

SQL как средство общения с СУБД it-courses.by

Слайд 56

Структура

it-courses.by

Структура it-courses.by

Слайд 57

Запросы

it-courses.by

Запросы it-courses.by

Слайд 58

Названия таблиц

it-courses.by

Названия таблиц it-courses.by

Слайд 59

Названия колонок

it-courses.by

Названия колонок it-courses.by

Слайд 60

Используйте любую интегрированную среду разработки (IDE) для работы с SQL

it-courses.by

Используйте любую интегрированную среду разработки (IDE) для работы с SQL it-courses.by

Слайд 61

Встроенные функции

it-courses.by

Агрегатные функции выполняют вычисление на наборе значений в столбце и возвращают

Встроенные функции it-courses.by Агрегатные функции выполняют вычисление на наборе значений в столбце
одиночное значение.
Скалярные функции SQL возвращают одно значение, основанное на входном значении.

Слайд 62

Встроенные функции

it-courses.by

Полезные агрегатные функции:
AVG() - Возвращает среднее значение
COUNT() - Возвращает количество

Встроенные функции it-courses.by Полезные агрегатные функции: AVG() - Возвращает среднее значение COUNT()
строк
MAX() - Возвращает наибольшее значение
MIN() - Возвращает наименьшее значение
SUM() - Возвращает сумму
Скалярные функции:
CHAR_LENGTH() - Возвращает длину текстового поля в символах.
ROUND() - Возвращает числовое значение, округленное до указанной длины или точности.
NOW() - Возвращает текущее время и дату.
FORMAT() - Форматирование для определенного отображения поля

Слайд 63

Агрегатные функции

it-courses.by
SELECT count(*) FROM Employees;

Агрегатные функции it-courses.by SELECT count(*) FROM Employees;

Слайд 64

Агрегатные функции (группировки и фильтрация)

it-courses.by

Агрегатные функции (группировки и фильтрация) it-courses.by

Слайд 65

Агрегатные функции (GROUP BY Clause)

it-courses.by

SELECT Country, count(Country) FROM Customers Group by Country;

Оператор

Агрегатные функции (GROUP BY Clause) it-courses.by SELECT Country, count(Country) FROM Customers Group
GROUP BY используется вместе с агрегатными функциями для группировки результата по признакам одного или более столбцов.

Слайд 66

Агрегатные функции (HAVING Clause)

it-courses.by

Оператор HAVING был добавлен в SQL потому, что оператор

Агрегатные функции (HAVING Clause) it-courses.by Оператор HAVING был добавлен в SQL потому,
WHERE не может быть использован вместе с агрегатной функцией.

SELECT Country, count(Country) FROM Customers Group by Country HAVING count(Country) > 8;

Имя файла: База-данных.-MySQL-(Занятие-10).pptx
Количество просмотров: 39
Количество скачиваний: 0