Сейчас я работаю над разработкой нового проекта и в нём я решил использовать много новшеств, которые уже давно заприметил, но в силу того что до этого проекты были типичными использовать их не было необходимости.
В качестве одного из новшеств я решил не создавать Базу Данных вручную, как это было раньше, а сделать её используя какое-нибудь средство для визуального проектирования БД. Но задача оказа лась сложнее, нежели я думал.
Для начала нужно было найти программу, которая отвечает следующим требованиям:
- Работает в Ubuntu Linux без использования Wine и других эмуляторов Windows. Марк Шаттлворт сказал, что использование Wine неправильный путь, и я с ним согласен;
- Не должна связываться с БД, так как это не к чему, да и хостеры зачастую не дают доступа к MySQL извне.
- Умеет создавать ER-модель БД;
- Умеет создавать из модели SQL-код, пригодный для использования в MySQL.
Первое на что я обратил внимание, естественно, была программа MySQL Workbench (скачать MySQL Workbench). После установки версии 5.1.5aplha и не долгих тестов я был очень рад, так как понял что это именно то, что я хотел. Но моя радость была не долгой. После того как я приступил к созданию модели нужной мне БД програма начала вести себя неадекватно и вылетала при каждом удобном случае. После долгих попыток «договориться» с программой не приведших вообще ни к какому результату, был продолжен поиск аналогичных программ.
Была найдена статья «Обзор средств визуального проектирования БД в Linux». И начался перебор программ.
Было опробовано дополнение к IDE Eclipse — AmaterasERD. Плагин хорош только для быстрого набрасывания модели БД. Поддерживает построение отношений таблиц, но при этом нельзя указать какое действие должно производиться с зависимой таблицей (RESTRICT, CASCADE и т.д.). Да и превращение модели в SQL-код я не нашёл.
Был опробован GNU Ferret. Это что-то совсем аскетичное и на уровне начала 90-х.
OpenOffice.org: Базы данных — это сродни Microsoft Access и для данной задачи оказался бесполезен.
Execute Query — мощная среда, но в следствии того что я не могу подключиться к БД хостера мне не помогла. Также не имеет типов данных TEXT, BLOB и иже с ними.
Power*Architect Data Modeling Tool — удобное средство, но так же как и Execute Query имеет не все типы данных. Слегка аскетичное.
dbWrench — умеет делать всё что мне нужно, имеет приятный интуитивнопонятный интерфейс, работает быстро. Отличная альтернатива ещё очень сырому MySQL Workbench, НО она платная! 149 USD! Есть триал версия, которая работает 30 дней.
Есть ещё один интересный плагин для Eclipse от компании Soyatec, но я его ещё неиспытывал.
Выводы
В мире Linux есть много инструментов, которые могут выполнить поставленные мною задачи. Какие-то хуже, какие-то лучше, но идеального я так и не нашёл. Завтра испытаю плагин для Eclipse от Soyatec. Если он окажется лучше dbWrench, то буду проектировать БД в нём, а пока победитель моего обзора однозначно dbWrench, хоть он и платный!
Добавлено 28 января 2009 в 11:00
Плагин для Eclipse от компании Soyatec установить не удалось в силу моего низкого уровня знаний зависимостей плагинов среды Eclipse. Требуется плагин org.eclipse.pde, а я его найти и установить не смог.
Я использую DBDesigner-4.
http://www.fabforce.net/dbdesigner4/index.php
А точнее его форк — http://sourceforge.net/projects/dbdesigner-fork
Дело в том, что сам проект уже не развивается, а Форк — это попытка оживить его.
Конечно там есть много странностей и глюков, но ничего лучшего я не нашел.
Его плюсы:
— Генерация SQL,
— свзяь с БД (синхронизация, реверс-инжениринг),
— кроссплатформенность,
— текстовый формат файла (XML), что удобно для SVN
Спасибо за обзор! Как раз нужно средство визуального проектирования под линукс
Спасибо за обзор, я действительно нашел кое-какие вещи полезными для себя. Хотелось бы сказать по поводу PDE (Plugin Development Environment), тут всё просто. Не смотря на то, что в названии присутствует слово Plugin (да и в Eclipse, грубо говоря всё плагины), это не 1-2 файла и ставить их отдельно не лучшая идея. Проще всего скачать готовую сборку, куда pde уже входит. Показательной может оказаться вот эта страница: http://www.eclipse.org/downloads/packages/compare-packages. PDE присутствует в 5-ти сборках, какую из них выбрать? Это вопрос индивидуальный, но думаю для рисования ER-диаграм наиболее уютным пристанищем будет Eclipse Modeling Tools.
Правда, сказать, я не пробовал устанавливать Soyatec, но с Вашей подачи он меня заинтересовал, так что я его ещё поизучаю.
пользуюсь MySQL Workbench всё устраивает… работает как часики.. Что конкретно не получалось там сделать?
Взгляните на хороший и бесплатный инструмент — Valentina Studio 5.x, который вышел буквально пару месяцев назад. Я юзаю уже месяц – до сих пор нахожу новые фишки.
http://www.valentina-db.com/valentina-studio-overview
Andrey, спасибо за наводку. Сегодня начну тестировать, а потом опишу свои впечатления.