Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
566 photos
468 videos
19 files
545 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Быстрый курс по 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
👍6
Работа в IT доступна для каждого! Не обязательно иметь техническое образование.

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

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

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

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

🆙 Не упустите возможность попробовать обучение на нашей платформе, перейдя по ссылке выше.
👍1
Где и как учить 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
🔥41👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами

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

источник

#db

👉 @database_info
👍9
Подборка вопросов и задач по 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
👍72
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
👍71
Media is too big
VIEW IN TELEGRAM
Самоучитель PostgreSQL Полный курс 2022 (Eng ver)

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

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

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

#db

👉 @database_info
👍7👎1
Основные концепции баз данных

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

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

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

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

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

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

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

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

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

#db

👉 @database_info
👍6
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
🔥2