Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Beginner's Guide to SQL and PostgreSQL
Highest Rated
Rating: 4.9 out of 5(211 ratings)
719 students

Beginner's Guide to SQL and PostgreSQL

PostgreSQL, Transaction, B-Tree, DWH, NoSQL, IntelliJ IDEA
Last updated 1/2023
Russian

What you'll learn

  • SQL, PostgreSQL

Course content

3 sections40 lectures8h 32m total length
  • Введение в базы данных10:15

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

    00:00 - Приветствие
    00:32 - Зачем и где используют базы данных
    03:09 - Внутреннее устройство СУБД
    05:45 - Книга PostgreSQL для начинающих
    06:00 - Резюме
    08:05 - Таблицы баз данных
    09:18 - Типы данных

  • Установка программного обеспечения6:57

    Для того, чтобы начать знакомиться с SQL и работой баз данных, нам необходимо установить необходимое программное обеспечение: саму выбранную СУБД и клиент для отправки SQL запросов к СУБД. Покажу все возможные варианты программного обеспечения, которые вы можете использовать у себя. В свою очередь, я буду использовать именно IntelliJ IDEA.

    00:00 - Введение
    00:38 - Скачивание СУБД PostgreSQL
    02:27 - Установка СУБД PostgreSQL
    03:31 - Клиенты для PostgreSQL
    06:03 - Плагин Database Navigator (не рекомендуется)

  • Подключение к базам данных7:36

    После того, как мы установили все необходимое программное обеспечение, настала пора научиться подключаться к базе данных из нашего клиента - IntelliJ IDEA. Смысл подключения в любых клиентах будет один и тот же, отличаться будет лишь визуальная часть: нужно указать хост, порт, пользователя, его пароль и название базы данных, к которой вы хотите подключиться. Подробно разберем каждую из составляющих.

    00:00 - Введение
    00:48 - Подключение к СУБД PostgreSQL
    01:51 - Поля host и port
    05:04 - Поля user, password и database

  • DDL & DML12:02

    Все запросы SQL разбиваются на два больших подраздела: DDL and DML. На занятии поговорим, какие запросы к каким разделам относятся и начнем с базовых операций по созданию базы данных и схем в них. Также попробуем выполнить операции удаления созданных структур.

    00:00 - Введение
    00:15 - DDL
    01:43 - DML
    03:05 - CREATE DATABASE
    05:30 - 3 схемы БД по умолчанию в PostgreSQL
    06:53 - pg_catalog и information_schema схемы БД
    08:20 - CREATE SCHEMA
    11:08 - DROP SCHEMA/DATABASE

  • Создание таблиц8:02

    Наконец-то мы дошли до создания таблиц, в которых мы можешь хранить свои данные для последующей обработки или выборки. Познакомимся с синтаксисом создания таблиц и основными типами данных в СУБД PostgreSQL.

    00:00 - Введение
    00:13 - CREATE TABLE
    03:26 - Как указать схему для таблицы
    04:35 - Комментарии в SQL скриптах
    05:15 - Типы данных в PostgreSQL
    07:50 - Резюме

  • Операция Insert. Constraints12:21

    На видео познакомимся с первой DML операцией, которая используется для вставки строк в таблицы - это Insert. Также затронем тему ограничений - Constraints. Разберем большинство из них и проверим на нашей созданной таблице company.

    00:00 - Введение
    00:26 - INSERT для вставки одной строки
    03:24 - INSERT для вставки нескольких строк
    05:12 - Ограничения (Constraints)
    05:56 - NOT NULL constraint
    06:40 - UNIQUE constraint
    07:05 - CHECK constraint
    08:02 - PRIMARY KEY и FOREIGN KEY constraints
    08:55 - Тестирование ограничений
    11:12 - Где можно создавать Constraints

  • Автогенерируемые идентификаторы10:41

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

    00:00 - Введение
    00:39 - Создание таблицы с PRIMARY KEY
    03:26 - INSERT в созданную таблицу
    04:33 - Тип данных SERIAL в PostgreSQL
    06:52 - Последовательности (Sequences)
    08:10 - PRIMARY KEY на не SERIAL поля
    09:22 - UNIQUE на составные поля

  • Создание запросов - SELECT. Сортировка выборки - ORDER BY11:02

    Вот мы и дошли до самого используемого DML оператора - SELECT, который используется для выборки данных. Определим основной синтаксис, как устанавливать псевдонимы для полей и таблиц (alias), как ограничивать выборку с помощью LIMIT и OFFSET, а также затронем тему сортировки выборки с помощью ключевого слова ORDER BY, потому что для правильного использования ограничения LIMIT/OFFSET необходимо обязательно сортировать множество.

    00:00 - Введение
    00:46 - SELECT операция
    02:13 - Alias (псевдонимы) для полей и таблиц
    04:29 - DISTINCT
    06:03 - LIMIT и OFFSET
    08:07 - ORDER BY (Сортировка)

  • Фильтрация выборки - WHERE9:33

    На самом деле реальные запросы очень редко выбирают данные из всей таблицы. Чаще всего необходимо данные отфильтровать, т.е. получить только часть от целого. Для этого и используется ключевое слово WHERE, про которое мы и поговорим более подробно в этом видео.

    00:00 - Введение
    00:26 - WHERE (фильтрация)
    02:21 - LIKE и ILIKE операторы
    04:33 - BETWEEN оператор
    05:15 - IN оператор
    06:00 - AND и OR операторы

  • Агрегирующие и встроенные функции8:41

    Очень часто на практике нужно что-то просуммировать, найти среднее или количество записей. Для этого в SQL есть 5 стандартных агрегирующих функций: sum - найти сумму элементов, min - найти минимальный элемент, max - найти максимальный, avg - средний и count - количество записей в выборке. Более того, каждая СУБД имеет свой набор встроенных функций на все случаи жизни. Например, в PostgreSQL их более 100. На видео разберем все эти функции и продемонстрируем, где все они лежат в СУБД.

    00:00 - Введение
    01:09 - Агрегирующие функции SUM, AVG, MAX, MIN, COUNT
    02:46 - INSERT строк через IntelliJ IDEA
    03:55 - Встроенные функции UPPER, LOWER, CONCAT
    05:01 - Конкaтенация строк в SQL
    05:25 - NOW() - текущее время
    05:40 - pg_catalog - содержит все функции
    07:10 - Как проверять функции через SELECT

  • Внешний ключ - FOREIGN KEY8:38

    На занятии разберем последний из пяти основных ограничений (constraint), который мы когда-то специально опустили ввиду его сложности по сравнению с остальными: внешний ключ (FOREIGN KEY). Узнаем, как он связан в принципе со связями между таблицами и как обезопашивает нас от вставки невалидных значений, которые по сути являются ссылками на первичные ключи других таблиц.

    00:00 - Введение
    00:44 - FOREIGN KEY (внешний ключ)
    03:04 - Второй вариант создания FOREIGN KEY
    05:26 - FOREIGN KEY не создает индексов
    06:16 - Тестирование FOREIGN KEY

  • Объединение запросов - UNION6:51

    На практике иногда есть необходимость объединять выборки из разных запросов в один общий запрос, и для этого используется ключевое слово UNION. К сожалению, с этим есть много ограничений, которые мы конечно же все разберем на видео.

    00:00 - Введение
    00:50 - IS NULL и NOT оператор
    01:56 - UNION ALL для объединения SELECT
    04:30 - UNION vs UNION ALL
    06:13 - Резюме

  • Подзапросы12:05

    Необходимо воспринимать SQL запрос как просто средство получения данных, т.е. в результате его выполнения у нас будет какой-то набор или множество каких-то данных. Следовательно, мы можем продолжить выбирать из этого набора данных с помощью других SQL запросов и т.д. Поэтому мы разберем с вами такое понятие как подзапрос и увидим, что его можно использовать практически где угодно в конструировании других SQL запросов через ключевое слово SELECT.

    00:00 - Введение
    00:58 - Подзапросы во FROM
    05:24 - Подзапросы в полях выборок
    07:48 - Подзапросы в условиях WHERE
    09:05 - Резюме

  • Удаление строк - DELETE9:18

    Естественно кроме добавления или получения данных в таблице мы иногда хотим и как-то удалить их оттуда. Для этого во всех СУБД есть DML операция DELETE, которую мы и постараемся разобрать на видео, а также разобрать все нюансы и проблемы, с которыми мы можем столкнуться во время удалению строк в таблице.

    00:00 - Введение
    00:44 - DELETE операция
    03:59 - Удаление записей с FOREIGN KEY на них
    05:24 - ON DELETE CASCADE

  • Обновление строк - UPDATE6:25

    Для того, чтобы обновлять существующие записи в таблицах в SQL есть специальная DML операция - UPDATE. Синтаксис ее немного сложнее, чем операции DELETE. Тем не менее, на видео мы без труда его разберем, а также познакомимся с нюансами обновления, с которыми также можем столкнуться.

    00:00 - Введение
    00:45 - UPDATE операция
    03:20 - RETURNING для UPDATE и DELETE операций
    05:57 - Осторожно быть с Constraints

  • Практика. Часть 130:37

    Уже пройден довольно большой объем материала, поэтому мы все повторим и попрактикуемся на этом видео. Заново попробуем создать новую базу данных, подключимся к ней и выполним DDL и DML операции.

    00:00 - Введение
    00:29 - Создание базы данных и подключение
    03:22 - Задание №1
    08:02 - Задание №2
    09:15 - Задание №3
    11:17 - Задание №4
    15:56 - Задание №5
    18:08 - Задание №6
    20:01 - Задание №7
    23:48 - Задание №8
    26:16 - Задание №9

  • Начальный уровень

Requirements

  • Нет никаких требований, курс рассчитан с нуля

Description

Курс не требует каких-то базовых понятий для его прохождения, потому что дает подробные и актуальные знания по реляционным базам данных на примере одной из лучших в настоящее время СУБД PostgreSQL, и языку для работы с ними - SQL. Хотя стандарт SQL будет применим для любых других реляционных баз данных, поэтому не стоит переживать, что вы используете другую СУБД на своем проекте.
Сам курс разбит на 3 основные части:
- базовый уровень
- стандартный уровень
- продвинутый уровень
Для начинающих можно закончить на первых двух уровнях и в последующем вернуться к последнему, но обязательно нужно понимать со временем все из перечисленных!
Курс содержит много практических занятий и покрывает полностью все аспекты реляционных баз данных:
- определения и создания баз данных, схем, таблиц и полей этих таблиц (DDL)
- создание SQL запросов для получения данных (DML)
- оконные функции
- B-Tree индексы
- планы выполнения запросов
- работа через командную строку с СУБД
- создание dump базы данных и, наоборот, накатывание схемы и данных СУБД из него
- что такое DWH и ее лучшим представителем от компании Google - BigQuery
- затронем тему NoSQL с теоремой CAP.
После окончания всех уровней этого курса, вы будете уверенно владеть реляционными базами данных, иметь представление о NoSQL хранилищах и почему они все больше набирают популярность (но никогда не заменять реляционные!) и спокойно себя чувствовать на любом реальном проекте.

Who this course is for:

  • Для любого, кто хочет овладеть ключевым и довольно простым навыком -   SQL. Особенно важно для backend разработчиков