Тестировщик ПО. Блок 7. Базы данных

1.

Курс
Тестировщик ПО
Блок7
Базы данных

2.

Структура:
• БД и СУБД
• Типы БД
• БД и СУБД
• SQL

3.

БД:
База данных - набор сведений, хранящихся некоторым упорядоченным способом.

4.

Виды БД
• Иерархическая
• Сетевая
• Реляционная

5.

Реляционные БД:
Реляционные БД - набор данных с предопределенными связями между ними.
Состоят из таблиц. Таблицы из строк и столбцов.
Свойства таблиц:
• В таблице не может быть 2 одинаковых столбцов
• Столбцы в определенном порядке
• В таблице может не быть ни одной строки, но хотя бы 1 столбец - обязательно!
• У каждого столбца уникальное имя
• Все значения в одном столбце могут иметь только 1 тип данных
• На пересечении столбца и строки может находиться только атомарное значение (только
одно)

6.

Реляционные БД:

7.

Реляционные БД:
Важно:
Primary Key (PK) – индивидуальный ключ таблицы, обязательное уникальное значение
Foreign Key (FK) – внешний ключ

8.

БД.Ключи:
первичный ключ
внешний ключ
простой и составной ключ
отношение, типы отношений
искусственный и естественный ключи
главная (master) и подчиненная (detail) таблицы

9.

БД.Нормализация:
1NF
Иванов, дизайнер, 15 кабинет
Фамилия
Должность
Отдел
Иванов
Дизайнер
Разработка
2NF
Отдел
Позиция
Зарплата
Наличие ПК
Разработка
Дизайнер
50000
Да
ОРК
Менеджер
70000
Да
Отдел
Позиция
Зарплата
Позиция
Наличие ПК
Разработка
Дизайнер
50000
Дизайнер
Да

10.

БД.Типы отношений:
Существует 4 основных типа отношений между таблицами:
• «один к одному». В этом случае каждой записи одной таблицы соответствует только одна
запись другой таблицы;
• «один ко многим». Это когда одной записи главной таблицы (master) соответствует несколько
записей подчиненной таблицы (detail). То есть, каждой записи, которая есть первичным
ключом одной таблицы, соответствует несколько записей связанной таблицы;
• «много к одному». Это когда нескольким записям главной таблицы отвечает одна запись
подчиненной таблицы;
• «много ко многим». Это когда в обоих таблицах существует несколько взаимосвязанных
записей.

11.

БД и СУБД:
База данных - набор сведений, хранящихся некоторым упорядоченным способом.
СУБД (система управления базами данных) - совокупность языковых и программных средств,
которые осуществляют доступ к данным, позволяют их создавать, редактировать, удалять и
обеспечивают их безопасность.
ВИДЫ СУБД
MySQL
PostgreSQL
MongoDB
MariaDB
Microsoft SQL Server

12.

SQL:
SQL (Structured Query Language) - формальный декларативный язык, применяемый для создания,
модификации и управления данными в произвольной реляционной БД.
Простые запросы:
SELECT
• Оператор SELECT используется для получения данных из одной или нескольких таблиц
• Самый простой вариант:
• SELECT * FROM products;
• Вытаскивает все строки и все столбцы
• Можно указать набор столбцов вручную:
• SELECT name, price FROM products

13.

SQL.SELECT:
• В SELECT указывать не обязательно имена столбцов, там могут быть любые выражения
• SELECT name, lastName, CONCAT(lastName, ‘ ’, name) AS fullName FROM people;
• Оператор AS задает алиас (псевдоним/alias) – в общем, дает полученному столбцу имя
• Также алиас можно использовать если мы хотим переименовать поля в результате запроса

14.

SQL.Order By:
• Результат запроса можно отсортировать
• Отсортировать по имени по возрастанию
• SELECT * FROM products ORDER BY name;
• Аналогично:
• SELECT * FROM products ORDER BY name ASC;
• Отсортировать по цене по убывания
• SELECT * FROM products ORDER BY price DESC
• Можно сортировать по нескольким столбцам, в любых направлениях • SELECT * FROM
products ORDER BY name ASC, price DESC;

15.

SQL.Order By:
• Результат запроса можно отсортировать
• Отсортировать по имени по возрастанию
• SELECT * FROM products ORDER BY name;
• Аналогично:
• SELECT * FROM products ORDER BY name ASC;
• Отсортировать по цене по убывания
• SELECT * FROM products ORDER BY price DESC
• Можно сортировать по нескольким столбцам, в любых направлениях
• SELECT * FROM products ORDER BY name ASC, price DESC;

16.

SQL.WHERE:
• Можно фильтровать строки
• SELECT * FROM products WHERE price > 100;
• Можно использовать вместе WHERE и ORDER BY
• У каждой части есть свое место в синтаксисе, менять порядок нельзя
• ORDER BY должен быть после WHERE
• SELECT * FROM products WHERE price > 100 ORDER BY price

17.

SQL:
Операторы сравнения
Логические связки
Сравнение с NULL
Оператор LIKE
Оператор BETWEEN
Операторы IN/NOT IN
GROUP BY
Агрегатные функции (MAX, MIN, COUNT, AVG, SUM)
HAVING

18.

SQL.JOIN:

19.

Практическое задание:
https://sql-academy.org/ru/trainer?sort=byId

20.

Домашка:
Задание 1
Решить как можно больше примеров
https://sql-academy.org/ru/trainer?sort=byId
Задание 2
Приведите примеры связей:
• 1к1
• 1 ко многим
• Многие ко многим

21.

Домашка:
Задание 2 (Join)
Сделайте БД из 2 таблиц - таблица заказов и таблица клиентов.
У клиента есть имя, у заказа – дата, id клиента и сумма.
Заполните эти таблицы данными.
И сделайте, чтобы у одного из клиентов не было заказов.
Выполните запрос, выводящий количество заказов каждого клиента. Для клиента без
заказов должен вывестись 0.
English     Русский Правила