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. Базовый курс
№1. Установка PostgreSQL, создаем схему, таблицу и импортируем данные из CSV
№2. Простые операции, SELECT
№3. Типы данных
№4. Импорт и экспорт данных
№5. Группировка
№6. Математические операции
№7. CASE
№8. Дополнения к урокам 1-7
№9. Повторение изученного
№10. Подзапросы
№11. CTE
№12. Оконные функции. Ранг, ранжирование (ranking)
Все видео доступны на youtube
#db
👉 @database_info
№1. Установка PostgreSQL, создаем схему, таблицу и импортируем данные из CSV
№2. Простые операции, SELECT
№3. Типы данных
№4. Импорт и экспорт данных
№5. Группировка
№6. Математические операции
№7. CASE
№8. Дополнения к урокам 1-7
№9. Повторение изученного
№10. Подзапросы
№11. CTE
№12. Оконные функции. Ранг, ранжирование (ranking)
Все видео доступны на youtube
#db
👉 @database_info
👍5
Оптимизация данных в MS SQL
Одним из методов для оптимизации обработки, хранения и администрирования данных в базе данных и кубах MS SQL — это процесс создании партицирования данных.
Partitioning (партицирование или по-другому секционирование) — это разбиение таблицы на несколько частей, а эти части на одну или несколько файловых групп. Партицирование необходимо для целей ускорения доступа чтения или изменения данных и администрирования. Так как выровненный индекс по таблице будет содержаться в каждой условно своей секции, то при чтении или изменении данных будет обращение к конкретной секции и конкретному индексу в этой секции.
https://habr.com/ru/articles/705656/
#db
👉 @database_info
Одним из методов для оптимизации обработки, хранения и администрирования данных в базе данных и кубах MS SQL — это процесс создании партицирования данных.
Partitioning (партицирование или по-другому секционирование) — это разбиение таблицы на несколько частей, а эти части на одну или несколько файловых групп. Партицирование необходимо для целей ускорения доступа чтения или изменения данных и администрирования. Так как выровненный индекс по таблице будет содержаться в каждой условно своей секции, то при чтении или изменении данных будет обращение к конкретной секции и конкретному индексу в этой секции.
https://habr.com/ru/articles/705656/
#db
👉 @database_info
👍2
SQL Tutorial - Full Database Course for Beginners
⌨️ (0:00) Introduction
⌨️ (2:36) What is a Database?
⌨️ (23:10) Tables & Keys
⌨️ (43:31) SQL Basics
⌨️ (52:26) MySQL Windows Installation
⌨️ (1:01:59) MySQL Mac Installation
⌨️ (1:15:49) Creating Tables
⌨️ (1:31:05) Inserting Data
⌨️ (1:38:17) Constraints
⌨️ (1:48:11) Update & Delete
⌨️ (1:56:11) Basic Queries
⌨️ (2:08:37) Company Database Intro
⌨️ (2:14:05) Creating Company Database
⌨️ (2:30:27 ) More Basic Queries
⌨️ (2:26:24) Functions
⌨️ (2:45:13) Wildcards
⌨️ (2:53:53) Union
⌨️ (3:01:36) Joins
⌨️ (3:11:49) Nested Queries
⌨️ (3:21:52) On Delete
⌨️ (3:30:05) Triggers
⌨️ (3:42:12) ER Diagrams Intro
⌨️ (3:55:53) Designing an ER Diagram
⌨️ (4:08:34) Converting ER Diagrams to Schemas
https://www.youtube.com/watch?app=desktop&v=HXV3zeQKqGY
#db
👉 @database_info
⌨️ (0:00) Introduction
⌨️ (2:36) What is a Database?
⌨️ (23:10) Tables & Keys
⌨️ (43:31) SQL Basics
⌨️ (52:26) MySQL Windows Installation
⌨️ (1:01:59) MySQL Mac Installation
⌨️ (1:15:49) Creating Tables
⌨️ (1:31:05) Inserting Data
⌨️ (1:38:17) Constraints
⌨️ (1:48:11) Update & Delete
⌨️ (1:56:11) Basic Queries
⌨️ (2:08:37) Company Database Intro
⌨️ (2:14:05) Creating Company Database
⌨️ (2:30:27 ) More Basic Queries
⌨️ (2:26:24) Functions
⌨️ (2:45:13) Wildcards
⌨️ (2:53:53) Union
⌨️ (3:01:36) Joins
⌨️ (3:11:49) Nested Queries
⌨️ (3:21:52) On Delete
⌨️ (3:30:05) Triggers
⌨️ (3:42:12) ER Diagrams Intro
⌨️ (3:55:53) Designing an ER Diagram
⌨️ (4:08:34) Converting ER Diagrams to Schemas
https://www.youtube.com/watch?app=desktop&v=HXV3zeQKqGY
#db
👉 @database_info
YouTube
SQL Tutorial - Full Database Course for Beginners
In this course, we'll be looking at database management basics and SQL using the MySQL RDBMS.
Want more from Mike? He's starting a coding RPG/Bootcamp - https://simulator.dev/
The course is designed for beginners to SQL and database management systems,…
Want more from Mike? He's starting a coding RPG/Bootcamp - https://simulator.dev/
The course is designed for beginners to SQL and database management systems,…
👍3
Тестирование на проникновение MSSQL
Эта шпаргалка создана специально для специалистов Red Team и специалистов по тестированию на проникновение. Она составлена таким образом, чтобы новички могли понять основы, а профессионалы - отточить свои навыки с помощью расширенных возможностей. Существует множество способов выполнения всех перечисленных задач, поэтому мы составили этот список на основе нашего опыта.
https://github.com/Ignitetechnologies/MSSQL-Pentest-Cheatsheet
#db
👉 @database_info
Эта шпаргалка создана специально для специалистов Red Team и специалистов по тестированию на проникновение. Она составлена таким образом, чтобы новички могли понять основы, а профессионалы - отточить свои навыки с помощью расширенных возможностей. Существует множество способов выполнения всех перечисленных задач, поэтому мы составили этот список на основе нашего опыта.
https://github.com/Ignitetechnologies/MSSQL-Pentest-Cheatsheet
#db
👉 @database_info
👍4
Media is too big
VIEW IN TELEGRAM
MongoDB. Полный курс
MongoDB - документно-ориентированная, NoSQL база, используемая для хранения больших объемов информации. Основная особенность базы - это представление данных в виде документов, структура которых напоминает JSON. Благодаря такому подходу MongoDB работает быстрее, обладает лучшей масштабируемость и ее легче использовать. Весь курс можно разбить на 2 основные части. В первой, мы разберём особенности работы с MongoDB, ключевые команды взаимодействия с базой и коллекцией. Команды поиска, сортировки, удаления и редактирования элементов. Во второй, используя Node.js, Express и библиотеку mongoose создадим свой API поддерживающий весь стэк CRUD операций.
✔ 0:00 - Введение (Introduction)
✔ 2:11 - Основные понятия (Basic Concepts)
✔ 9:15 - Установка инструментов (Installing Tools)
✔ 14:39 - Использование MongoDB Compass и Shell (Using MongoDB Compass & Shell)
✔ 20:04 - Добавление новых данных (Adding New Documents)
✔ 25:50 - Поиск документов (Finding Documents)
✔ 32:49 - Лимит и сортировка данных (Limiting & Sorting Data)
✔ 40:07 - Операторы и составные запросы (Operators & Complex Queries)
✔ 47:54 - Запросы вложенных документов (Querying Nested Documents)
✔ 53:55 - Удаление и обновление документов (Deleting & Updating Documents)
✔ 1:00:22 - Сложное обновление документов (Complex Updating Documents)
✔ 1:06:48 - Полезные методы и операторы (Useful Methods & Operators)
✔ 1:14:19 - Управление базами и коллекциями (Managing DBs & Collections)
✔ 1:21:06 - Создание сервера, подключение к БД (Creating Server & Connecting To MongoDB)
✔ 1:29:21 - Курсоры и получение данных (Cursors & Fetching Data)
✔ 1:35:09 - Чтение и удаление документа (Fetching & Removing Document)
✔ 1:40:51 - Создание и обновление документа (Creating & Updating Document)
✔ 1:47:28 - Интеграция mongoose (Mongoose Integration. Part I)
✔ 1:57:41 - Интеграция mongoose (Mongoose Integration. Part II)
✔ 2:04:43 - MVC и Роутер (MVC Pattern & Router)
✔ 2:12:58 - Облачная база данных MongoDB Atlas (MongoDB Atlas)
истрчник
#db
👉 @database_info
MongoDB - документно-ориентированная, NoSQL база, используемая для хранения больших объемов информации. Основная особенность базы - это представление данных в виде документов, структура которых напоминает JSON. Благодаря такому подходу MongoDB работает быстрее, обладает лучшей масштабируемость и ее легче использовать. Весь курс можно разбить на 2 основные части. В первой, мы разберём особенности работы с MongoDB, ключевые команды взаимодействия с базой и коллекцией. Команды поиска, сортировки, удаления и редактирования элементов. Во второй, используя Node.js, Express и библиотеку mongoose создадим свой API поддерживающий весь стэк CRUD операций.
✔ 0:00 - Введение (Introduction)
✔ 2:11 - Основные понятия (Basic Concepts)
✔ 9:15 - Установка инструментов (Installing Tools)
✔ 14:39 - Использование MongoDB Compass и Shell (Using MongoDB Compass & Shell)
✔ 20:04 - Добавление новых данных (Adding New Documents)
✔ 25:50 - Поиск документов (Finding Documents)
✔ 32:49 - Лимит и сортировка данных (Limiting & Sorting Data)
✔ 40:07 - Операторы и составные запросы (Operators & Complex Queries)
✔ 47:54 - Запросы вложенных документов (Querying Nested Documents)
✔ 53:55 - Удаление и обновление документов (Deleting & Updating Documents)
✔ 1:00:22 - Сложное обновление документов (Complex Updating Documents)
✔ 1:06:48 - Полезные методы и операторы (Useful Methods & Operators)
✔ 1:14:19 - Управление базами и коллекциями (Managing DBs & Collections)
✔ 1:21:06 - Создание сервера, подключение к БД (Creating Server & Connecting To MongoDB)
✔ 1:29:21 - Курсоры и получение данных (Cursors & Fetching Data)
✔ 1:35:09 - Чтение и удаление документа (Fetching & Removing Document)
✔ 1:40:51 - Создание и обновление документа (Creating & Updating Document)
✔ 1:47:28 - Интеграция mongoose (Mongoose Integration. Part I)
✔ 1:57:41 - Интеграция mongoose (Mongoose Integration. Part II)
✔ 2:04:43 - MVC и Роутер (MVC Pattern & Router)
✔ 2:12:58 - Облачная база данных MongoDB Atlas (MongoDB Atlas)
истрчник
#db
👉 @database_info
👍2
Переход на PgCat — прокси-сервер Postgres следующего поколения
PgCat — это open source прокси-сервер Postgresql, в развитии которого мы участвуем и который используем на продакшене. Функционал PgCat для кластеров Postgresql: пул соединений, балансировка нагрузки, отработка отказа реплики.
В Instacart мы применяем Postgresql почти для всех задач баз данных: эффективным кешированием, индексированием, оптимизацией запросов и вертикальным масштабированием экземпляров выжимаем из одного экземпляра Postgres немало производительности. Все это отличные стратегии, но с ними далеко не уедешь. Не ограничиваясь одним экземпляром за счет добавления реплик чтения или горизонтального сегментирования БД, мы в обоих случаях увеличиваем сложность.
https://tech.instacart.com/adopting-pgcat-a-nextgen-postgres-proxy-3cf284e68c2f
#db
👉 @database_info
PgCat — это open source прокси-сервер Postgresql, в развитии которого мы участвуем и который используем на продакшене. Функционал PgCat для кластеров Postgresql: пул соединений, балансировка нагрузки, отработка отказа реплики.
В Instacart мы применяем Postgresql почти для всех задач баз данных: эффективным кешированием, индексированием, оптимизацией запросов и вертикальным масштабированием экземпляров выжимаем из одного экземпляра Postgres немало производительности. Все это отличные стратегии, но с ними далеко не уедешь. Не ограничиваясь одним экземпляром за счет добавления реплик чтения или горизонтального сегментирования БД, мы в обоих случаях увеличиваем сложность.
https://tech.instacart.com/adopting-pgcat-a-nextgen-postgres-proxy-3cf284e68c2f
#db
👉 @database_info
👍4
Высокодоступный MySQL на конвейере
Что нужно автоматизировать в управляемой базе данных? Какие нас ждут проблемы эксплуатации MySQL в облаках? Разберём существующие решения, позволяющие обеспечивать эффективную конфигурацию под высокую доступность и высокие нагрузки, а также их недостатки и практическое применение.
Поможет нам в этом Дмитрий Смаль, руководитель подразделения Managed MySQL и SQL Server в Yandex Cloud. Каждый день он занимается эксплуатацией и автоматизацией СУБД, а до этого делал нагруженные и не очень web-приложения. В целом любит делать разные интересные штуковины, которые работают! Сегодня мы с ним будем говорить про решение для высокодоступного MySQL.
https://habr.com/ru/companies/oleg-bunin/articles/754634/
#db
👉 @database_info
Что нужно автоматизировать в управляемой базе данных? Какие нас ждут проблемы эксплуатации MySQL в облаках? Разберём существующие решения, позволяющие обеспечивать эффективную конфигурацию под высокую доступность и высокие нагрузки, а также их недостатки и практическое применение.
Поможет нам в этом Дмитрий Смаль, руководитель подразделения Managed MySQL и SQL Server в Yandex Cloud. Каждый день он занимается эксплуатацией и автоматизацией СУБД, а до этого делал нагруженные и не очень web-приложения. В целом любит делать разные интересные штуковины, которые работают! Сегодня мы с ним будем говорить про решение для высокодоступного MySQL.
https://habr.com/ru/companies/oleg-bunin/articles/754634/
#db
👉 @database_info
👍2
Визуализация SQL-запроса
SQL-запросы выполняются системой базы данных в несколько этапов, в том числе:
- разбор SQL-запроса и проверка его достоверности
- преобразование SQL-запроса во внутреннее представление, например в реляционную алгебру
- Оптимизация внутреннего представления и создание плана выполнения, использующего информацию об индексах
- Выполнение плана и возврат результатов
#db
👉 @database_info
SQL-запросы выполняются системой базы данных в несколько этапов, в том числе:
- разбор SQL-запроса и проверка его достоверности
- преобразование SQL-запроса во внутреннее представление, например в реляционную алгебру
- Оптимизация внутреннего представления и создание плана выполнения, использующего информацию об индексах
- Выполнение плана и возврат результатов
#db
👉 @database_info
👍9
T-SQL Fundamentals, 4th Edition
Автор: Itzik Ben-Gan (2023)
Начиная с истории создания запросов и программирования на T-SQL, книга также включает: логическую обработку запросов, конструкции запросов (запросы к одной таблице, объединения, подзапросы, табличные выражения, операторы набора, анализ данных), модификации данных, временные таблицы, транзакции и параллелизм, SQL Graph (совершенно новый для этого издания), а также программные конструкции T-SQL. В книгу включены обширные упражнения и решения с пояснениями, что позволяет читателю на практике применять полученные знания.
#db
👉 @database_info
Автор: Itzik Ben-Gan (2023)
Начиная с истории создания запросов и программирования на T-SQL, книга также включает: логическую обработку запросов, конструкции запросов (запросы к одной таблице, объединения, подзапросы, табличные выражения, операторы набора, анализ данных), модификации данных, временные таблицы, транзакции и параллелизм, SQL Graph (совершенно новый для этого издания), а также программные конструкции T-SQL. В книгу включены обширные упражнения и решения с пояснениями, что позволяет читателю на практике применять полученные знания.
#db
👉 @database_info
👍4
UNION в SQL
Оператор
Далее приведены основные правила объединения наборов результатов двух запросов SELECT с помощью
- Количество и порядок столбцов должны быть одинаковыми во всех запросах.
- Типы данных соответствующих столбцов должны быть совместимы.
Если эти критерии выполняются, то таблицы совместимы с оператором UNION.
Синтаксис
Базовый синтаксис оператора
SELECT список_столбцов FROM таблица1
UNION SELECT список_столбцов FROM таблица2;
Чтобы лучше понять, как работает оператор
Таблица employees
+----+------------+-----------+--------+
| id | first_name | last_name | salary |
+----+------------+-----------+--------+
| 1 | Ethan | Hunt | 5000 |
| 2 | Tony | Montana | 6500 |
| 3 | Sarah | Connor | 8000 |
| 4 | Rick | Deckard | 7200 |
| 5 | Martin | Blank | 5600 |
+----+------------+-----------+--------+
Таблица departments
+----+------------+-----------+----------+
| id | first_name | last_name | city |
+----+------------+-----------+----------+
| 1 | Maria | Anders | Berlin |
| 2 | Fran | Wilson | Madrid |
| 3 | Dominique | Perrier | Paris |
| 4 | Martin | Blank | Turin |
| 5 | Thomas | Hardy | Portland |
+----+------------+-----------+----------+
Выполним оператор
Следующая команда вернет имена и фамилии всех клиентов и сотрудников:
SELECT first_name, last_name FROM employees
UNION
SELECT first_name, last_name FROM customers;
После выполнения приведенной выше команды вы получите такой результат:
+---------------+--------------+
| first_name | last_name |
+---------------+--------------+
| Ethan | Hunt |
| Tony | Montana |
| Sarah | Connor |
| Rick | Deckard |
| Martin | Blank |
| Maria | Anders |
| Fran | Wilson |
| Dominique | Perrier |
| Thomas | Hardy |
+---------------+--------------+
Оператор
Однако если вы хотите оставить дублирующиеся строки, используйте ключевое слово
SELECT first_name, last_name FROM employees
UNION ALL
SELECT first_name, last_name FROM customers;
#db
👉 @database_info
Оператор
UNION используется для объединения результатов двух или более запросов SELECT в один набор результатов. Команда UNION отличается от JOIN-операторов, которые объединяют столбцы из двух таблиц. UNION создает новую таблицу, помещая все строки из двух исходных таблиц в таблицу результатов и располагая эти строки друг над другом.Далее приведены основные правила объединения наборов результатов двух запросов SELECT с помощью
UNION:- Количество и порядок столбцов должны быть одинаковыми во всех запросах.
- Типы данных соответствующих столбцов должны быть совместимы.
Если эти критерии выполняются, то таблицы совместимы с оператором UNION.
Синтаксис
Базовый синтаксис оператора
UNION представлен следующим образом:SELECT список_столбцов FROM таблица1
UNION SELECT список_столбцов FROM таблица2;
Чтобы лучше понять, как работает оператор
UNION, предположим, что в таблицах employees и departments существуют некоторые гипотетические поля first_name и last_name. Обратите внимание, что эти поля на самом деле не существуют в демонстрационных таблицах.Таблица employees
+----+------------+-----------+--------+
| id | first_name | last_name | salary |
+----+------------+-----------+--------+
| 1 | Ethan | Hunt | 5000 |
| 2 | Tony | Montana | 6500 |
| 3 | Sarah | Connor | 8000 |
| 4 | Rick | Deckard | 7200 |
| 5 | Martin | Blank | 5600 |
+----+------------+-----------+--------+
Таблица departments
+----+------------+-----------+----------+
| id | first_name | last_name | city |
+----+------------+-----------+----------+
| 1 | Maria | Anders | Berlin |
| 2 | Fran | Wilson | Madrid |
| 3 | Dominique | Perrier | Paris |
| 4 | Martin | Blank | Turin |
| 5 | Thomas | Hardy | Portland |
+----+------------+-----------+----------+
Выполним оператор
UNION, чтобы объединить результаты двух запросов.Следующая команда вернет имена и фамилии всех клиентов и сотрудников:
SELECT first_name, last_name FROM employees
UNION
SELECT first_name, last_name FROM customers;
После выполнения приведенной выше команды вы получите такой результат:
+---------------+--------------+
| first_name | last_name |
+---------------+--------------+
| Ethan | Hunt |
| Tony | Montana |
| Sarah | Connor |
| Rick | Deckard |
| Martin | Blank |
| Maria | Anders |
| Fran | Wilson |
| Dominique | Perrier |
| Thomas | Hardy |
+---------------+--------------+
Оператор
UNION по умолчанию удаляет дублирующиеся строки из объединенного набора результатов. Вот почему приведенный выше запрос возвращает только 9 строк. Если вы заметили, имя Martin Blank встречается и в таблице employees, и в таблице customers. Однако если вы хотите оставить дублирующиеся строки, используйте ключевое слово
ALL, как показано ниже:SELECT first_name, last_name FROM employees
UNION ALL
SELECT first_name, last_name FROM customers;
#db
👉 @database_info
👍7
Темпоральные типы в PostgreSQL и их использование
Меня зовут Фролков Иван, я работаю программистом с 1993 года, и уже восемь лет — в Postgres Professional. Периодически выступаю на конференциях. В этой статье я расскажу вам про темпоральные типы данных в PostgreSQL — доклад о них я читал на PGConf.Russia 2022. Почему меня это заинтересовало? Мне много раз приходилось сталкиваться с тем, что из-за разницы часовых поясов не сходились отчёты за месяц или даже за сутки. Подобные проблемы возникают из-за н
https://habr.com/ru/companies/postgrespro/articles/766998/
#db
👉 @database_info
Меня зовут Фролков Иван, я работаю программистом с 1993 года, и уже восемь лет — в Postgres Professional. Периодически выступаю на конференциях. В этой статье я расскажу вам про темпоральные типы данных в PostgreSQL — доклад о них я читал на PGConf.Russia 2022. Почему меня это заинтересовало? Мне много раз приходилось сталкиваться с тем, что из-за разницы часовых поясов не сходились отчёты за месяц или даже за сутки. Подобные проблемы возникают из-за н
https://habr.com/ru/companies/postgrespro/articles/766998/
#db
👉 @database_info
👍2
QueryFlow
Анализ и визуализация выполнения SQL-запросов
https://github.com/oslabs-beta/QueryFlow
#db
👉 @database_info
Анализ и визуализация выполнения SQL-запросов
https://github.com/oslabs-beta/QueryFlow
#db
👉 @database_info
👍2