database_info | Unsorted

Telegram-канал database_info - Базы данных (Data Base)

6213

Базы данных (Data Base). По всем вопросам @evgenycarter

Subscribe to a channel

Базы данных (Data Base)

Битовая операция NOT в SQL Server: как переключить бит

Оператор XOR (^) позволяет инвертировать биты в SQL Server. Используя BitColumn = BitColumn ^ 1, вы сможете поменять 0 на 1 и наоборот.


UPDATE ВашаТаблица SET BitColumn = BitColumn ^ 1 WHERE ВашеУсловие;

Этот запрос инвертирует значения в столбце BitColumn для строк, которые соответствуют условию ВашеУсловие.


Введение в битовые операции
Битовые операции — это эффективный инструмент для управления отдельными битами. Они выполняются с помощью операторов AND, OR, XOR и NOT.


Инструментарий для инвертирования бита
Инвертируем все с помощью NOT
Для инверсии всех битов в значении используйте оператор ~:


-- Наблюдаем за инверсией всех битов!
UPDATE ваша_таблица SET ваш_столбец = ~ваш_столбец WHERE ваше_условие;


Инвертирование с помощью вычитания
Элегантный способ инвертирования бит со значениями 0 или 1:


-- Из 0 делаем 1, из 1 — 0. Элегантно, не правда ли?
UPDATE ваша_таблица SET ваш_столбец = 1 – ваш_столбец WHERE ваше_условие;


Метод инвертирования нескольких битов
Для инвертирования определённых бит при наличии нескольких используйте XOR с битовой маской:


-- Теперь нацеливаемся на определённый бит
UPDATE ваша_таблица SET ваш_столбец = ваш_столбец ^ битовая_маска WHERE ваше_условие;

Битовая_маска — это число, которое в двоичной системе имеет 1 там, где находится нужный бит, и 0 — во всех остальных позициях.

Визуализация
Представьте процесс инвертирования бит как переключение выключателя света:

Исходное состояние Переключить Результирующее состояние
Выкл (0) 🔄 Вкл (1)
Вкл (1) 🔄 Выкл (0)
В SQL это будет выглядеть следующим образом:


UPDATE ваша_таблица SET ваш_столбец = 1 – ваш_столбец WHERE ваше_условие;

До инвертирования: ваш_столбец имеет значение 😐(0) или 😃(1). После инвертирования: теперь значение ваш_столбец противоположное — 😃(1) или 😐(0).

Тонкости работы
Когда вы инвертируете биты, учитывайте следующее:

✔️Тип данных: Удостоверьтесь, что операция выполняется над данными типа bit.
✔️Производительность: Ограничьте обновление условием WHERE, чтобы выполнить процесс эффективно.
✔️Точность инвертирования: Для работы с несколькими битами выберите правильную битовую маску.
✔️Безопасность: Используйте транзакции TRANSACTION для обеспечения надежности операций при работе с несколькими битами или строками.


#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Хотите узнать секрет оптимизации SQL-запросов?

Очень важно понимать порядок выполнения.
В SQL-запросе операторы выполняются в следующем порядке:

1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ORDER BY
8. LIMIT / OFFSET

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Топ-10 самых популярных баз данных с открытым исходным кодом

1 - MySQL
2 - PostgreSQL
3 - MariaDB
4 - Apache Cassandra
5 - Neo4j
6 - SQLite
7 - CockroachDB
8 - Redis
9 - MongoDB
10 - Couchbase

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Быстрое добавление тысяч записей в SQLite через Django

Для высокопроизводительного массового внесения записей в базу данных SQLite через Django используйте функцию bulk_create(). Она позволяет осуществить вставку множества записей за один запрос.


from myapp.models import MyModel

# Подготовим данные для массового внесения
bulk_records = [MyModel(field1='value1', etc.) for _ in range(thousands)]

# А вот и массовое внесение в действии!
MyModel.objects.bulk_create(bulk_records)


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

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

fОбучаем IT-специалистов и берём в команду ⚡️

Лучшим участникам предложим оффер в Т1 — крупнейшую по выручке ИТ-компанию страны по версии RAEX и CNews Analytics 2023🔝.

Зачем участвовать?

🔹 Уникальный рыночный опыт. Т1 одни из первых на рынке, кто внедряет технологии для управления данными. 

🔹 Попасть в число лучших. Проекты Т1 ежегодно получают лучшие награды на ИТ-конкурсах: Global CIO, Национальная банковская премия и др.

🔹 Поддержка. Тебя ждёт команда опытных профессионалов, которые помогут расти и развиваться.

Выбирай:
📁 аналитик платформы данных (DWH) 
🖥  разработчик платформы данных (DWH) 

От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.

⏰ Быстрое обучение: 1 месяц
📱 Гибкий формат: онлайн по вечерам (от 8 часов в неделю на вебинары и практику)

Подавай заявку до 2 ноября! 

#реклама
О рекламодателе

Читать полностью…

Базы данных (Data Base)

Ваш бизнес всё ещё привязан к Oracle? Время избавиться от лишних расходов и рисков!

5 ноября в 20:00 мск мы проведём бесплатный открытый урок о том, почему PostgreSQL — это лучшая альтернатива и как провести миграцию без боли и сбоев.

На уроке мы сравним возможности PostgreSQL и Oracle, покажем, с чего начать миграцию баз данных и как избежать ошибок. Реальная демонстрация и разбор кейсов — вы увидите, как легко перейти на PostgreSQL.

Участники вебинара не только поймут все нюансы миграции, но и получат скидку на курс «Миграция с Oracle на PostgreSQL».

Не упустите возможность узнать, как сократить расходы на лицензии и повысить производительность вашей базы данных.

Регистрируйтесь на открытый вебинар прямо сейчас! 👇

https://vk.cc/cDM5w4

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

Читать полностью…

Базы данных (Data Base)

Какие известные фестивали проходят в октябре?

Конечно же OTUS FEST!

Присоединяйтесь к трёхдневному IT-фестивалю.

Вас ждут 9 спикеров, мастер-классы, полезные знакомства и разбор интересных случаев из практики. Мы обсудим темы, которые волнуют IT-индустрию, поделимся технологическими хитростями, ответим на ваши вопросы.

Вы узнаете:
- На что обращать внимание при выборе фреймворков?
- С чего начать импортозамещение в ИБ?
- Как подходить к описанию архитектуры на разных уровнях?
- Как разработать стратегию тестирования, которая действительно работает?
- Чего ждать от революции в большой языковой модели?
- Чем «импортозаместить» Nginx?
- Куда движется российский геймдев?
- Какие важные тренды появились в HR за последние годы?
- Что делать аналитикам, чтобы их не заменил ИИ?

Ждём всех, кто работает с информационными технологиями.
Будет круто.

29, 30, 31 октября: можете выбрать любой удобный день или все три сразу.

Участие бесплатное

Записаться на OTUS FEST - https://otus.pw/5Whr/?erid=LjN8KSVbd

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Базы данных (Data Base)

Подборка Telegram каналов для программистов

Системное администрирование 📌
/channel/sysadmin_girl Девочка Сисадмин
/channel/srv_admin_linux Админские угодья
/channel/linux_srv Типичный Сисадмин

/channel/devops_star DevOps Star (Звезда Девопса)
/channel/i_linux Системный администратор
/channel/linuxchmod Linux
/channel/sys_adminos Системный Администратор
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus

Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
/channel/game_devv Все о разработке игр

Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов

БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT
/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Английский 📌
/channel/UchuEnglish Английский с нуля

Математика 📌
/channel/Pomatematike Канал по математике
/channel/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
/channel/Excel_lifehack

/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Читать полностью…

Базы данных (Data Base)

⁉️Хотите повысить свою квалификацию и стать дата-инженером?

Инвестируйте в успех своей карьеры прямо сейчас начав обучение на курсе «Data Engineer» от OTUS.

После обучения вы сможете:

✔️ Разворачивать, налаживать и оптимизировать инструменты обработки данных
✔️ Адаптировать датасеты для дальнейшей работы и аналитики
✔️ Создадите сервисы, которые используют результаты обработки больших объемов данных
✔️ Принимать участие в разработке архитектуры данных в компании

➡️ Пройдите короткий тест прямо сейчас, чтобы получить специальную цену на обучение: https://vk.cc/cDb8uM

🎁 А еще приятный бонус: до конца октября действует скидка 10% на обучение.

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

Читать полностью…

Базы данных (Data Base)

Писать чистый SQL проще с pgx и sqlc в Go


Что такое pgx и sqlc?

pgx: это надежный набор инструментов и драйвер для PostgreSQL в Golang. Этот модуль также предоставляет полезные инструменты для облегчения работы со сложными запросами, делая их менее подверженными ошибкам.

sqlc: это инструмент для генерации кода, который преобразует ваши SQL-запросы в файлах .sql в Go-код с типобезопасностью как для параметров запроса, так и для результатов. Пример можно посмотреть здесь: sqlc playground. sqlc также поддерживает pgx "из коробки", что делает эту комбинацию отличным решением для работы с базами данных.

https://remvn.dev/posts/writing-raw-sql-easier-with-pgx-and-sqlc-in-go/

#sql

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Совет по работе с базой данных💡

Дубликаты строк легко создаются по ошибке и почти так же легко удаляются: вы можете в *одном* SQL-запросе определить их, а также указать, какой из них оставить!

Вот самый быстрый способ 👆

#sql

👉 @database_info

Читать полностью…

Базы данных (Data Base)

❓Хотите узнать, как эффективно управлять PostgreSQL в облаках и Kubernetes-кластерах?

Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:

- как правильно готовить Docker-контейнер для запуска PostgreSQL;
- управление развертыванием через Kubernetes с использованием операторов;
- добавление мониторинга и алертинга с помощью Prometheus и Grafana;
- использование новых возможностей репликации и быстрого запуска standby-реплики;
- интеграция задач миграции и обслуживания базы данных в CI/CD (на примере Gitlab).

Встречаемся в преддверии старта курса «PostgreSQL. Advanced». Все участники вебинара получат специальную цену на обучение!

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cCZGUb

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

Читать полностью…

Базы данных (Data Base)

База данных 101: SSL/TLS для начинающих

Ещё раз делюсь с вами знаниями из моей повседневной работы в качестве Developer Advocate в ScyllaDB, и на этот раз я собираюсь рассказать вам о безопасных и зашифрованных соединениях! Это тема, которая может вызвать беспокойство у новичков, но я постараюсь сделать её проще для вас.

Если вы только начинаете работать с базами данных в общем или конкретно с базами данных, вам стоит начать с прочтения моей первой статьи "Базы данных 101: Консистентность данных для начинающих".

https://dev.to/scylladb/database-101-ssltls-for-beginners-4lmn

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Базы данных 101: Консистентность данных для начинающих

В конце 2022 года я решил прояснить ситуацию, когда речь заходит о базах данных, потому что это всегда было проблемой. Как бэкенд-разработчику, мне «нравилось» ненавидеть сложные запросы к базам данных. С этой мыслью я бросил себе вызов начать с нуля и изучить этот малоисследованный мир просто ради удовольствия.

https://dev.to/scylladb/database-101-why-so-interesting-1344

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

PostgreSQL Antipatterns: «вращаем» JSON

Принимать сложные параметры запроса в виде JSON - полезно, хранить его в базе - удобно, но работа с ним в рамках SQL-запроса зачастую вызывает затруднения.

Сегодня столкнулся с очередным нетипичным вариантом использования - "перекладыванием" значений из JSON-строк в столбцы примерно такого вида:


SELECT
json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'ru') ->> 'ru' ru
, json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'en') ->> 'en' en
, json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'de') ->> 'de' de
, json_object_agg(js ->> 'language', coalesce(js ->> 'value', ''))
FILTER(WHERE js ->> 'language' = 'fr') ->> 'fr' fr
FROM
(
VALUES
('{"language" : "ru", "value" : "Бухгалтерия"}'::json)
, ('{"language" : "en", "value" : "Accounting"}')
, ('{"language" : "de", "value" : "Buchhaltung"}')
, ('{"language" : "fr", "value" : "Comptabilité"}')
) T(js);


https://habr.com/ru/companies/tensor/articles/850522/

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Подборка Telegram каналов для программистов

/channel/piterspb Канал о Санкт-Петербурге 🌇❤️💙


Системное администрирование 📌
/channel/sysadmin_girl Девочка Сисадмин 👩
/channel/srv_admin_linux Админские угодья
/channel/linux_srv Типичный Сисадмин

/channel/devops_star DevOps Star (Звезда Девопса)
/channel/i_linux Системный администратор
/channel/linuxchmod Linux
/channel/sys_adminos Системный Администратор
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus

Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
/channel/game_devv Все о разработке игр

Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов

БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT
/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Английский 📌
/channel/UchuEnglish Английский с нуля

Математика 📌
/channel/Pomatematike Канал по математике
/channel/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
/channel/Excel_lifehack

/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Читать полностью…

Базы данных (Data Base)

Обучаем аналитиков платформы данных и берём в команду ⚡️

Регистрируйся на онлайн-интенсив в Открытые школы Т1!

От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.

Лучшим участникам предложим оффер в Т1 — крупнейшую ИТ-компанию страны по версии RAEX и CNews Analytics 2023 🔝.

Зачем участвовать?

⚙️Получить поддержку наставников. В нашей команде — передовые специалисты в области разработки хранилищ данных и аналитических систем, которые помогут прокачать навыки. Карьерные треки для выпускников Открытых школ позволяют быстрее вырасти в мидла в Т1.

⚙️ Работать в классной компании, где есть все айтишные бонусы (ДМС, удалёнка и крутые офисы, спорт и обучение).

⌛️ Быстрое обучение: 1 месяц.
💻 Гибкий формат: все этапы онлайн, занятия по вечерам.

Бигтех ждёт тебя, подавай заявку до 8 ноября!

#реклама
О рекламодателе

Читать полностью…

Базы данных (Data Base)

Хотите автоматизировать рутину в базе данных?

5 ноября в 20:00 мск приглашаем вас на открытый вебинар «Триггеры в PostgreSQL». Узнайте, как с помощью триггеров можно управлять данными, автоматизировать процессы и поддерживать целостность данных в вашей базе.

На вебинаре вы:
- изучите основные возможности триггеров
- научитесь создавать их и управлять ими
- получите советы по оптимизации и отладке для реальных проектов.

Спикер Наталия Титова — опытный аналитик и преподаватель в области баз данных, анализа данных и DS. Старший преподаватель в департаменте прикладной математики МИЭМ НИУ ВШЭ.

Регистрируйтесь прямо сейчас и получите скидку на участие в курсе «PostgreSQL для администраторов баз данных и разработчиков».

https://vk.cc/cE2o8A

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

Читать полностью…

Базы данных (Data Base)

Быстрый выбор случайной строки из большой таблицы MySQL

Для эффективного извлечения случайной записи из большой таблицы в MySQL стоит избегать команды ORDER BY RAND(). Вместо этого используйте уникальный идентификатор id. Сначала определите максимальное значение id, генерируйте случайное число в пределах этого диапазона и затем получите строку с соответствующим id:


-- Отказываемся от полного сканирования таблицы, затратного по времени!
SELECT * FROM your_table
WHERE id >=
(SELECT FLOOR(1 + RAND() *
(SELECT MAX(id) FROM your_table)))
LIMIT 1;

-- Вместо 'your_table' укажите корректное имя вашей таблицы (если она не носит название 'your_table').


Применение этого подхода будет позволять быстро получать случайное значение без лишней нагрузки на сервер. Экономьте свое время! ⏰

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

PostgreSQL: возврат 0, если avg(price) пусто (NULL)

Заменить NULL на 0 в PostgreSQL поможет функция COALESCE(ваша_колонка, 0):


SELECT COALESCE(ваша_колонка, 0) FROM ваша_таблица;

Следовательно, если значение в ваша_колонка равно NULL, будет возвращён 0.

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Визуализация связей таблиц в SQL Server

Выявить связи между таблицами в SQL Server можно обратившись к системным представлениям. Представленный ниже запрос вернёт информацию о всех внешних ключах:


SELECT
fk.name AS ForeignKey,
tp.name AS ParentTable,
cp.name AS ParentColumn,
tr.name AS ReferencedTable,
cr.name AS ReferencedColumn
FROM
sys.foreign_keys AS fk
INNER JOIN
sys.tables AS tp ON fk.parent_object_id = tp.object_id
INNER JOIN
sys.tables AS tr ON fk.referenced_object_id = tr.object_id
INNER JOIN
sys.foreign_key_columns AS fkc ON fkc.constraint_object_id = fk.object_id
INNER JOIN
sys.columns AS cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id
INNER JOIN
sys.columns AS cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id


Выполнение этого запроса позволит получить карту взаимосвязей, отображающую каждый внешний ключ, связанную с ним таблицу, её столбец, таблицу-референт и столбец в ней. Это отличный инструмент для комплексного анализа структуры базы данных.

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Как настроить master-slave репликацию в mysql (кратко)?

Необходимы 2 сервера: master и slave.

1. На обеих сервера устанавливаем сервер MySQL одинаковой версии.
2. Включаем сервер базы данных на обеих серверах.
3. Настраиваем master - в /etc/my.cnf устанавливаем слеюущие значения:


# выбираем ID сервера, произвольное число, лучше начинать с 1
server-id = 1
# путь к бинарному логу
log_bin = /var/log/mysql/mysql-bin.log
# название Вашей базы данных, которая будет реплицироваться
binlog_do_db = newdatabase


Перезапускаем сервер базы данных.

4. Подключаемся к master серверу, создаем пользователя и назначаем ему права для выполнения репликации.


mysql -u root -p <пароль root сервера БД>
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;


5. На master сервере делаем дамп базы данных c блокировкой таблиц.


mysqldump -u root -p --lock-all-tables newdatabase > newdatabase.sql


6. Переносим дамп базы на slave сервер, создаем базу данных с таким же именем и импортируем базу.


CREATE DATABASE newdatabase;
mysql -u root -p newdatabase < newdatabase.sql


7. Настраиваем slave в /etc/my.cnf:


# ID Слейва, удобно выбирать следующим числом после Мастера
server-id = 2
# Путь к relay логу
relay-log = /var/log/mysql/mysql-relay-bin.log
# Путь к bin логу на Мастере
log_bin = /var/log/mysql/mysql-bin.log
# База данных для репликации
binlog_do_db = newdatabase


Перезапускаем сервер базы данных.

8. Запускаем репликацию на slave сервере.


CHANGE MASTER TO MASTER_HOST='10.10.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='password',
MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 107;
##Указанные значения мы берем из настроек Мастера
После этого запускаем репликацию на Слейве:
START SLAVE;


9. Проверяем статус репликации:


SHOW SLAVE STATUSG


#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Шпаргалка по выбору базы данных

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

База данных баз данных

Откройте для себя и узнайте о 900 системах управления базами данных

https://dbdb.io/

#db

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Хотите узнать, как использовать Patroni для управления высокодоступными кластерами PostgreSQL?

Ждем вас на открытом вебинаре 24 октября в 20:00 мск, где мы разберем:

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

👨‍💻🛠👨🏻‍💻 Урок для DevOps-инженеров, системных администраторов, backend-разработчиков и тимлидов, стремящихся обеспечить высокую доступность PostgreSQL.

Спикер Андрей Поляков — старший разработчик в Unlimint.

Встречаемся в преддверии старта курса «Highload Architect». Все участники вебинара получат специальную цену на обучение! Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cD2naD

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

Читать полностью…

Базы данных (Data Base)

Как найти дубли в sql

Для того чтобы найти дубликаты в базе данных SQL, можно использовать операторы SELECT и GROUP BY совместно с оператором HAVING. Например, следующий запрос позволяет найти все строки, у которых значение определенного столбца повторяется более одного раза:


SELECT столбец, COUNT(*) AS количество
FROM таблица
GROUP BY столбец
HAVING COUNT(*) > 1;

Этот запрос выведет все уникальные значения столбца "столбец", а также количество раз, которое каждое значение повторяется в таблице. Результатом будут только те строки, где значение столбца повторяется более одного раза, что указывает на наличие дубликатов.

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

#sql

👉 @database_info

Читать полностью…

Базы данных (Data Base)

SQL Injection - теория и примеры

В прошлом видео я поспешил рассказать и показать SQL Injection на практике, а в этом видео я хочу сделать шаг назад и поговорить чуть больше о теории и больше рассмотреть небольших примеров.

источник

#sql

👉 @database_info

Читать полностью…

Базы данных (Data Base)

SQL injection - почему, зачем и как защититься от SQL инъекции

В этом видио хотелось бы поговорить про очень опасную на мой взгляд хакерскую атаку SQL Injection. Это одна из старейших атак и она все ещё актуальна. Сегодня мы рассмотрим примеры использования SQL Injection на примере небольшого C# приложения. В других языках программирования и фреймворках все работает идентично.

источник

#sql

👉 @database_info

Читать полностью…

Базы данных (Data Base)

Возможности для молодых людей в «Алабуге»

В особой экономической зоне «Алабуга» активно развивается лидерская программа «100 Лидеров». В ней могут поучаствовать молодые специалисты от 19 до 29 лет.

У участников есть возможность познакомиться с топ-менеджерами компании, поиграть в бизнес-игры, пройти собеседования с реальным шансом трудоустройства в компанию «Алабуга».

Питание и проживание за счет компании.

Работа в «Алабуге» - это зарплата от 78 до 200 тысяч рублей и участие в реализации проектов мирового уровня.

Следующий поток - с 28 по 31 октября!
Заявку можно подать на сайте

Читать полностью…

Базы данных (Data Base)

Любая крупная БД рано или поздно начинает испытывать проблемы с производительностью.

Причина проблем может крыться в медленной работе запросов. Неоптимизированные запросы влияют на скорость выполнения различных задач, потребляют много ресурсов и усложняют доступ к данным.

Как же их отслеживать и оптимизировать?

Узнаете на открытом вебинаре «Как оптимизировать производительность запросов в PostgreSQL?»

Вы узнаете:
- как оптимизация запросов влияет на скорость обработки данных
- что влияет на производительность запросов
- как правильно использовать индексы для повышения производительности
- как выявлять медленные запросы с помощью инструментов мониторинга

Будет интересно: аналитикам, инженерам и разработчикам БД, бэкенд-специалистам, тимлидам и проект-менеджерам.

Спикер: Алексей Железной, преподаватель OTUS и старший инженер данных.

Бонус! Всем участникам – скидка 5% на любой курс OTUS и полезные гайды.

16 октября, 18:30 МСК, Бесплатно

Записаться на событие - https://otus.pw/8zDPl/?erid=LjN8KUAhZ

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…
Subscribe to a channel