Базы данных

Санкт-Петербург, осень 2018

Описание

Концепция

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

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

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

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

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

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

Зачет или незачет по курсу будет выставляться на основе домашних заданий. Те, кто регулярно решают ДЗ хорошим способом, и набирают более 60% от суммы оценок за ДЗ, получают зачет автоматом, а те, кто набирают до 60%, получат в конце курса практическое задание, в котором надо будет не наступить на те же грабли, что рассматривались по ходу курса.

Контакты

  • Основным средством для анонсов и обсуждения сиюминутных вопросов является канал db-spb-18 в Слаке
  • Домашние задания нужно будет сабмитить в ваш git-репозиторий на http://git.barashev.net
  • Электронная почта: csc@barashev.net

Используйте, пожалуйста, канал в слаке для обсуждения вопросов, которые потенциально интересны кому-нибудь ещё, кроме вас.

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

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

Вступительный тест

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

Введение.

Архитектуры информационных систем с БД. Элементы реляционной модели. Установка PostgreSQL и простые команды.

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

Что влияет на тормоза БД, а что нет.