SQL Studio — это графический интерфейсный инструмент, который упрощает взаимодействие с базами данных. Репозиторий содержит готовые решения для подключения, выполнения запросов и анализа данных. Отличный выбор для разработчиков, которые ищут удобный и интуитивно понятный способ работы с SQL.
https://github.com/frectonz/sql-studio
#db
👉 @database_info
https://github.com/frectonz/sql-studio
#db
👉 @database_info
👍5
🛡Как защитить данные и настроить репликацию в PostgreSQL? Присоединяйтесь к открытому вебинару "Улица разбитых кластеров" 16.01 в 20:00 и получите практические советы!
Мы подробно расскажем:
- Какие виды бэкапов существуют в PostgreSQL и когда использовать каждый из них.
- Как настроить репликацию для повышения отказоустойчивости.
- Что делать в случае сбоя: восстановление данных на практике.
Этот вебинар будет полезен всем, кто хочет обеспечить надежность и безопасность своих данных в PostgreSQL.
👉Регистрация. Участие бесплатно: https://vk.cc/cHefQJ
Мы подробно расскажем:
- Какие виды бэкапов существуют в PostgreSQL и когда использовать каждый из них.
- Как настроить репликацию для повышения отказоустойчивости.
- Что делать в случае сбоя: восстановление данных на практике.
Этот вебинар будет полезен всем, кто хочет обеспечить надежность и безопасность своих данных в PostgreSQL.
👉Регистрация. Участие бесплатно: https://vk.cc/cHefQJ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru👍3
Хранилища данных
Транзакции | Введение | ACID | CAP | Обработка ошибок
Аномалии параллельных транзакций
Индексы SQL
Подготовка к собесу - Классификация баз данных
Подготовка к собесу - Оптимизация запросов
Подготовка к собесу - Подзапросы SQL и оптимизация
Подготовка к собесу - Индексы и партиции SQL
источник
#db
👉 @database_info
Транзакции | Введение | ACID | CAP | Обработка ошибок
Аномалии параллельных транзакций
Индексы SQL
Подготовка к собесу - Классификация баз данных
Подготовка к собесу - Оптимизация запросов
Подготовка к собесу - Подзапросы SQL и оптимизация
Подготовка к собесу - Индексы и партиции SQL
источник
#db
👉 @database_info
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
Как лучше всего изучать язык SQL?
В 1986 году язык SQL (Structured Query Language) стал стандартом. В течение последующих 40 лет он стал доминирующим языком для систем управления реляционными базами данных. Чтение последнего стандарта (ANSI SQL 2016) может занять много времени. Как я могу его выучить?
В состав языка SQL входят 5 компонентов:
Для бэкенд-инженера может потребоваться знание большинства из них. Аналитику данных может потребоваться хорошее понимание DQL. Выберите те темы, которые наиболее актуальны для вас.
#db
👉 @database_info
В 1986 году язык SQL (Structured Query Language) стал стандартом. В течение последующих 40 лет он стал доминирующим языком для систем управления реляционными базами данных. Чтение последнего стандарта (ANSI SQL 2016) может занять много времени. Как я могу его выучить?
В состав языка SQL входят 5 компонентов:
- DDL: data definition language, such as CREATE, ALTER, DROP- DQL: data query language, such as SELECT- DML: data manipulation language, such as INSERT, UPDATE, DELETE- DCL: data control language, such as GRANT, REVOKE- TCL: transaction control language, such as COMMIT, ROLLBACKДля бэкенд-инженера может потребоваться знание большинства из них. Аналитику данных может потребоваться хорошее понимание DQL. Выберите те темы, которые наиболее актуальны для вас.
#db
👉 @database_info
👍11
⚡️Как интегрировать PostgreSQL с Power BI для анализа данных? Присоединяйтесь к нашему вебинару 23.01 в 20:00 и узнайте, как использовать эти инструменты для принятия обоснованных бизнес-решений!
На бесплатном вебинаре обсудим с вами:
- Как интегрировать данные из PostgreSQL в Power BI.
- Методы визуализации данных и создания интерактивных дашбордов.
- Практические кейсы использования Power BI в бизнесе и других инструментов BI.
- Советы по оптимизации производительности и безопасности данных при работе с PostgreSQL в BI-системах.
Этот вебинар будет полезен всем, кто хочет эффективно использовать BI-инструменты для анализа данных и принятия стратегических решений.
👉Регистрация. Участие бесплатно: https://vk.cc/cHtZsf
На бесплатном вебинаре обсудим с вами:
- Как интегрировать данные из PostgreSQL в Power BI.
- Методы визуализации данных и создания интерактивных дашбордов.
- Практические кейсы использования Power BI в бизнесе и других инструментов BI.
- Советы по оптимизации производительности и безопасности данных при работе с PostgreSQL в BI-системах.
Этот вебинар будет полезен всем, кто хочет эффективно использовать BI-инструменты для анализа данных и принятия стратегических решений.
👉Регистрация. Участие бесплатно: https://vk.cc/cHtZsf
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576UNION в 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❤1
Давно присматриваетесь к системному администрированию Linux?
У нас отличные новости!
23 января стартует конференция «Администрирование Linux для начинающих».
Мы приглашаем начинающих сисадминов Linux, администраторов Windows, разработчиков, специалистов по тестированию и вообще всех, кто интересуется темой администрирования.
Вы узнаете:
- Чем отличается проприетарный софт от свободного, а свободный – от бесплатного?
- Почему Windows популярен?
- Так ли хорош Linux на самом деле и так ли плох Windows?
- Что не так с MacOs?
Вы научитесь:
- Работать с текстом в терминале Linux
- Использовать текстовые утилиты
- Искать файлы по тексту
- Фильтровать вывод команд
Спикеры: Андрей Буранов, системный администратор VK, и Николай Лавлинский, технический директор «Метод Лаб»
Бонус! Всем участникам – скидка 7% на любой курс и 5 полезных материалов по Linux.
23 января, 19:00 МСК
Присоединяйтесь!
Записаться на конференцию - https://otus.pw/5Zpi/?erid=2W5zFJso4WL
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
У нас отличные новости!
23 января стартует конференция «Администрирование Linux для начинающих».
Мы приглашаем начинающих сисадминов Linux, администраторов Windows, разработчиков, специалистов по тестированию и вообще всех, кто интересуется темой администрирования.
Вы узнаете:
- Чем отличается проприетарный софт от свободного, а свободный – от бесплатного?
- Почему Windows популярен?
- Так ли хорош Linux на самом деле и так ли плох Windows?
- Что не так с MacOs?
Вы научитесь:
- Работать с текстом в терминале Linux
- Использовать текстовые утилиты
- Искать файлы по тексту
- Фильтровать вывод команд
Спикеры: Андрей Буранов, системный администратор VK, и Николай Лавлинский, технический директор «Метод Лаб»
Бонус! Всем участникам – скидка 7% на любой курс и 5 полезных материалов по Linux.
23 января, 19:00 МСК
Присоединяйтесь!
Записаться на конференцию - https://otus.pw/5Zpi/?erid=2W5zFJso4WL
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Безумные и забавные факты о SQLite
⚫️ SQLite — самая часто разворачиваемая и используемая база данных. На текущий момент активно используется более одного триллиона (1000000000000 или миллиона миллионов) баз данных SQLite.
⚫️ Её поддерживают три человека. Они не допускают внешних контрибьюторов.
Скорее всего, SQLite используется больше, чем все остальные движки баз данных суммарно. В мире работают миллиарды копий SQLite. Её можно встретить повсюду.
https://habr.com/ru/companies/ruvds/articles/873816/
#db
👉 @database_info
Скорее всего, SQLite используется больше, чем все остальные движки баз данных суммарно. В мире работают миллиарды копий SQLite. Её можно встретить повсюду.
https://habr.com/ru/companies/ruvds/articles/873816/
#db
👉 @database_info
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
База данных PostgreSQL
Часть 1. Установка и настройка
Часть 2. Язык запросов SQL
Часть 3. Реляционная модель
Часть 4. Поиск и анализ данных
Часть 5. Индексы
источник
#PostgreSQL #db
👉 @database_info
Часть 1. Установка и настройка
Часть 2. Язык запросов SQL
Часть 3. Реляционная модель
Часть 4. Поиск и анализ данных
Часть 5. Индексы
источник
#PostgreSQL #db
👉 @database_info
👍9
Облачные базы данных: Шпаргалка
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
#db
👉 @database_info
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
#db
👉 @database_info
👍2🥰1
Forwarded from Linux: Системный администратор
Шпаргалка по PostgreSQL
Перенес в my-mans
-- подключиться к postgres (утилита psql)
-- команды помощи
-- выход из консоли postgres
-- создать базу
-- подключиться к базе
-- создать таблицу my_table с полями field1 (тип целочисленный, обязательное для заполнения), field2 (тип строка 255 символов)
-- вывести все таблицы
-- удалить таблицу my_table
-- внести в таблицу запись
-- вывести записи
-- сортировка при выводе
-- изменить запись таблицы (поле field2 строки, где field1 = 1);
-- удаление данных
-- ***********************************
-- нормализация (разбиение таблиц на несколько)
-- ***********************************
-- Constraints - ограничения типов данных
-- Первичный и внешние ключи
-- при создании записи таблицы с отсутствующим внешним ключом выведется запись об ошибке. будут выводится ошибки и в иных случаях, когда будут нарушаться связи.
);
-- вывод данных из нескольких таблиц со связанными полями
-- алиасы, нужны для удобства. Также, при выводе наименование таблиц или полей выводится алиасом, при его наличии.
#Шпаргалка@linux_odmin
👉 @linux_odmin
Перенес в my-mans
-- подключиться к postgres (утилита psql)
psql -U postgres-- команды помощи
help
\h -- помощь по командам SQL
\? -- помощь по командам psql-- выход из консоли postgres
\q-- создать базу
CREATE DATABASE my_database;-- подключиться к базе
\connect my_database;-- создать таблицу my_table с полями field1 (тип целочисленный, обязательное для заполнения), field2 (тип строка 255 символов)
CREATE TABLE my_table (field1 INT NOT NULL, field2 VARCHAR(255));-- вывести все таблицы
\d-- удалить таблицу my_table
DROP TABLE my_table;-- внести в таблицу запись
INSERT INTO my_table(field1, field2) VALUES(1,'Any text value');-- вывести записи
SELECT * FROM my_table; -- все записи
SELECT * FROM my_table WHERE field1 = 1; -- все, где field1 = 1
SELECT * FROM my_table WHERE field1 != 1; -- и т д
SELECT * FROM my_table WHERE field1 > 1;
SELECT * FROM my_table LIMIT 100; -- первые 100 записей;
SELECT * FROM my_table LIMIT 100 OFFSET 200; -- запись с 201 по 300;-- сортировка при выводе
SELECT * FROM my_table ORDER BY field1 ASC; -- вывести отсортировав в возрастающем порядке
SELECT * FROM my_table ORDER BY field1 DESC; -- вывести отсортировав в убывающем порядке-- изменить запись таблицы (поле field2 строки, где field1 = 1);
UPDATE my_table SET field2 = 'Other text value' WHERE field1 = 1;-- удаление данных
DELETE FROM my_table; -- удалить все записи;
DELETE FROM my_table WHERE field1 = 1; -- удалить запись где field1 = 1;-- ***********************************
-- нормализация (разбиение таблиц на несколько)
-- ***********************************
-- Constraints - ограничения типов данных
CREATE TABLE my_table (
field1 INT NOT NULL, -- запись обязательна
field2 VARCHAR(255) NOT NULL UNIQUE, -- запись должна быть уникальной
field3 BOOLEAN NOT NULL DEFAULT TRUE -- значение по умолчанию - true
...
);-- Первичный и внешние ключи
-- при создании записи таблицы с отсутствующим внешним ключом выведется запись об ошибке. будут выводится ошибки и в иных случаях, когда будут нарушаться связи.
CREATE TABLE IF NOT EXISTS my_table ( -- ключ IF NOT EXISTS проверяет, существует ли таблица. field1 SERIAL INT PRIMARY KEY, -- при добавлении PRIMARY KEY поле автоматически наследует ограничения NOT NULL и UNIQUE, и создается индекс. SERIAL тип данных являющийся автоматически увеличивающимся счетчиком (аналог ключа AUTOINCREMENT в Sqlite) field2 VARCHAR(255) NOT NULL UNIQUE,
field3 INT NOT NULL,
FOREIGN KEY(field3) REFERENCES other_table(field_name) -- поле ссылается на внешнюю таблицу other_table на поле field_name, которое обязательно должно быть с PRIMARY KEY);
-- вывод данных из нескольких таблиц со связанными полями
SELECT * FROM table_1 LEFT JOIN table_2 ON (table_2.field = table_1.field);-- алиасы, нужны для удобства. Также, при выводе наименование таблиц или полей выводится алиасом, при его наличии.
SELECT * FROM table_1 as tab1 LEFT JOIN table_2 as tab2 ON (tab1.field = tab2.field);#Шпаргалка@linux_odmin
👉 @linux_odmin
👍7🎉1