Отображение схем данных

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Отображение схем данных

Сообщение evb87ar » 04.09.2012 23:09:31

Хочу попросить совета у тех, кто уже делал реализацию схем данных с возможностью взаимодействия с объектами.

У меня есть редактор данных, который позволяет делать привязки синонимов в полям БД, а так же составлять ссылки table.field->table.field для линковки данных.
Что-то наподобие внутреннего механизма 1С.
Схема отображает цветным индикатором существование элементов структуры и связи между ними.

Работать с таблицами - не очень-то и удобно. Хочу наваять графический редактор, который будет представлять схему в таком виде:
Изображение

Просто отрисовать схему - это не проблема. Проблема в том, что бы можно было таскать объекты, располагая в удобном месте, использовать Drag and Drop для создания ссылок между полями и т.д.
У меня есть небольшой опыт в создании редакторов подобного вида, но без взаимодействия (просто переместить, удалить, создать).

Собственно вопрос для тех, кто с этим сталкивался, что посоветуете в данной ситуации: писать свой визуальный компонент, или обойтись динамических созданием Panel с содержащимися Label, Image?
Последний раз редактировалось evb87ar 05.09.2012 09:46:27, всего редактировалось 1 раз.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение alexs » 04.09.2012 23:24:56

В FBManager сделал визуальный построитель запросов - это то что тебе нужно.
Посмотри.
Там можно и алисы делать и прочее...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Отображение схем данных

Сообщение evb87ar » 04.09.2012 23:46:53

alexs, скачал, но там много сторонних компонентов. Не стал заморачиваться с компиляцией, так как из-за особенностей проектов, мне требует делать всё на стандартных компонентах.
Код ещё не рассматривал детально, но хотелось бы спросить, на базе чего делали отображение и можно ли там управлять данными прямо со схемы?

UPD: пишу полностью под Linux.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение alexs » 05.09.2012 00:09:02

Визуальный построитель - на базе стандатных TPanel, CheckBoxList, TLabel. Работает Drag&Drop.
Результат работы - строится SQL запрос. По желанию - отправишь запрос, куда нужно будет.
Именно в этой части - код достаточно прост. Легко можно адаптировать под свои нужды.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Отображение схем данных

Сообщение Kemet » 05.09.2012 07:15:57

Идём нв sf.net и находим там лисапет
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: Отображение схем данных

Сообщение evb87ar » 05.09.2012 10:03:39

alexs, спасибо за информацию.
Kemet, спасибо за ссылку.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение xdsl » 06.09.2012 13:00:55

DBDesigner давно заброшен. Его дело продолжает Mysql Workbench http://www.mysql.com/products/workbench/
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: Отображение схем данных

Сообщение Padre_Mortius » 06.09.2012 18:26:54

xdsl, MySQL Workbench выглядит только как DBDesigner 4, но при этом полностью переписан на яве и гвоздями прибит к MySQL, в отличие от родителя.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Отображение схем данных

Сообщение evb87ar » 07.09.2012 09:29:40

Посмотрел и то, и то, и это, и другое - и решил ваять свой велосипед. С иконками и тенями.
Ибо в тех вариантах слишком много ненужного, быстрее своё накидать, чем то усекать.
За основу решил взять скрытое TreeView и array of TImage.

Как закончу, выложу сюда, вдруг кому пригодится.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение evb87ar » 10.09.2012 20:02:50

В-общем, накидал рабочий вариант.
Изображение

Исходники:
http://narod.ru/disk/60798548001.1d0eeedf30b99c5506c081f14163f233/objectSQL.zip.html

Вкратце:
unit_nogui_alias - модуль для работы с alias'ами
unit_nogui_links - модуль работы со связями
unit_nogui_db - модуль работы с БД

На схеме левой клавишей - перемещать объект, правой - создавать связи. Первый клик правой - что связать, второй клик правой - с чем связать.
Не использовал Label'ы и Panel'и потому как у меня задача - работа со структурой, у которой максимальная вложенность в один уровень.

Всё писано на стандартных компонентах, без всяких добавок.
Комменты поставлены, в сложных местах указаны входящие данные.

В-общем, если кому надо, забирайте - full GNU.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение Ism » 11.09.2012 02:46:42

Садисты
Фришная, но есть ограничения для размера базы, работает под wine
Не помню, есть ли визуальный построитель, но точно есть средства установки связей
http://www.sqlmanager.net/ru/products/m ... r/download
Бесплатно для дома
http://www.devart.com/ru/dbforge/mysql/ ... nload.html
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Отображение схем данных

Сообщение evb87ar » 11.09.2012 10:15:24

Ism, мне ведь нужны были либо исходники какого-либо решения, либо совет тех, кто уже делал такую реализацию. Но никак не программа без сырцов.
Как-то так.

Наверное я плохо описал что мне требуется. :(
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение Kemper » 13.09.2012 00:15:59

Спасибо, за проект. Очень интересный и готов местами вам помочь с ним, но viewtopic.php?f=13&t=8333.
Kemper
новенький
 
Сообщения: 61
Зарегистрирован: 18.05.2010 00:29:44

Re: Отображение схем данных

Сообщение evb87ar » 13.09.2012 09:40:42

Kemper, у меня есть парочка проектов на Google Code. Пробовал я использовать GitHub, но мне не понравилось. Штука-то полезная и мощная, но как-то не для меня оказалась.

Да и проект этот такой, более разовый, чем поддерживаемый. Этот кусочек является частью большой системы, которую я сейчас делаю по аспирантуре.
А если делать что-то более существенное, то надо сделать полноценный рефакторинг.

А так, выложил тем, кто хочет посмотреть как это сделано, придумать как улучшить алгоритмы и т.д.

Как-то так.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: Отображение схем данных

Сообщение Лекс Айрин » 19.02.2013 18:10:23

evb87ar, сорри, а проект не умер еще?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 222

Рейтинг@Mail.ru