Базы данных и SQL
Программы, управляющие базой данных
Устройство базы данных
Работа с базой данных
Изучаем базы данных - ссылки
Под Windows в командной строке не работают русские буквы
Что должен знать разработчик?
Теория по проектированию БД
Чем отличаются движки для таблиц MyISAM и InnoDB?
Индексы
Задачка про лайки
Усложненная (но более жизненная) задача про лайки
Задачка про кинотеатр
Сложная задача про календарь
https://github.com/codedokode/pasta/blob/master/db/databases.md
#db
👉 @database_info
Программы, управляющие базой данных
Устройство базы данных
Работа с базой данных
Изучаем базы данных - ссылки
Под Windows в командной строке не работают русские буквы
Что должен знать разработчик?
Теория по проектированию БД
Чем отличаются движки для таблиц MyISAM и InnoDB?
Индексы
Задачка про лайки
Усложненная (но более жизненная) задача про лайки
Задачка про кинотеатр
Сложная задача про календарь
https://github.com/codedokode/pasta/blob/master/db/databases.md
#db
👉 @database_info
👍3
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Курс SQL - от новичка до профи
Регистрация на сайте Oracle
Что такое SQL? Какие задачи решают Базы Данных?
Команды SQL: DML, DDL, DCL, TCL
Агрегатные функции SQL: MIN | MAX | AVG | SUM | COUNT
Функция GROUP BY. HAVING vs WHERE
INNER JOIN. LEFT JOIN и другие... В ЧЕМ РАЗНИЦА?
Подзапросы SQL Oracle | Вложенные запросы SQL
Агрегатные оконные функции | Аналитические функции sql: min/max/sum/avg/count
Оконные функции SQL | Аналитические функции row_number / dense_ranka
#db
👉 @database_info
Регистрация на сайте Oracle
Что такое SQL? Какие задачи решают Базы Данных?
Команды SQL: DML, DDL, DCL, TCL
Агрегатные функции SQL: MIN | MAX | AVG | SUM | COUNT
Функция GROUP BY. HAVING vs WHERE
INNER JOIN. LEFT JOIN и другие... В ЧЕМ РАЗНИЦА?
Подзапросы SQL Oracle | Вложенные запросы SQL
Агрегатные оконные функции | Аналитические функции sql: min/max/sum/avg/count
Оконные функции SQL | Аналитические функции row_number / dense_ranka
#db
👉 @database_info
👍3❤1
❗️SQL Injection Master - самый полный курс по SQL инъекциям
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Pgcenter
Инструмент администратора командной строки для наблюдения и устранения неполадок Postgres.
Основная цель
Postgres предоставляет различные статистические данные о своей работе, такие как соединения, операторы, операции с базой данных, репликация, использование ресурсов и многое другое. Общее назначение статистики - помочь DBA в мониторинге и устранении неполадок Postgres. Однако эта статистика предоставляется в текстовом виде, извлекается из SQL-функций и представлений, а Postgres не предоставляет встроенных инструментов для работы с представлениями статистики.
Помочь DBA Postgres в работе со статистикой и предоставить удобный способ наблюдения за Postgres во время выполнения.
https://github.com/lesovsky/pgcenter
#db
👉 @database_info
Инструмент администратора командной строки для наблюдения и устранения неполадок Postgres.
Основная цель
Postgres предоставляет различные статистические данные о своей работе, такие как соединения, операторы, операции с базой данных, репликация, использование ресурсов и многое другое. Общее назначение статистики - помочь DBA в мониторинге и устранении неполадок Postgres. Однако эта статистика предоставляется в текстовом виде, извлекается из SQL-функций и представлений, а Postgres не предоставляет встроенных инструментов для работы с представлениями статистики.
Помочь DBA Postgres в работе со статистикой и предоставить удобный способ наблюдения за Postgres во время выполнения.
https://github.com/lesovsky/pgcenter
#db
👉 @database_info
👍1👎1
Forwarded from Codeby
❗️SQL Injection Master - самый полный курс по SQL инъекциям
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
👍2
Media is too big
VIEW IN TELEGRAM
Базы Данных – Татьяна Денисова
Во время лекции мы поговорим о том, что такое данные, какие базы данных бывают и чем они отличаются. Вы узнаете, какие особенности работы с базами данных нужно иметь в виду разработчику.Обсудим, как характеризовать, структурировать и хранить данные — с расчетом на текущие особенности системы и будущее её масштабирование.
Благодаря полученным на лекции знаниям разработчик сможет понять, в какую из упомянутых тем нужно углубиться для решения конкретной задачи, а в случае возникновения багов — определить, является ли источником проблемы работа с БД. И если да, то в какую сторону «копать».
источник
#db
👉 @database_info
Во время лекции мы поговорим о том, что такое данные, какие базы данных бывают и чем они отличаются. Вы узнаете, какие особенности работы с базами данных нужно иметь в виду разработчику.Обсудим, как характеризовать, структурировать и хранить данные — с расчетом на текущие особенности системы и будущее её масштабирование.
Благодаря полученным на лекции знаниям разработчик сможет понять, в какую из упомянутых тем нужно углубиться для решения конкретной задачи, а в случае возникновения багов — определить, является ли источником проблемы работа с БД. И если да, то в какую сторону «копать».
источник
#db
👉 @database_info
👍7
Задача. Подсчет сессий пользователя.
Не знаю почему на каждом 2 собеседовании любят давать эту задачу, в разных вариациях, тем не менее суть одна. Решений эта задача имеет также не мало, но мы попробуем решить ее через оконные функции, как мой самый любимый способ решения. Возьмем один из самых простых вариантов задачи, для каждого юзера мы имеем лог его данных который снимаем каждые 5 минут, если разница между двумя промежутками больше, то это новая сессия, нужно разметить каждую сессию.
Впервую очередь отсортируем данные и применим функцию lag для смещения данных на 1 значение вниз
Теперь вычтем смещение и посмотрим разницу между 2 повторяющимися значениями, после чего применим функцию камулятивной суммы, это как раз таки и даст необходимый нам результат.
#db
👉 @database_info
Не знаю почему на каждом 2 собеседовании любят давать эту задачу, в разных вариациях, тем не менее суть одна. Решений эта задача имеет также не мало, но мы попробуем решить ее через оконные функции, как мой самый любимый способ решения. Возьмем один из самых простых вариантов задачи, для каждого юзера мы имеем лог его данных который снимаем каждые 5 минут, если разница между двумя промежутками больше, то это новая сессия, нужно разметить каждую сессию.
+------+----------------------------+
| user | login |
+------+----------------------------+
| 1 | 2022-10-12 20:05:00.000000 |
| 1 | 2022-10-12 20:10:00.000000 |
| 1 | 2022-10-12 20:15:00.000000 |
| 1 | 2022-10-12 20:20:00.000000 |
| 1 | 2022-10-12 20:25:00.000000 |
| 1 | 2022-10-12 10:05:00.000000 |
| 1 | 2022-10-12 20:40:00.000000 |
| 1 | 2022-10-12 20:30:00.000000 |
| 1 | 2022-10-12 10:20:00.000000 |
| 1 | 2022-10-12 10:10:00.000000 |
| 1 | 2022-10-12 20:05:00.000000 |
| 2 | 2022-10-12 20:10:00.000000 |
| 2 | 2022-10-12 20:15:00.000000 |
| 2 | 2022-10-12 20:20:00.000000 |
| 2 | 2022-10-12 20:25:00.000000 |
| 2 | 2022-10-12 10:05:00.000000 |
| 2 | 2022-10-12 20:40:00.000000 |
| 2 | 2022-10-12 20:30:00.000000 |
| 2 | 2022-10-12 10:20:00.000000 |
| 2 | 2022-10-12 10:10:00.000000 |
+------+----------------------------+Впервую очередь отсортируем данные и применим функцию lag для смещения данных на 1 значение вниз
SELECT t1.user,
login,
lag(login, 1, NULL) OVER
(PARTITION BY
t1.user ORDER BY t1.user,
login) next_log
FROM table t1Теперь вычтем смещение и посмотрим разницу между 2 повторяющимися значениями, после чего применим функцию камулятивной суммы, это как раз таки и даст необходимый нам результат.
select *,
sum(ind) over
(PARTITION BY t3.user
ORDER BY t3.user rows
between unbounded preceding and current row) as sessions
from (
select t2.user,
login,
case
when (login-prev_log) > '5 mins' then 1
else 0
end ind
from (
SELECT t1.user,
login,
lag(login, 1,NULL)
OVER (PARTITION BY t1.user
ORDER BY t1.user, login) prev_log
FROM table t1) t2
) t3
#db
👉 @database_info
👍4