Типичные вопросы на СОБЕСЕДОВАНИИ по SQL / Примеры задач и их решения


Типичные вопросы на собеседовании по языку SQL. Решаем задачи вместе. У Вас скоро собеседование по SQL или Вы считаете себя Гуру? Проверьте свои знания! Попытайтесь решить каверзные задачи ;)
#SQL, #Базыданных #Собеседование #ИльяХохлов #КурсыПрайм

Базы данных. 1,2,3 нормальные формы.


Презентация:
docs.google.com/presentation/d/1oMTCr79UvEJ526EXXDe5PFumVqIWXZNTlNNX_nqhxF8/edit?usp=sharing

Задачи (приводим таблицы к нормальным формам):
docs.google.com/spreadsheets/d/1wzEhdJ79tsyrFV6UceHmintgL-N_NdQJSjPXq7QxQ1E/edit?usp=sharing
docs.google.com/spreadsheets/d/1_Blix_Smpuemooap-dH1-hBay3HgPD6Zr8WsDm6JZ7c/edit?usp=sharing
docs.google.com/spreadsheets/d/1IoYa70nB3ldo476aLfrRGvBNq_SKG9kyxvXv0fdC2DE/edit?usp=sharing

Вводный курс по базам данных.

В этом занятии поговорим о:
— Нормализации базы данных
— 1 нормальной форме
— 2 нормальной форме
— 3 нормальной форме

По любым вопросам, связанным с курсом можно писать на почту: okulov@rclass.pro

Уроки MS SQL Server. Создание таблиц


Начинаем занятия по MS SQL Server! Первые шаги: где скачать, как установить, как создать первую базу данных и первую таблицу.
Поддержи развитие канала! money.yandex.ru/to/410013905743578
Qiwi Wallet 79534684569

Ссылка для скачивания MS SQL Server 2012 Express: www.microsoft.com/ru-ru/download/details.aspx?id=29062

9. Базы данных. MySQL и сравнение с PostgreSQL | Технострим


Слайды лекции: bozaro.github.io/tech-db-lectures/09/
► Другие лекции курса: www.youtube.com/playlist?list=PLrCZzMib1e9oOFQbuOgjKYbRUoA8zGKnj
Подробнее о курсе: park.mail.ru/curriculum/program/discipline/218/

Лекция читается в рамках образовательного проекта «Технопарк Mail.ru Group» при МГТУ им.Баумана.

Описание лекции:

Лекция посвящена СУБД MySQL и ее сравнению с PostgreSQL.

Рассматриваются следующие темы:

— Архитектура MySQL
— Подсистемы хранения MySQL
— Репликация в MySQL
— Настройка MySQL
— Проблемы MySQL
— Достоинства MySQL


Хронометраж:

00:00:05 О теме лекции
00:01:09 Архитектура MySQL
00:02:08 Архитектура MySQL: хранилища объектов
00:04:22 Подсистемы хранения: MyISAM
00:06:52 Подсистемы хранения: InnoDB
00:08:30 Подсистемы хранения: Memory
00:09:53 Подсистемы хранения: критерии выбора
00:11:51 Подсистемы хранения: надежность
00:12:05 Другие подсистемы хранения
00:12:57 Подсистемы хранения: когда какую использовать / практические примеры
00:14:42 Проблемы MySQL: не транзакционный DDL
00:16:27 Проблемы MySQL: дорогой ALTER TABLE
00:20:00 Проблемы MySQL: особенности выборки данных
00:23:02 Проблемы MySQL: хранилище и лог транзакций существуют за пределами «движка»
СУБД
00:24:55 Репликация в MySQL: режимы репликации / проблемы репликации в MySQL
00:31:16 Репликация в MySQL: другие особенности
00:33:30 Репликация в MySQL: хрупкая репликация (пример проблемного запроса)
00:35:56 Ответы на вопросы по хранилищам MySQL
00:39:00 Архитектура MySQL: особенности планировщика запросов
00:41:19 Планировщик запросов: гарантированно плохие запросы
00:43:57 Проблемы MySQL: отличие между равенством и конструкцией IN в запросе выборки
00:47:08 Планировщик запросов: DELETE (стандартный / специфичный синтаксисы)
00:49:58 Проблемы MySQL: AUTO_INCREMENT
00:54:09 Проблемы MySQL: TIMESTAMP vs DATETIME
01:00:20 Проблемы MySQL: операция UPDATE не соответствует стандарту SQL92
01:01:33 Проблемы MySQL: lower_case_table_names
01:05:13 Как я познакомился с MySQL
01:08:53 Достоинства MySQL: секционирование
01:11:10 Достоинства MySQL: COLLATIONS
01:17:18 Достоинства MySQL: LIBSLAVE
01:18:52 Настройка MySQL: базовые параметры / кэш MyISAM
01:20:21 Настройка MySQL: размер блока ключей key_cache_block_size
01:21:26 Настройка MySQL: кэш InnoDB
01:27:58 Настройка MySQL: ввод / вывод в MyISAM
01:29:38 Настройка MySQL: ввод / вывод в InnoDB
01:33:33 Критерии выбора СУБД и проблемы миграции
01:36:26 Проблемы MySQL: необычайно долгий дамп
01:37:01 Ответы на вопросы по пройденному материалу: проблемы миграции
01:41:59 Причины миграции с MySQL на PostgreSQL: пример из практики
01:46:33 Проблемы MySQL: MYSQLDUMP
01:51:32 Проблемы MySQL: нелогичное выполнение некоторых запросов — WARNING vs ERROR
02:03:30 Проблемы MySQL: нелогичное выполнение некоторых запросов — TIMESTAMP
02:09:41 Проблемы MySQL: нелогичное выполнение некоторых запросов — GROUP BY

— О КАНАЛЕ:

Официальный канал образовательных проектов Mail.Ru Group

► Нажмите здесь для подписки ‣ www.youtube.com/TPMGTU?sub_confirmation=1

Актуальные лекции и мастер-классы о программировании от лучших IT-специалистов. Если вы увлечены мобильной и веб-разработкой, присоединяйтесь!

Наши проекты:
Технопарк при МГТУ им. Баумана ‣ park.mail.ru
Техносфера при МГУ им. Ломоносова ‣ sphere.mail.ru
Технотрек при МФТИ ‣ track.mail.ru
Техноатом при МИФИ — atom.mail.ru
Технополис при СПбПУ — polis.mail.ru

— МЫ В СЕТИ:

Технопарк в ВК | vk.com/tpmailru
Техносфера в ВК | vk.com/tsmailru
Технотрек в ВК | vk.com/trackmailru
Техноатом в ВК | vk.com/technoatom
Технополис в ОК: www.ok.ru/technopolis
Технополис в ВК: vk.com/technopolis_ok
Блог на Хабре | habrahabr.ru/company/mailru

Postgres vs Mongo / Олег Бартунов (Postgres Professional)


РИТ 2017, Backend Conf

Тезисы:
backendconf.ru/2017/abstracts/2781.html

Я хочу немного порушить стереотипы, что Postgres — это чисто реляционная СУБД из прошлого века, плохо приспособленная под реалии современных проектов. Недавно мы прогнали YCSB для последних версий Postgres и Mongodb и увидели их плюсы и минусы на разных типах нагрузки, о которых я буду рассказывать.

Вторая нормальная форма. Правила нормализации БД


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

I НФ (первая нормальная форма): youtu.be/nsXV4PGMmrk
III НФ (третья нормальная форма): youtu.be/iJV8O4Vh7Vw
Первая, вторая, третья нормальные формы на практике: youtu.be/nW6k5ojUAAU

Нормальная форма Бойса-Кодда (BCNF): youtu.be/4Q1rXfVUaY8
Четвертая нормальная форма, правила нормализации отношений: youtu.be/xSPd6atE40o

Присоединяйтесь к нам!
Наша группа в контакте: vk.com/excellentprogrammer

Желаю вам успехов обучении!

Денис Колесников. Кровь, пот, микрофронтенды и монолит


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

Этот доклад для разработчиков middle и senior уровня, работающих с большой централизованной кодовой базой (и желающих эту кодовую базу распилить).

Григорий Петров. Общение микросервисов: REST, JSON, GraphQL или gRPC?


Большинство backend программ начинает свое сетевое общение с REST. По мере развития разработчику приходится отвечать на мелкие, но важные вопросы: как передавать дату и время, большие объемы данных, обеспечивать авторизацию и так далее.

Сетевые коммуникации в современном бэкенде — это множество конкурирующих протоколов, стандартов и подходов. У нас есть «REST», который каждый разработчик реализует по-своему, есть пересекающиеся JSON Schema и Open API, есть JSON API, GraphQL, gRPC, из-за угла выглядывает RAML.

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