Идея небольшого, но изящного и полезного проекта для тех, кто интересуется трансляторами и базами данных.
Прелюдия
В промышленности при проектировании схем БД используют инструменты типа 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. Вперёд!
Прелюдия
В промышленности при проектировании схем БД используют инструменты типа 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. Вперёд!