Базы данных

Новосибирск, осень 2018

Описание

Краткое содержание.

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

Концепция

Курс построен по принципу узнай минимум, попробуй что-то сделать, узнай как можно сделать лучше. Каждая неделя курса состоит из

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

Несколько недельных итераций будут объединены в этап. Результатом этапа будет работоспособная система, код которой написан и переписан вами пару раз. Этот код будет проходить рецензирование преподавателей.

Домашние задания

Как правило, домашнее задание будет не традиционной проверкой усвоения материала после лекции, а специально заготовленными граблями, которые будут обсуждаться на лекции следующей. Обычно домашнее задание может быть выполнено разными способами, более или менее эффективными (условно, плохим и хорошим). Оценка за ДЗ почти всегда будет ненулевой, если есть хоть какая-то попытка решения, до 50% если решение есть, но не самое эффективное. И больше 50% если решение достаточно хорошее.

Обратите внимание, что 50% от 5 баллов -- это 2-3. В отличие от школы и вуза, 2 является довольно неплохой оценкой, а 3 так вообще выше границы.

Онлайн курс

Онлайн курс Погружение в СУБД 2018 на Степике будет давать более глубокие знания по пройденному материалу. Очередной модуль, который может оказаться полезным для выполнения домашнего задания, будет открываться одновременно с мягким дедлайном (да, его нужно смотреть после того как вы напишете первоначальное решение). Этот курс обязателен для получения зачёта.

Как будем оценивать

Оценка бинарная: зачет/незачет. Возможно, будет еще зачет с отличием.

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

  • Регулярно решал ДЗ хорошим способом и набрал больше 50% ? Получаешь зачет.
  • Решал ДЗ ни шатко ни валко, набрал от 33% до 50%, но прошел онлайн курс? Получаешь зачет.
  • Набрал меньше 33% по ДЗ? Попробуй еще раз в следующем году.

Преподаватели

Список лекций

Введение в SQL

Административная информация и введение в основные концепции и простейшие конструкции языка SQL.

API для доступа к базе данных из приложений

В архиве находятся:

  • HomeProjects.sql - перечисление типичных недостатков домашних проектов на сегодняшний день
  • gen_schema.sql - схема и генератор данных для таблиц Spacecraft,Planet,commander,Flight
  • app.py - код на Python 2, использующий DB-API
  • JDBC/ - код на Java, использующий JDBC
Древовидные структуры и рекурсивные запросы

Лекция доступна в онлайн курсе Погружение в СУБД 2018, тема 7: Древовидные структуры и рекурсивные запросы https://stepik.org/lesson/154987/step/1?unit=129374

Оптимизация выполнения запросов

Лекция доступна в онлайн курсе Погружение в СУБД 2018, тема 9: Оптимизация выполнения запросов https://stepik.org/lesson/155003/step/1?unit=129390

Триггеры

Как добавить себе в таблицы подземные стуки.

Ключ-значение и JSON

Что делать, если нужно в реляционной СУБД хранить нереляционные данные