Базы данных – Что это такое и с чем их едят
Что такое “База данных”?
База данных (DataBase, DB, БД) – это хранилище, куда попадают данные с вашего приложения. Интернет магазины, сайты с авиабилетами, социальные сети, банковские приложения и так далее…
Клиент-серверная архитектура
Как она выглядит?
Самый простой пример – файл Excel
Набор таблиц с данными, хранящиеся в одном пространстве называются Реляционными БД.
Как получить информацию из БД?
Система Управления Базами Данных (СУБД) – это ПО для создания и работы с БД.
Главная функция СУБД – это управления данными.
SQL (Structured Query Language) – язык общения с базой данных.
Ключевые слова:
- Select (выбери мне такие колонки..)
- From (из такой-то таблицы базы..)
- Where (такую-то информацию..)
Пример 1:
ТЗ – Дай мне информацию по студенту, у которого ФИО = “Denis Scholokov”
На языке SQL – Select *
From Students
Where name = ‘Denis Scholokov;’
Дословный перевод нашего запроса:
Select – выбери мне
* – все колонки (можно указать конкретную, или показать все)
From Students – из таблицы Students
Where name = ‘Denis Scholokov’ – где name имеет значение Denis Scholokov
Пример 2:
Хочу увидеть информацию о всех участниках проекта Camp Product, их ФИО и роль на проекте.
| id_project | project (таблица project) | fio (таблица users) | project_role (таблица role) |
| 1 | Camp Product | Denis Scholokov | Product Owner |
| 1 | Camp Product | Yuliya Rudchenko | Student |
Как связать данные между собой?
1.В таблице “client” лежат данные по клиентам: ФИО, дата рождения и тд…
| last_name | first_name | birthdate | VIP |
| Иванов | Иван | 01.02.1977 | true |
| Петрова | Мария | 02.04.1989 | false |
| Сидоров | Павел | 03.02.1991 | false |
| Иванов | Вася | 04.04.1987 | false |
| Ромашкина | Алина | 16.11.2000 | true |
2.В таблице “orders” лежат данные по заказам. Что заказали, когда, насколько довольны заказом…
| order | addr | date | time |
| Пицца «Маргарита» | ул Ленина, д5 | 05.05.2020 | 06:00 |
| Роллы «Филадельфия» и «Канада» | Студеный пр-д, д 10 | 15.08.2020 | 10:15 |
| Пицца 35 см, роллы комбо 1 | Заревый, д10 | 08.09.2020 | 07:13 |
| Пицца с сосиками по краям | Турчанинов, 6 | 08.09.2020 | 08:00 |
| Комбо набор 3, обед №4 | Яблочная ул, 20 | 08.09.2020 | 08:30 |
Если всю информацию хранить в одной таблице, то:
- Легкость чтения пропадает
- Поиск начинает дольше работать
- Много дублей
Для связи таблиц между собой используют foreign key (внешний ключ).
Для того, чтоб эта связь была логичной мы используем Primary Key (первичный ключ).
Primary key не позволяет создавать одинаковых записей (строк) в таблице;
Что знать для собеседования?
- Что такое База Данных
- Что такое Primary Key
- Что такое Foreign Key
- Основные запросы: (join (outer, inner), select, insert, update, create, group by, having, distinct)
Тренажеры по SQL
http://www.sql-ex.ru/ — Бесплатный тренажер для практики
Ресурсы и инструменты для практики с базами данных | SQL
Задачка по SQL. Найти объединенные данные