18 декабря 2012

Электронный Баобаб

Мы в очередной раз пытаемся сделать жизнеспособное и функциональное online расписание матмеха. Нам хочется, чтоб электронным баобабом пользовались все: и диспетчер, и студенты, и преподаватели. Чтоб информация была в красивом HTML, чтоб она  же была в красивом PDF, который можно повесить на физический баобаб, и чтоб диспетчер не парил себе мозг ни тем ни другим. Чтоб можно было к экзамену или курсу лекций прицепить конспект и список вопросов и виджет комментариев, чтоб с мобильного телефона можно было оповестить о задержке начала экзамена на полчаса, и чтоб извещение само послалось всем кто подписался. Чтоб баобаб, наконец, индексировался поисковиками и желательно обновлялся ежедневно.

Возможно, в этот раз шансы есть, по крайней мере мы уже неплохо продвинулись. Он уже живет по адресу baobab.mat-mex.ru

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



12 декабря 2012

СУБД 2012

Курс "Базы данных" читается осенью 2012 года на математико-механическом факультете СПбГУ. Все материалы находятся на dbms.barashev.net

ТехДок "Map-Reduce в домашних условиях"

Прочитал на технологическом семинаре кафедры МИТ Академического Университета техдок про разведение map-reduce'ов в домашних условиях. Когда-то что-то подобное в моем исполнении было на одной из лекций обзорного курса по анализу данных в Computer Science Center, теперь я его исправил и дополнил разделом про map-reduce на App Engine.

Слайды

23 февраля 2012

Консольный генератор SQL кода из ER модели

Идея небольшого, но изящного и полезного проекта для тех, кто интересуется трансляторами и базами данных.

Прелюдия

В промышленности при проектировании схем БД используют инструменты типа ERWin. На диаграмме рисуют сущности и связи, после чего нажимают кнопку и генерируют SQL код для конкретной СУБД. Мы в курсе "Базы Данных" на лекциях рассказываем про ER модель, но на практике ее не используем, и тому есть причины. Во-первых, нормальных бесплатных инструментов для построения логических ER-моделей и генерации кода в общем-то не существует. Во-вторых, ERWin стоит очень немалых денег и, надо сказать по секрету, уровень комфорта за эти деньги ниже среднего (ну, был по крайней мере несколько лет назад). Ну и в-третьих, даже если бы ERWin был бесплатным, то на практике вместо того чтоб одну пару слушать про ER модель и придумывать грамотную модель для своей задачи студенты изучали бы интерфейс программы ERWin.

Идея

ER-модель в общем-то неплохо описывается безо всяких диаграмм в текстовом виде. Например так

ФАКУЛЬТЕТ
  название: String
  адрес: String


КАФЕДРА
  название: String
  аудитория: Integer


ФАКУЛЬТЕТ-КАФЕДРА 1:0..N
 

Всё понятно? Думаю да. Не нужно ничего кроме текстового редактора.

Так вот, почему бы не генерировать SQL код и даже диаграммы по текстовому представлению ER модели? Более того, инструменты, которые умеют строить симпатичные диаграммы из текста уже существуют. Вот например эта картинка построена из текста, встроенного в URL


http://yuml.me/diagram/scruffy/class/[Customer]1-0..*[Address]

Осталось только научиться генерировать SQL. Вперёд!