Вы находитесь на странице: 1из 50

БД

Что такое БД и СУБД


База данных (БД) — это организованная коллекция данных, которая хранится на компьютере или
сервере.
Система управления базой данных (СУБД) — это программное обеспечение, которое позволяет
управлять данными в БД.

База данных содержит информацию о различных объектах, таких как клиенты, товары, заказы и т.д. С
помощью СУБД можно создавать, изменять и удалять данные в БД. СУБД также предоставляет
возможность поиска и фильтрации данных в БД.

Основные различия между БД и СУБД заключаются в том, что БД является хранилищем данных, а СУБД
— инструментом для работы с этими данными.
СУБД – очень много
Почему СУБД, а не просто файлы?
Существует несколько механизмов, которые позволяют базам данных работать быстрее, чем обычные файлы:

1. Кэширование данных: при работе с базой данных данные могут кэшироваться в оперативной памяти компьютера
или сервера. Это позволяет ускорить доступ к данным и уменьшить время выполнения операций чтения и записи.
2. Использование индексов: индексы помогают быстро находить нужную информацию в базе данных. Они создаются
на основе часто используемых полей и позволяют быстро выполнять поиск и сортировку данных.
3. Оптимизация запросов: правильное написание запросов к базе данных может существенно ускорить ее работу.
Например, использование JOIN вместо подзапросов может значительно сократить время выполнения запроса.
4. Распределение данных: если база данных содержит большое количество данных, то их можно распределить по
нескольким серверам. Это позволяет увеличить скорость доступа к данным и улучшить производительность системы.
5. Механизм синхронизаций: позволяет гарантированно не потерять изменения базы данных
6. Использование метаданных: быстрее находить данные в БД за счет знания основной информации о ее структуре
7. Использование специализированных СУБД: некоторые задачи, например, обработка больших объемов данных или
работа с графическими изображениями, требуют использования специализированных СУБД, которые
оптимизированы для этих задач.
БД – это не только про таблицы
РБД и НРБД
Реляционные базы данных (РБД) и нереляционные базы данных (НБД) отличаются по следующим параметрам:

1. Структура данных: РБД используют табличную структуру данных, состоящую из строк и столбцов, а НБД используют различные структуры данных, такие как
документы, ключ-значение, графы и др.

2. Объем данных: РБД обычно используются для хранения больших объемов структурированных данных, таких как финансовые транзакции, учетные записи
клиентов и т.д. НБД обычно используются для хранения больших объемов неструктурированных данных, таких как логи серверов, сообщения в социальных
сетях и т.д.

3. Способы доступа к данным: РБД используют SQL-запросы для доступа к данным, а НБД используют различные способы доступа, такие как API, протоколы
HTTP и др.

4. Скорость работы: РБД обычно работают быстрее, чем НБД, благодаря использованию индексов и оптимизации запросов. Однако, НБД могут работать
быстрее в случае обработки больших объемов неструктурированных данных.

5. Гибкость: РБД обычно более гибкие в плане настройки и модификации структуры данных, чем НБД. Однако, НБД могут быть более гибкими в плане
обработки больших объемов неструктурированных данных.

6. Масштабируемость: РБД обычно легче масштабировать, чем НБД, благодаря использованию горизонтального масштабирования и репликации данных.

В целом, выбор между РБД и НБД зависит от конкретных потребностей проекта. Если требуется хранение структурированных данных и выполнение сложных
запросов, то лучше использовать РБД. Если же требуется хранение больших объемов неструктурированных данных и быстрое выполнение операций, то
Немного об архитектуре
1 звенная архитектура
Плюсы:
● Простота: однозвенная архитектура очень проста в понимании и реализации. Она состоит из одного
слоя, который выполняет все функции приложения. Это делает ее идеальной для небольших
приложений или проектов.

● Быстродействие: однозвенная архитектура позволяет достичь высокой скорости работы приложения


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

● Удобство: однозвенная архитектура легко масштабируется и поддерживается, так как все компоненты
находятся в одном месте. Это упрощает управление проектом и разработку новых функций.
Минусы:
● База данных хранится ТОЛЬКО на устройстве пользователя
● Уничтожен диск – уничтожено всё
● С БД может работать только 1 пользователь
2 звенная архитектура
Плюсы:
1. Возможность повторного использования кода: в двухзвенной архитектуре
код может быть повторно использован между различными компонентами
приложения. Это упрощает поддержку и развитие приложения.
2. Лучшая защита от ошибок: в случае возникновения ошибок в одном из
компонентов приложения, они могут быть обнаружены и исправлены до
того, как они повлияют на работу других компонентов.
3. Много юзеров
Минусы:
1. Медленность: взаимодействие между компонентами в двухзвенной
архитектуре может занимать больше времени, чем в однозвенной
архитектуре. Это может привести к ухудшению производительности
приложения.
2. Только одновременно 1 запись в БД
3. На клиенте вся бизнес-логика
3 звенная архитектура
Как общаться с
реляционным СУБД?
SQL — декларативный язык программирования,
применяемый для создания, модификации и
управления данными в реляционной базе данных,
управляемой соответствующей системой управления
базами данных
Как выглядят РБД?
Как выглядят РБД?
Алгоритм проектировки схемы базы данных
1. Определение сущностей: необходимо определить сущности, которые будут храниться в базе данных. Это могут быть
клиенты, товары, заказы и т.д.

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

3. Определение связей между сущностями: необходимо определить связи между сущностями, такие как один-ко-многим,
многие-ко-многим и т.д.

4. Определение первичных и уникальных ключей: необходимо определить первичные и уникальные ключи для каждой
сущности.

5. Определение ограничений целостности: необходимо определить ограничения целостности для каждой сущности, такие
как ограничения на значения атрибутов и связи между сущностями.

6. Создание таблиц: на основе определенных сущностей, атрибутов, связей и ограничений целостности необходимо создать
таблицы в базе данных.

7. Создание индексов: необходимо создать индексы для ускорения доступа к данным в базе данных.
Связи между таблицами
Один к одному
Один ко многим и многие к одному
Многие ко многим
Задание 1

Создать схему базы данных для небольшой компании с сотрудниками


Задание 2

Спроектировать базу данных для интернет-магазина видеоигр


Задание 3

Спроектировать базу данных для заправки


Задание 4

Спроектировать базу данных для концтоваров


Задание 5

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


Задание 6

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


SQL
Курс по SQL

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

https://metanit.com/sql/postgresql/2.3.php
Ограничения
● PRIMARY KEY
● UNIQUE
● NOT NULL
● DEFAULT val
● CHECK
Внешние ключи

https://metanit.com/sql/postgresql/2.5.php
Удаление таблиц
Добавление данных в таблицу
Обновление данных
Условия

● Логические операторы: AND, OR, NOT

● Операторы сравнения: >, <, =, !=

● Фильтрация: IN, BEETWEN, LIKE

● Другие: IS NULL
Удаление записей
SELECT – взять данные
SELECT взять определенные столбцы
SELECT выбор по условию
AND
OR
NOT <>

IS NULL

А также IN,
BEETWEN,
LIKE
Оператор IN
Оператор BEETWEN
Оператор LIKE
SELECT - Группировка
Агрегатные функции
Группировка HAVING
Подзапросы
INNER JOIN – соединяем таблицы
Outer JOIN
CROSS JOIN
UNION - Объединить (вертикально) таблицы
Домашнее задание

Вам также может понравиться