SQL контест

Вторник, 29 ноября 2016
Таймс, ауд. 405

Приложенные файлы

Описание

Соревнуемся в написании SQL-запросов.

Правила контеста

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

Схема БД

Схему БД и скрипт, заполняющий её данными, можно скачать из приложенных файлов. Обратите внимание, что данные генерируются случайным образом. Те данные, которые вы сгенерируете себе, совершенно точно будут отличаться от тех, что будут на контесте. Но схемы будут совпадать.

Авторство задач

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

Задачи можно присылать до вечера 25 ноября, посылая решения на соответствующее задание в этом курсе.

Решение задач

Задачи будут решаться во время контеста, методом отсылки текста запроса, оформленного некоторым несложным образом, через веб-интерфейс проверяющему роботу. Можно выбрать уровень задачи (лёгкая/средняя/тяжёлая) и выбрать, если захочется, конкретного автора. Впрочем, авторы будут анонимными. Свою собственную задачу вы на решение не получите. Решения можно посылать неограниченное количество раз, штрафов нет.

Начисление баллов

У каждой задачи будет стоимость в N баллов, которая поделится поровну между всеми участниками контеста, решившими задачу и её автором, по N/(K+1) балла каждому, где K - количество решивших задачу. Автор получит свой авторский гонорар за задачу только в том случае, если кто-нибудь сделает попытку решить задачу, то есть пошлёт хотя бы одно решение (возможно, неправильное).

Баллы участника суммируются по всем задачам, как за авторство так и за решения.