Гайды по БД и SQL
6.57K subscribers
2.49K photos
735 videos
84 files
2.43K links
Владелец, реклама – @Ak_Mihail

Купить рекламу на бирже: https://telega.in/channels/learn_bd_sql/card
Download Telegram
🆚 Couchbase vs CouchDB

#couchbase #vs #couchdb | Гайды по БД и SQL
8
📍 Альтернативы Redis

#top #redis | Гайды по БД и SQL
🔥5
🆚 PostgreSQL vs RedShift

#postgresql #vs #redshift | Гайды по БД и SQL
👍6😐1
⬛️ Что такое MS SQL?

#miscrosoft #server | Гайды по БД и SQL
❤‍🔥7👍1
📤 Для создания резервной копии SQL таблицы необходимо использовать выражение BACKUP DATABASE databasename TO DISK = 'filepath';.

📥 Чтобы восстановить бд, вы можете использовать выражение RESTORE DATABASE databasename FROM DISK = 'filepath;'

📌 Важно хранить резервные копии в надежном месте и регулярно обновлять их.
🔥7👍1
Cassandra - проект с открытым исходным кодом распределенной колоночной базы данных, масштабируемой горизонтально.

Apache Cassandra - форк Cassandra, более мощный и подходит для крупных проектов. Она предоставляет интеграцию с Hadoop, CQL, аренду узлов и резервные копии.

Cassandra использует схему ключ-значение а Apache Cassandra колоночную. В колоночной данные хранятся в таблицах по колонкам, что обеспечивает лучшую производительность выборки данных.

Итог: Apache Cassandra - хороший выбор для крупных проектов, а Cassandra - для небольших проектов, где требуется простая и эффективная база данных.
👍6🔥1
MongoDB - обеспечивает высокую производительность и масштабируемость при работе с большими объемами данных.

MySQL - широко используется для игровых приложений и обеспечивает высокую надежность и производительность.

PostgreSQL - предлагает множество возможностей для работы с данными и обеспечивает высокую производительность при работе с большими объемами данных.

Oracle - широко используется в крупных игровых проектах и так же предлагает множество возможностей для управления данными.
❤‍🔥6👍3🔥1
Если в запросе не используется GROUP BY, то условия WHERE и HAVING эквивалентны.

Но при использовании GROUP BY:

• Условие HAVING используется для фильтрации значений из группы (т. е. для проверки условий после выполнения агрегации в группы).
• Условие WHERE используется для фильтрации записей из результата до срабатывания какой-либо группировки.
👍11❤‍🔥2👎1🔥1
Self JOIN - это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.

Например, следующий SQL-запрос объединяет клиентов из одного города:

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
🔥8👍1
Оконные функции нужны в случаях, когда вы хотите сохранить значения своей исходной таблицы и параллельно отобразить сгруппированную или суммарную информацию.

Они похожи на агрегатные функции, но не сокращают количество строк в результате, а объединяют и группируют их в несколько результатов.
7
Триггер в SQL — особый тип хранимых процедур, которые предназначены для автоматического выполнения в момент или после изменения данных. Это позволяет вам выполнить пакет кода, когда вставка, обновление или любой другой запрос выполняется к определенной таблице.
👍5🔥21
Есть три типа индексов, а именно:

Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
🔥72👍2
Подзапрос — это запрос внутри другого запроса, в котором определен запрос для извлечения данных или информации из базы данных. В подзапросе внешний запрос называется основным запросом, тогда как внутренний запрос называется подзапросом.

Подзапросы всегда выполняются первыми, а результат подзапроса передается в основной запрос. Он может быть вложен в SELECT, UPDATE или любой другой запрос. Подзапрос также может использовать любые операторы сравнения.
👍12🆒21
⦁ Уникальный индекс
⦁ Кластерный индекс
⦁ Некластеризованный индекс
⦁ Индекс битовой карты
⦁ Нормальный индекс
⦁ Составной индекс
⦁ Индекс B-дерева
⦁ Индекс на основе функций
🔥7
Нулевое значение (NULL) — это значение поля, которое является пустым, т.е. нулевое значение — это значение поля, не имеющего значения.

Важно понимать, что нулевое значение отличается от значения 0 и от значения поля, содержащего пробелы (). Поле с нулевым значением - это такое поля, которое осталось пустым при создании записи. Также, следует учитывать, что в некоторых СУБД пустая строка ('') — этоNULL, а в некоторых — это разные значения.
👍8🔥2
⦁ Используйте скрипты миграций для изменения БД и версионируйте их.
⦁ Разбейте данные на отдельные таблицы с помощью связей и отношений между ними.
⦁ Используйте правильный тип данных для каждого поля.
⦁ Избегайте злоупотребления индексами.
⦁ Избегайте повторяющихся данных.
⦁ Удаляйте неиспользуемые таблицы, поля и индексы.
⦁ Следите за производительностью и оптимизируйте ее с помощью инструментов мониторинга.
👍6🔥3
Нормализация базы данных - процесс организации данных для устранения дублирования информации и увеличения эффективности запросов.

Чтобы нормализировать бд, следуйте этим шагам:

⦁ Разбейте таблицу на более мелкие таблицы, если она содержит множество повторяющихся значений.
⦁ Установите связи между таблицами, используя первичные и внешние ключи.
⦁ Убедитесь, что каждая таблица имеет только одну тему и не содержит лишних столбцов.
⦁ Избегайте многозначных зависимостей, когда один столбец может зависеть от нескольких других столбцов.
⦁ Проверьте, что каждая таблица находится в нормальной форме.
5👍4🔥1
⦁ Создавайте индексы для столбцов, используемых в условиях WHERE и JOIN, поскольку это поможет ускорить поиск строк и связывание таблиц.

⦁ Ограничивайте количество индексов для каждой таблицы. Слишком много индексов может замедлить производительность базы данных.

⦁ Используйте композитные индексы для объединения нескольких столбцов в один индекс, поскольку это может помочь ускорить поиск строк в запросах.

⦁ Избегайте создания индексов для столбцов с низкой селективностью. Индексы на таких столбцах не будут использоваться, поскольку большинство строк будет иметь одинаковые значения.

⦁ Регулярно проверяйте производительность базы данных и её запросов. Если запросы выполняются медленно, то это может быть связано с отсутствием или неправильным использованием индексов.
👍71
Пример:
SELECT REPLACE("SQL Tutorial", "SQL", "HTML"); # HTML Tutorial

SELECT REPLACE("XYZ FGH XYZ", "x", "m"); # XYZ FGH XYZ

Функция REPLACE() заменяет все вхождения указанной строки новой подстрокой. Обрати внимание, замена выполняется с учетом регистра. В первом примере продемонстрирована замена SQL на HTML. Во втором примере не будет замены из-за учета регистра.
👍81
Пример:
SELECT name
FROM product
WHERE product_id = ALL (SELECT product_id FROM info WHERE couns =7);

Оператор ALL возвращает TRUE, если все значения подзапроса удовлетворяют условию.

Следующий оператор SQL возвращает TRUE и перечисляет имена товаров, если ВСЕ записи в таблице info имеют количество = 7.
👍71