01

Что такое база данных?

Основные понятия и определения

База данных (БД)

Организованная структура для хранения, управления и обработки данных.

СУБД

Система управления базами данных - программное обеспечение для работы с БД.

Аналогия

Представьте базу данных как умную библиотеку:

  • Книги = Таблицы
  • Страницы = Записи
  • Колонки = Поля
  • Каталог = Индексы

Безопасность

Контроль доступа к данным

Производительность

Быстрый поиск и обработка

Целостность

Сохранение связей данных

Многопользовательский

Одновременная работа

Пример таблицы "Студенты"

ID Имя Факультет Группа Средний балл
1 Иванов Иван Информатика ИВТ-101 4.5
2 Петрова Анна Математика М-202 4.8
3 Сидоров Алексей Физика Ф-303 4.2
02

Типы баз данных

Реляционные vs NoSQL

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

SQL
  • Данные в таблицах
  • Строгие схемы
  • SQL язык запросов
  • ACID транзакции

Примеры:

MySQL PostgreSQL SQLite Oracle

NoSQL БД

NoSQL
  • Гибкие схемы
  • Масштабируемость
  • Разные модели данных
  • Высокая скорость

Примеры:

MongoDB Redis Cassandra Neo4j

Сравнение

Критерий Реляционные NoSQL
Структура данных Таблицы и связи Документы, ключ-значение, графы
Масштабируемость Вертикальная Горизонтальная
Сложность запросов Сложные JOIN операции Проще, но менее гибко
Когда использовать Финансы, учет, ERP Big Data, IoT, соцсети

Модели NoSQL баз данных

Документные

MongoDB, CouchDB

Ключ-значение

Redis, DynamoDB

Колоночные

Cassandra, HBase

Графовые

Neo4j, ArangoDB

03

Основы SQL

Язык структурированных запросов

Что такое SQL?

SQL (Structured Query Language) - стандартный язык для работы с реляционными базами данных.

Разработан в 1970-х
Международный стандарт
Декларативный язык

Основные команды SQL

SELECT

DQL

Получение данных из таблицы

SELECT имя, фамилия 
FROM студенты
WHERE курс = 'Информатика';

INSERT

DML

Добавление новых записей

INSERT INTO студенты 
VALUES (1, 'Иван', 'Иванов');

UPDATE

DML

Изменение существующих записей

UPDATE студенты
SET оценка = 5
WHERE id = 1;

DELETE

DML

Удаление записей

DELETE FROM студенты
WHERE выпускник = true;

Попробуйте сами

Результат:

04

Связи между таблицами

Ключи и отношения

Типы ключей

Первичный ключ (PK)

Уникальный идентификатор записи

  • Не может быть NULL
  • Уникален в таблице
  • Один на таблицу

Внешний ключ (FK)

Ссылка на первичный ключ другой таблицы

  • Может быть NULL
  • Создает связь
  • Может быть несколько

Типы связей

A
1:1
B

Один к одному (1:1)

Каждой записи в таблице A соответствует не более одной записи в таблице B

Пример: Студент ↔ Паспорт

A
1:N
B

Один ко многим (1:N)

Одной записи в таблице A соответствует несколько записей в таблице B

Пример: Преподаватель ↔ Студенты

A
N:M
B

Многие ко многим (N:M)

Нескольким записям в таблице A соответствует несколько записей в таблице B

Пример: Студенты ↔ Курсы

JOIN операции

INNER JOIN

Возвращает только совпадающие записи

SELECT s.имя, c.название
FROM студенты s
INNER JOIN курсы c 
ON s.курс_id = c.id;
LEFT JOIN

Все записи из левой таблицы + совпадения из правой

SELECT s.имя, o.оценка
FROM студенты s
LEFT JOIN оценки o 
ON s.id = o.студент_id;
05

Практическое задание

Создайте таблицу "Студенты"

Задание:

0/5

Из предложенных ниже полей выберите 5 наиболее подходящих для таблицы "Студенты".

Подсказка: Подумайте, какая информация действительно нужна о студенте в университетской базе данных.

Таблица: студенты

0 полей 0/5 правильно
ID

Перетащите сюда поля из списка ниже

Доступные поля:

Что вы изучили:

Основы БД

Понимание структуры баз данных

SQL Запросы

Работа с данными через SQL

Связи данных

Ключи и отношения между таблицами

Проектирование

Создание структуры таблиц