Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
569 photos
468 videos
19 files
547 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
SQL Studio — это графический интерфейсный инструмент, который упрощает взаимодействие с базами данных. Репозиторий содержит готовые решения для подключения, выполнения запросов и анализа данных. Отличный выбор для разработчиков, которые ищут удобный и интуитивно понятный способ работы с SQL.

https://github.com/frectonz/sql-studio

#db

👉 @database_info
👍5
🛡Как защитить данные и настроить репликацию в PostgreSQL? Присоединяйтесь к открытому вебинару "Улица разбитых кластеров" 16.01 в 20:00 и получите практические советы!

Мы подробно расскажем:
- Какие виды бэкапов существуют в PostgreSQL и когда использовать каждый из них.
- Как настроить репликацию для повышения отказоустойчивости.
- Что делать в случае сбоя: восстановление данных на практике.

Этот вебинар будет полезен всем, кто хочет обеспечить надежность и безопасность своих данных в PostgreSQL.

👉Регистрация. Участие бесплатно: https://vk.cc/cHefQJ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍3
Хранилища данных

Транзакции | Введение | ACID | CAP | Обработка ошибок
Аномалии параллельных транзакций
Индексы SQL
Подготовка к собесу - Классификация баз данных
Подготовка к собесу - Оптимизация запросов
Подготовка к собесу - Подзапросы SQL и оптимизация
Подготовка к собесу - Индексы и партиции SQL

источник

#db

👉 @database_info
👍10
🖥 Типы баз данных

#db

👉 @database_info
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Как лучше всего изучать язык SQL?

В 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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
UNION в SQL

Оператор 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
👍71
Давно присматриваетесь к системному администрированию Linux?
У нас отличные новости!

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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
База данных PostgreSQL

Часть 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
👍2🥰1
Шпаргалка по PostgreSQL

Перенес в 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