database_info | Unsorted

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

6213

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

Subscribe to a channel

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

Курс «Английский для аналитиков» Яндекс Практикума

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

🗣 Самопрезентация. Рассказ о своей роли, задачах, сфере ответственности на поведенческом интервью и в неформальной беседе.
🙌 Работа в команде. Стендапы, планирование спринтов, демонстрация навыков командной работы на собеседовании.
👨‍💻 Общение с заказчиками и исполнителями. Сбор требований у стейкхолдеров и постановка задач для разработчиков.
📈 Презентация результатов работы. Выступление на митапах, неформальное общение с коллегами из отрасли.
📝 Обсуждение решений по проекту. Генерация и аргументация идей, участие в мозговых штурмах.
🚀 Рефлексия и самоанализ. Ретроспектива, ревью, ответы на сложные вопросы.

Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.

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

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

MySQL. Работа с бекапами.

Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE
или так
zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE

Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:
-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее


Для просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORD

А так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASE

Для таблиц InnoDB надо добавлять --single-transaction, это гарантирует целостность данных бекапа.
Для таблиц MyISAN это не актуально, ибо они не поддерживают транзакционность.

Общие факты
Полезно под каждую базу на боевом сервере создавать своего пользователя
Кодировка базы может быть любой, если она UTF8
В большинстве случаев лучше использовать движок InnoDB
В php лучше забыть про сильно устаревшее расширение mysql и по-возможности использовать pdo или mysqli
Новую копию MySQL всегда можно настроить и оптимизировать
Без особой нужды не стоит открывать MySQL наружу. Вместо этого можно сделать проброс портов
ssh -fNL LOCAL_PORT:localhost:3306 REMOTE_USER@REMOTE_HOST

#db

👉 @database_info

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

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

Основные концепции баз данных

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

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

Столбец - это одно поле в таблице, которое хранит данные одного типа. Каждый столбец имеет уникальное имя и тип данных, который определяет, какой тип данных может храниться в столбце.

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

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

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

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

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

SQL - это язык структурированных запросов, который используется для работы с реляционными базами данных. SQL позволяет выполнять операции на создание, изменение и удаление таблиц и данных в них, а также на извлечение данных из таблиц с помощью запросов. SQL является стандартом для работы с реляционными базами данных и используется в большинстве СУБД.

#db

👉 @database_info

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

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

Roadmap по изучению SQL за 2 месяца

Неделя 1: Основы SQL
Изучение базовых концепций SQL, таких как таблицы, столбцы, строки и типы данных
Создание простых SELECT запросов для извлечения данных из таблицы
Изучение фильтрации данных с помощью операторов WHERE и LIKE

Неделя 2: Расширенные SELECT запросы
Изучение агрегирующих функций, таких как COUNT, SUM, AVG и MAX/MIN
Изучение GROUP BY и HAVING для группировки и фильтрации данных
Изучение операторов JOIN для объединения данных из нескольких таблиц

Неделя 3: Создание и изменение таблиц
Изучение команды CREATE TABLE для создания новых таблиц
Изучение команды ALTER TABLE для изменения структуры таблицы
Изучение команды DROP TABLE для удаления таблицы

Неделя 4: Изменение и удаление данных
Изучение команды INSERT для добавления новых строк в таблицу
Изучение команды UPDATE для изменения существующих строк
Изучение команды DELETE для удаления строк из таблицы

Неделя 5: Основы баз данных
Изучение концепций баз данных, таких как первичные и внешние ключи
Изучение команды CREATE DATABASE для создания новой базы данных
Изучение команды USE для выбора базы данных для работы

Неделя 6: Работа с индексами и ограничениями
Изучение индексов для ускорения поиска данных в таблице
Изучение ограничений для защиты данных и обеспечения целостности таблицы

Неделя 7: Работа с представлениями и хранимыми процедурами
Изучение представлений для создания виртуальных таблиц на основе запросов
Изучение хранимых процедур для создания пользовательских функций и процессов

Неделя 8: Закрепление изученного материала
Повторение и углубление знаний с помощью практических заданий и проектов
Подготовка к сертификационным экзаменам, если это необходимо

#db

👉 @database_info

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

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

Подборка вопросов и задач по SQL на собеседовании с ответами

Назовите типы джойнов в SQL
Ответ:
INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS

Чем NULL отличается от 0
Ответ:
0 - это число.
NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.

Какие параметры используются в конструкции order by?
Ответ:
ASC и DESC

Какой оператор имеет больший приоритет AND или OR (если они используются совместно)?
Ответ:
AND имеет больший приоритет, нежели OR

Какие операторы обязательны при выборке данных с соединением таблиц (не учитывая cartesian product)?
Ответ:
SELECT, JOIN, FROM

Какие из операторов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?
Ответ:
INSERT, DELETE, SELECT, UPDATE

С помощью какого запроса можно удалить все записи из таблицы?
Ответ:
DELETE FROM

Для чего нужен оператор UNION?
Ответ:
Для объединения двух таблиц, при условии что каждая имеет одинаковое количество столбцов, столбцы имеют схожие типы данных, столбцы располагаются в том же порядке.

Какой оператор используется для изменения объектов базы данных?
Ответ:
ALTER

Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?
Ответ:
Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.
При использовании агрегирующих функций предложение GROUP BY сокращает количество строк в запросе с помощью их группировки. При использовании оконных функций количество строк в запросе не уменьшается по сравнению с исходной таблицей.

#SQL

👉 @database_info

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

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

Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами

В этом видео мы узнаем:
- Что такое индексация в SQL
- Для чего нужна индексация
- Как работает индексация
- Что такое двоичный поиск
- Что такое план выполнения запроса
- Когда лучше использовать индексы
- Когда лучше НЕ использовать индексы
- Что такое кластеризованный индекс
- Что такое некластеризованный индекс

источник

#db

👉 @database_info

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

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

Что такое Байесовское А/B-тестирование и как его провести? 
✅ Подробно обсудим 18 апреля в 20:00 мск на открытом уроке в OTUS. Занятие приурочено к старту онлайн-курса «Machine Learning. Advanced»

На вебинаре мы разберем, какие преимущества дают Байесовские A/B тесты по сравнению с обычными, как проводить Байесовские A/B тесты и как работать с Байесовскми моделями в PyMC3.

В результате урока вы:
- Познакомитесь с основами A/B тестирования
- Научитесь делать дизайн эксперимента для A/B теста
- Узнаете, как определить, что тест шел достаточно времени
- Познакомитесь с критериями принятия решения по эксперименту
- Получите новый простой и эффективный инструмент для A/B тестирования

⚠️  Урок будет полезен специалистам в области аналитики данных или аналитики продукта, а также тем, кто уже знаком с A/B тестированием, но хочет углубить свои знания. 

🖌 Для участия пройдите вступительный тест
https://otus.pw/xe0l/

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

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

Работа в IT доступна для каждого! Не обязательно иметь техническое образование.

Если вы хотите попробовать себя в IT, но еще не готовы учиться программированию, то профессия «Аналитик данных» — отличный выбор!

На Хекслете вы сможете не только освоить востребованную профессию, но и поучаствовать в Карьерном треке, который поможет найти первую работу в IT.

Вы пройдете вебинары, которые охватывают все темы по трудоустройству — от составления резюме и рабочих профилей до психологических аспектов собеседований и адаптации на рабочем месте.

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

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

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

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

Вопрос по SQL на собеседовании в Twitter
Найдите сотрудника с самой высокой зарплатой в каждом отделе. Выведите название отдела, имя сотрудника и соответствующую зарплату.

employee

id:int
first_name:varchar
last_name:varchar
age:int
sex:varchar
employee_title:varchar
department:varchar
salary:int
target:int
bonus:int
email:varchar
city:varchar
address:varchar
manager_id:int


ОТВЕТ:

SELECT department as department,
first_name as employee_name,
salary
FROM employee
WHERE (department, salary) IN
(SELECT department, MAX(salary)
FROM employee
GROUP BY department)


#db

👉 @database_info

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

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

Когда работаешь в анализе пару лет, появляется желание куда-то двигаться в карьере. А с желанием — вопросы:

◾️ Как добиться роста в грейде и зарплате?
◾️ Как переходить от рутинных задач к ответственным и интересным?
◾️ Как вести переговоры с руководством и стоять на своём?
◾️ Как перейти в смежную профессию — стать системным аналитиком из аналитика данных или наоборот?

За ответами приходите на бесплатный вебинар Яндекс Практикума.
→ 28 марта в 15:00

Расскажем, куда можно расти аналитику и какие конкретные шаги для этого сделать.А специалисты Практикума, которые работают с направлением анализа данных, поделятся инсайтами рынка труда.
— Ирина Ефимова, руководительница исследований.
— Алексей Макаров, руководитель сопровождения и фидбэка.

→ Приходите на нашу встречу, чтобы вызывать карьерный лифт.

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

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

Шпаргалка по оконным функциям в SQL

#db

👉 @database_info

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

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

Триггеры в MySQL

#db

👉 @database_info

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

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

❗️SQL Injection Master - самый полный курс по SQL инъекциям

Старт:
10 апреля
Продолжительность: 3 месяца

3-месячный онлайн-курс SQL Injection Master позволит вам изучить:

✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.

👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!

Преимущества онлайн-курса SQL Injection Master:

። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.

🔥 Имеется промо-доступ на 7 дней!

Узнать подробнее о курсе:
https://sql-injection.codeby.school/

Реклама. Информация о рекламодателе на сайте https://codeby.school/

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

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

❗️SQL Injection Master - самый полный курс по SQL инъекциям

Старт: 10 апреля
Продолжительность: 3 месяца

3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.

👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!

Преимущества онлайн-курса SQL Injection Master:

። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.

🔥 Имеется промо-доступ на 7 дней!

Узнать подробнее о курсе: https://sql-injection.codeby.school/

Реклама. Информация о рекламодателе на сайте https://codeby.school/

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

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

22 и 29 марта ИТ руководители ВсеИнструменты.ру, Фаберлик, ADV Group, Актион поделятся уникальным опытом построения Disaster Recovery решений.

Приглашаем на серию вебинаров, объединенных общей темой:
Как Disaster Recovery спасает ИТ и бизнес в эпоху возросших рисков.

Планируем обсудить:
- Подходы к выбору ИТ-архитектуры при построении Disaster Recovery решений с учетом требований и уровня критичности систем; 
- Best practice из разных сфер бизнеса; 
- Практические моменты при запуске DR (сеть, ИБ, мониторинг и др.);
- Способы решения возникающих проблем;
- Обзор инструментов для DR в 2023 году.

Участие бесплатное.
Посмотреть программу и зарегистрироваться.

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

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

Оконные функции SQL простым языком с примерами

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи)))

Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам. В БД табличка выглядит следующим образом

https://habr.com/ru/articles/664000/

#db

👉 @database_info

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

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

🚀 Хотите научиться программировать, администрировать сети и развивать собственный бизнес? У вас есть отличная возможность получить необходимые знания и навыки, пройдя открытые практикумы по DevOps, Linux, Networks, Kubernetes, Docker, Ansible, Gitlab CI, Linux, Kafka, MySQL, Golang от REBRAIN.
Более 20 бесплатных открытых практикумов каждый месяц!
Эти практикумы созданы опытными профессионалами, которые предоставят вам реальный опыт и знания в данных областях. Спикеры — профессиональные инженеры из лучших компаний ( Avito / Skyeng / AWS / Luxoft / DataArt и др.).

Наши открытые практикумы идеально подойдут как для новичков, так и для профессионалов, которые хотят улучшить свои навыки.

➡️ Присоединяйтесь к нашему Telegram-каналу уже сегодня и станьте настоящим профессионалом в области DevOps!

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

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

Самоучитель PostgreSQL Полный курс 2022 (Eng ver)

В этом видеоуроке по PostgreSQL я предоставляю полный курс, который вы можете использовать для освоения PostgreSQL. Postgres - это объектно-реляционная база данных, которая так же быстра, как и MySQL, более точно придерживается стандартов SQL и превосходит ее по параллельности. Postgres также лучше предотвращает повреждение данных.

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

Code & Transcript https://github.com/derekbanas/postgresql-tutorial

#db

👉 @database_info

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

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

🔥Кафка — это будущее для всех, кто хочет работать с лучшим брокером сообщений. Kafka выступает «буфером» для нагрузки и позволяет добиться задержек доставки данных в несколько миллисекунд.

🚀С каждым годом Kafka становится все более актуальной технологией, а специалисты со знанием Kafka все более востребованными💰. 

💡И задачи, с которыми они сталкиваются, очень разнообразны. Одна из таких — работа с Apache Kafka в приложениях на Spring Boot. 

Эту задачу разберем на открытом уроке 13 апреля в 20:00 мск в OTUS вместе с сертифицированным Java-разработчиком, Сергеем Петрелевичем. Занятие пройдет в рамках онлайн-курса «Apache Kafka» в OTUS.

💡Вебинар — это отличный способ не только расширить свои знания, но и познакомиться с курсом и преподавателем.  

👨‍🎓Продолжить занятия и вырасти в профессии вы сможете на курсе. Главное — успеть, пока он доступен в рассрочку.

👉Чтобы присоединиться, пройдите вступительный тест https://otus.pw/NOMN/

 Реклама. Информация о рекламодателе на сайте otus.ru

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

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

Юбилейная 35-я выставка "СВЯЗЬ 2023" и 250 компаний-экспонентов уже с 11 апреля!
Ждем профессионалов коммуникационных технологий, ИТ и телеком-отрасли на Российской неделе высоких технологий в Экспоцентре!
250 экспонентов выставки "СВЯЗЬ 2023" и НАВИТЕХ, эксклюзивные национальные экспозиции Китая и Ирана — посмотреть всех участников-2023
✅ Регистрация и ваш бесплатный электронный билет
Знакомьтесь с Деловой программой «Российской недели высоких технологий - 2023»

🗣👥 Присоединяйтесь к сообществу единомышленников и экспертов, и принимайте участие в ключевом мероприятии отрасли!
Ждем на выставке "СВЯЗЬ 2023. ИТ-технологии. Телекоммуникации"!

#ИТ #софт #телеком #связь #технологии #инновации #hitech

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

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

Где и как учить SQL бесплатно?

SQLZoo (https://sqlzoo.net/) - бесплатный ресурс, который предоставляет интерактивные уроки и задачи для изучения SQL. Уроки начинаются с простых запросов и наращивают сложность по мере продвижения.

W3Schools SQL (https://www.w3schools.com/sql/) - популярный сайт для изучения SQL и других языков программирования. Содержит множество уроков и примеров с возможностью практического применения.

Codecademy SQL (https://www.codecademy.com/learn/learn-sql) - интерактивный курс для изучения SQL с возможностью практического применения на практике.

SQLBolt (https://sqlbolt.com/) - бесплатный ресурс, который предоставляет уроки и задачи для начинающих и продвинутых пользователей SQL.

Khan Academy SQL (https://www.khanacademy.org/computing/computer-programming/sql) - бесплатный курс SQL, предоставляющий уроки и задачи для изучения языка.

Udacity SQL (https://www.udacity.com/course/sql-for-data-analysis--ud198) - курс SQL от Udacity, который научит Вас основам языка SQL и его применению в анализе данных.

LearnSQL (https://learnsql.com/) - платный ресурс для изучения SQL. Содержит большое количество уроков и практических заданий.

SQLCourse (http://www.sqlcourse.com/) - бесплатный ресурс для изучения SQL. Содержит уроки, задания и тесты для проверки знаний.

SQL Tutorial (https://www.sql-tutorial.ru/) - бесплатный ресурс для изучения SQL на русском языке. Содержит уроки и задания для практического применения.

Mode Analytics SQL Tutorial (https://mode.com/sql-tutorial/) - бесплатный курс SQL от Mode Analytics, который научит Вас базовым и продвинутым навыкам работы с языком SQL.

SQL Exercises (https://www.sql-ex.ru/) - бесплатный ресурс с задачами и упражнениями для изучения SQL. Содержит задания для практического применения на практике.

SQL Fiddle (http://sqlfiddle.com/) - бесплатный онлайн-редактор SQL, который позволяет создавать, тестировать и отлаживать SQL-запросы.

Learn SQL the Hard Way (https://learncodethehardway.org/sql/) - книга для изучения SQL, содержащая уроки и задания для практической работы.

SQL Zoo (https://www.sqlzoo.net/wiki/AdventureWorks) - бесплатный ресурс для изучения SQL, содержащий уроки и задания на основе базы данных AdventureWorks.

DataCamp SQL (https://www.datacamp.com/courses/intro-to-sql-for-data-science) - курс SQL от DataCamp, который научит Вас основам языка SQL и его применению в анализе данных. Содержит уроки и практические задания на практике.

#db

👉 @database_info

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

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

Вопросы на собеседовании по SQL

источник

#db

👉 @database_info

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

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

Быстрый курс по SQL для начинающих

Что такое SQL? Как работать с WebSQL? Основы SQL | SQL для начинающих
SQL WHERE. Операторы SQL. Булева алгебра в SQL. LIKE, BETWEEN, IS, IN
SQL ORDER BY, DISTINCT, UNION ALL, LIMIT
SQL нормализация и денормализация базы данных. Склейка таблиц через FROM (аналог SQL JOIN)
SQL JOIN. LEFT JOIN. Что такое связь многие ко многому и один ко многому
SQL GROUP BY HAVING и агрегирующие функции COUNT, SUM, AVG, MIN, MAX. Практика SQL
SQL вложенные запросы в EXISTS, IN, FROM, SELECT. Практика SQL
SQL DELETE, UPDATE SET, INSERT INTO SELECT. Практика SQL
SQL WITH, VIEW. Книга по SQL. Правильное построение запросов в SQL. Практика SQL

источник

#db

👉 @database_info

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

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

SQL за полтора часа в одном видео! Полный базовый курс по SQL. Базы данных курс для начинающих!

00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции

источник

#db

👉 @database_info

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

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

Задача. Подсчет сессий пользователя.

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

+------+----------------------------+
| user | login |
+------+----------------------------+
| 1 | 2022-10-12 20:05:00.000000 |
| 1 | 2022-10-12 20:10:00.000000 |
| 1 | 2022-10-12 20:15:00.000000 |
| 1 | 2022-10-12 20:20:00.000000 |
| 1 | 2022-10-12 20:25:00.000000 |
| 1 | 2022-10-12 10:05:00.000000 |
| 1 | 2022-10-12 20:40:00.000000 |
| 1 | 2022-10-12 20:30:00.000000 |
| 1 | 2022-10-12 10:20:00.000000 |
| 1 | 2022-10-12 10:10:00.000000 |
| 1 | 2022-10-12 20:05:00.000000 |
| 2 | 2022-10-12 20:10:00.000000 |
| 2 | 2022-10-12 20:15:00.000000 |
| 2 | 2022-10-12 20:20:00.000000 |
| 2 | 2022-10-12 20:25:00.000000 |
| 2 | 2022-10-12 10:05:00.000000 |
| 2 | 2022-10-12 20:40:00.000000 |
| 2 | 2022-10-12 20:30:00.000000 |
| 2 | 2022-10-12 10:20:00.000000 |
| 2 | 2022-10-12 10:10:00.000000 |
+------+----------------------------+


Впервую очередь отсортируем данные и применим функцию lag для смещения данных на 1 значение вниз

SELECT t1.user,
login,
lag(login, 1, NULL) OVER
(PARTITION BY
t1.user ORDER BY t1.user,
login) next_log
FROM table t1

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

select *,
sum(ind) over
(PARTITION BY t3.user
ORDER BY t3.user rows
between unbounded preceding and current row) as sessions
from (
select t2.user,
login,
case
when (login-prev_log) > '5 mins' then 1
else 0
end ind
from (
SELECT t1.user,
login,
lag(login, 1,NULL)
OVER (PARTITION BY t1.user
ORDER BY t1.user, login) prev_log
FROM table t1) t2
) t3


#db

👉 @database_info

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

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

🔥🔝 Готовы прокачать навыки работы с NoSQL БД?

➡️ Успейте попасть в группу онлайн-курса «NoSQL» OTUS!

Чтобы проверить достаточно ли у вас навыков для обучения на курсе
👉 Пройдите тест

📊Обучение посвящено самым популярным решениям: Cassandra, MongoDB, Redis, ClickHouse, Tarantool, Kafka, Neo4j, RabbitMQ и т.д

5️⃣ После 5 месяцев обучения вы сможете:
- Устанавливать и эксплуатировать NoSQL БД, в т.ч. для выделенных виртуальных серверов, больших шардированных кластеров и облачных провайдеров
- Выбрать оптимальное решение в зависимости от вашей задачи и предметной области
- Улучшить производительность СУБД и оптимизировать медленные запросы

📌Старт занятий 29 марта.

👉 Изучайте программу курса и проходите тест для записи в группу: https://otus.pw/l5Mfq/

Реклама. Информация о рекламодателе на сайте otus.ru

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

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

Базы Данных – Татьяна Денисова

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

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

источник

#db

👉 @database_info

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

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

Pgcenter

Инструмент администратора командной строки для наблюдения и устранения неполадок Postgres.

Основная цель
Postgres предоставляет различные статистические данные о своей работе, такие как соединения, операторы, операции с базой данных, репликация, использование ресурсов и многое другое. Общее назначение статистики - помочь DBA в мониторинге и устранении неполадок Postgres. Однако эта статистика предоставляется в текстовом виде, извлекается из SQL-функций и представлений, а Postgres не предоставляет встроенных инструментов для работы с представлениями статистики.

Помочь DBA Postgres в работе со статистикой и предоставить удобный способ наблюдения за Postgres во время выполнения.

https://github.com/lesovsky/pgcenter

#db

👉 @database_info

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

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

Курс SQL - от новичка до профи

Регистрация на сайте Oracle
Что такое SQL? Какие задачи решают Базы Данных?
Команды SQL: DML, DDL, DCL, TCL
Агрегатные функции SQL: MIN | MAX | AVG | SUM | COUNT
Функция GROUP BY. HAVING vs WHERE
INNER JOIN. LEFT JOIN и другие... В ЧЕМ РАЗНИЦА?
Подзапросы SQL Oracle | Вложенные запросы SQL
Агрегатные оконные функции | Аналитические функции sql: min/max/sum/avg/count
Оконные функции SQL | Аналитические функции row_number / dense_ranka

#db

👉 @database_info

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

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

Базы данных и SQL

Программы, управляющие базой данных
Устройство базы данных
Работа с базой данных
Изучаем базы данных - ссылки
Под Windows в командной строке не работают русские буквы
Что должен знать разработчик?
Теория по проектированию БД
Чем отличаются движки для таблиц MyISAM и InnoDB?
Индексы
Задачка про лайки
Усложненная (но более жизненная) задача про лайки
Задачка про кинотеатр
Сложная задача про календарь

https://github.com/codedokode/pasta/blob/master/db/databases.md

#db

👉 @database_info

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