powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Визуализация SQL-запросов
39 сообщений из 39, показаны все 2 страниц
Визуализация SQL-запросов
    #34007998
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вопрос, на который поисковики пока не дают ответа. Я проектирую систему, и есть необходимость :) проверять формируемые ей sql-запросы. Вручную это делать просто нереально -- тратится много времени.

Существует множество программ для визуального построения sql-запросов, в drag-n-drop-стиле, это все замечательно.

А есть ли сейчас хоть какие-нибудь программы, позволяющие сделать обратное преобразование -- на основе sql-запроса построить визуализацию, то есть, графически отобразить таблицы, из которых строится запрос, связи между ними, фильтры и, наконец, выбираемые данные?

Заранее спасибо.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34008015
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barxЕсть вопрос, на который поисковики пока не дают ответа. Я проектирую систему, и есть необходимость :) проверять формируемые ей sql-запросы. Вручную это делать просто нереально -- тратится много времени.


зачем вручную, сервер пущай проверяет :)

"разнообразные визуальные построители" - по тексту запроса рисуют красивые картинки, если запрос имеет простую структуру, наприме Microsoft Query.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34008179
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил

зачем вручную, сервер пущай проверяет :)



Затем, что сервер проверяет только синтаксис.

Изопропил

"разнообразные визуальные построители" - по тексту запроса рисуют красивые картинки, если запрос имеет простую структуру, наприме Microsoft Query.

Сложную :) Можно попробовать и MQ. Похоже, эта задача называется "обратное проектирование", нужно с PowerDesigner поработать...
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34008223
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Севрер не только проверяет синтаксис, но и выдаёт результаты, которые нужно сравнить с ожидаемыми. Или глядя на картинки со стрелочками хотим убедиться в корректности построения запроса?

Сложный - это не большой по количесву буковок,таблиц, полей, а включающий join с нетривиальными условиями соединения, коррелированные подзапросы, не говоря уже о рекурсивных запросах(для разных СУБД - естественно разных) и т д.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34008241
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Глядя на картинку со стрелочками можно убедиться, так ли связываются данные в запросе. Полезно, когда ты не знаешь какой запрос выдаст твоя система, и когда за короткое время нужно проанализировать варианты. (Классическая ситуация -- сравнить с эталоном. Как это сделать?)

Анализ результатов выполнения запроса -- это дополнительная ресурсоемкая задача. Визуализация -- это немного другое, ее можно и нужно иногда делать перед выполнением запроса. Если, конечно, нет избытка свободного времени.

Другими словами, здесь результат, который нужно проанализировать -- это строка sql-запроса. MQ попробую, но пока все, что попадалось, не позволяет работать с sql-запросом, как с абстракцией (разве что если надо отформатировать и подсветить синтаксис).
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009107
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barxСуществует множество программ для визуального построения sql-запросов, в drag-n-drop-стиле, это все замечательно.

А есть ли сейчас хоть какие-нибудь программы, позволяющие сделать обратное преобразование -- на основе sql-запроса построить визуализацию, то есть, графически отобразить таблицы, из которых строится запрос, связи между ними, фильтры и, наконец, выбираемые данные?

Заранее спасибо.
Acces - кнопка "в режиме SQL" вставить текст запроса и переключиться в режим "построителя запроса".
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009402
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123
Acces - кнопка "в режиме SQL" вставить текст запроса и переключиться в режим "построителя запроса".

Хорошо, но нужно, соответственно, описывать таблицы в Access...
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009561
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вполне возможно, что такие картинки А-ля "Арбуз для буквы А в букваре" нужны только для первого класса второй четверти.

Составьте портрет пользователя вашей программки и решите - надо ли это .... и для кого... (секретаря-машинистки/сталевара/студента/....)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009754
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вполне возможно.
Решил. Надо. IT-специалиста.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009779
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barxВполне возможно.
Решил. Надо. IT-специалиста.
рядом форум - Разработка IT технологий
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009821
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все грустнее и грустнее. Вопрос касается именно sql-запросов, а не разработки новых технологий. Мне жаль вашего и моего времени, если разговора по существу не получится.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009868
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barx
Хорошо, но нужно, соответственно, описывать таблицы в Access...


ну и чего... было-б желание можно и описать (можно писать в access и конвертировать в SQL (если уж автогеном)

не в том, в общем-то дело - это разный SQL

1 не все запросы пойдут - не пойдет, например, BULK INSERT в ACCESS
2 не все запросы будут отображаться в ACCESS - например UNION ALL
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34009992
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barxВсе грустнее и грустнее. Вопрос касается именно sql-запросов, а не разработки новых технологий. Мне жаль вашего и моего времени, если разговора по существу не получится.
мне жаль Вашего времени потраченного на чепуху, которую никто не оплатит.

Как вы предпологаете увидеть в запросе "фильтр" и что это в Вашем понимании?
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010052
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-------------------------------------------------
table_bla
-------------------------------------------------
drcl_drcl_id = 30244
del_date is null
end_date >= to_date('01-09-2006','DD-MM-YYYY')
-------------------------------------------------

Предполагаю примерно так.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010099
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visual SQL-Designer кое-что может из реверс-инжиниринга SQL-запросов :)
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010213
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barx-------------------------------------------------
table_bla
-------------------------------------------------
drcl_drcl_id = 30244
del_date is null
end_date >= to_date('01-09-2006','DD-MM-YYYY')
-------------------------------------------------
Предполагаю примерно так.
IMHO

вообще то понятие фильтр не имеет никакого отношения к серверу. Только к клиенту.

Физическая реализация фильтра и условия в запросе после WHERE совершенно различная.

ЗЫ. По какому формату/ГОСТУ написан ваш текст выше остаётся догадываться.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010274
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123
IMHO

вообще то понятие фильтр не имеет никакого отношения к серверу. Только к клиенту.

Физическая реализация фильтра и условия в запросе после WHERE совершенно различная.

ЗЫ. По какому формату/ГОСТУ написан ваш текст выше остаётся догадываться.

Это, вообще-то, визуализация фильтра в той самой картинке, которую нужно получить. Ведь вопрос Как вы предпологаете увидеть в запросе "фильтр" и что это в Вашем понимании? был про это? К чему Вы все это спрашиваете? Выше написано достаточно много, какие исходные данные, и какой нужен результат. Если разбираеть один запрос в день, то можно рассуждать о принадлежности его к какому-либо формату. Здесь за полчаса нужно проанализировать 30-60 текстов sql-запроса и сказать "катит/не катит".

КАКАЯ база, КАКАЯ реализация -- второстепенный вопрос. НУЖНО анализировать только текст. ПОКА не было никаких вариантов.

Я надеюсь, желание понять суть вопроса пересилит стремление свести его к RTFM.

Konst_one, Пробовал, до того, как заводить тему. Не устраивает вот что: нужно заводить коннект. Будет время, попробую еще, спасибо.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010299
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO, топик бессмысленен, т.к. не имеет практического решения.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010318
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RENaissance
IMHO, топик бессмысленен, т.к. не имеет практического решения.


Posted via ActualForum NNTP Server 1.3

С тем, что на данный момент не существует готового решения, еще можно согласиться. По сути, решение -- это парсер. С графическим отображением результата разбора.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010383
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barx
С тем, что на данный момент не существует готового решения, еще можно согласиться. По сути, решение -- это парсер. С графическим
отображением результата разбора.

Готовое решение есть (и давно) - это сам SQL-сервер, который может на основании запроса план выполнения, что и будет являться
результатом разбора. И на плане вполнения Вы увидите и какие таблицы участвовали в запросе, как они объединялись между собой, какие
условия наклдывались и т.д.
З.Ы Расчитывать на то, что появиться программа, которая будет парсить запросы, мягко говоря, не дальновидно, т.к. задача построения
парсера запросов - технически сложная (равносильно написанию собственной СУБД).
З.З.Ы так и не понял, что же хочет автор...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010436
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissance
IMHO, топик бессмысленен, т.к. не имеет практического решения.


Posted via ActualForum NNTP Server 1.3

я бы, пожалуй сказал практически ценного решения, выходящего за рамки узкоспециализированной задачи автора...

собственно сам язык SQL является средством визуализации запросов к таблицам БД - для того и был написан - чего огород-то городить

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE emp (
 id integer PRIMARY KEY,
 salary integer
);
CREATE TABLE proj (
 id integer PRIMARY KEY,
 emp_id integer REFERENCES emp
);
CREATE TABLE bill (
 id integer PRIMARY KEY,
 proj_id integer REFERENCES proj
);
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010442
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RENaissance

Готовое решение есть (и давно) - это сам SQL-сервер, который может на основании запроса план выполнения, что и будет являться
результатом разбора. И на плане вполнения Вы увидите и какие таблицы участвовали в запросе, как они объединялись между собой, какие
условия наклдывались и т.д.
З.Ы Расчитывать на то, что появиться программа, которая будет парсить запросы, мягко говоря, не дальновидно, т.к. задача построения
парсера запросов - технически сложная (равносильно написанию собственной СУБД).
З.З.Ы так и не понял, что же курил автор...


Хм... План запроса в Oracle не показывает, как связываются таблицы.
Возможно, ждать было бы глупо. Реализации парсеров sql (текстовых) есть на Java и Delphi, к примеру, достаточно давно. Не буду спорить насчет сложности технической реализации, у меня есть интерес сделать его самому, но пока нет времени и за это действительно не заплатят :)

Считаю, имеет смысл закрыть тему.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010805
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Microsoft Query затыкается почти на всем, что чуть сложнее обычного join. А на T-SQL могут быть и функции, и временные таблицы, и таблицы-переменные, и case, и хинты и много-много черт знает чего. А для MSSQL2005 - еще CTF и CLR-функции. Таких особенностей и в Оракле до хрена. Как будем учитывать?
2) А еще можно запросто построить правильный грамматически, но совершенно бессмысленный запрос.
3)
RENaissanceИ на плане вполнения Вы увидите и какие таблицы участвовали в запросе, как они объединялись между собой, какие условия наклдывались и т.д
В принципе, конечно, согласен. Но чтение плана выполнения тоже требует немалой квалификации и времени. Я бы даже сказал, чаще всего сам запрос прочитать легче, чем его план.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34010852
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barx Я проектирую систему, и есть необходимость :) проверять формируемые ей sql-запросы. Так может, ей и поручить ? Пусть по мере формирования строит и графическое изображение в условленных обозначениях.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34011776
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR barx Я проектирую систему, и есть необходимость :) проверять формируемые ей sql-запросы. Так может, ей и поручить ? Пусть по мере формирования строит и графическое изображение в условленных обозначениях.
:)) + 5 баллов.
Вот что значит незашоренный взгляд.
Иногда достаточно всего лишь за дверь постучаться и сказать: "Маша! Впредь запросы со схемой присылай!". :).
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34012029
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123
:)) + 5 баллов.
Вот что значит незашоренный взгляд.
Иногда достаточно всего лишь за дверь постучаться и сказать: "Маша! Впредь запросы со схемой присылай!". :).

Такие Маши нужны. И больше нужны такие, которые уже умеют это делать, а не требуют курсов повышения квалификации ;)
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34012497
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barx Petro123
:)) + 5 баллов.
Вот что значит незашоренный взгляд.
Иногда достаточно всего лишь за дверь постучаться и сказать: "Маша! Впредь запросы со схемой присылай!". :).

Такие Маши нужны. И больше нужны такие, которые уже умеют это делать, а не требуют курсов повышения квалификации ;)
плохо представляю себе Машу, которая составляет запросы, но не умеет нарисовать на них схему.
Если Она составляет запрос с неверными данными или руганью сервера, надо уволить программиста для обслуживания Маши, либо Машу.

Пытаться реинженерить схему запроса в визуальном виде то же самое, что воссоздать классы на UML из EXE или схему прокатного стана из куска железа с Оного.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34013371
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123
плохо представляю себе Машу, которая составляет запросы, но не умеет нарисовать на них схему.
Если Она составляет запрос с неверными данными или руганью сервера, надо уволить программиста для обслуживания Маши, либо Машу.


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


Petro123
Пытаться реинженерить схему запроса в визуальном виде то же самое, что воссоздать классы на UML из EXE или схему прокатного стана из куска железа с Оного.

Еще раз скажу, что вопрос был НЕ В ЦЕЛЕСООБРАЗНОСТИ решения данной задачи и поиска "обходных маневров", а именно В НАЛИЧИИ таких программ. Надеюсь, В ОЧЕРЕДНОЙ РАЗ мне не придется ЭТО объяснять, право, уже надоело.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34013915
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С наличием боюсь туго. Начнем с того, что требуется набор визуальных метафор. Они есть для джойнов, и то джойнов вообще без различия . А для
... where not exists( select 1 from ... where ...)
даже не представляю. Можно наверно какой-нибудь транзистор нарисовать...
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34015754
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ModelR
даже не представляю. Можно наверно какой-нибудь транзистор нарисовать...

:)) Можно и так. Если туго с наличием, вопрос снимается, тогда уже обходные пути. Конкретно для этой задачи нужны были представления для select, from, where и group, плюс во всех частях могли быть вложенные запросы.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34015815
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barx ModelR
даже не представляю. Можно наверно какой-нибудь транзистор нарисовать...

:)) Можно и так. Если туго с наличием, вопрос снимается, тогда уже обходные пути. Конкретно для этой задачи нужны были представления для select, from, where и group, плюс во всех частях могли быть вложенные запросы.
писал я парсер SQL запросов к БД которая не понимала этот язык .
По секрету скажу - и врагу такого не пожелаю (и тебе тоже).

Не пей Иванушка из колодца ........
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34017241
i62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i62
Гость
Embarcadero Studio showing relationships for views, so if you have a view for tables A,B nd C you can get a picture which will show you a relationship betwwn this tables, also it has an open API for visual representation, I tinks, it is possible to
change the default picture with more details.

1. save you sql query as a view
2. do reverce wngeneering for thihs view
3. play with embarcader automation API to find aout if you can add more in to your picture compare to standard presentation
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #34017669
barx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
i62Embarcadero Studio showing relationships for views, so if you have a view for tables A,B nd C you can get a picture which will show you a relationship betwwn this tables, also it has an open API for visual representation, I tinks, it is possible to
change the default picture with more details.

1. save you sql query as a view
2. do reverce wngeneering for thihs view
3. play with embarcader automation API to find aout if you can add more in to your picture compare to standard presentation

Looks like it's what I need.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Визуализация SQL-запросов
    #35200095
r4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
r4
Гость
Так все таки есть такая штука о которой автор спрашива?
Вот тоже понадобилось ....
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #35200501
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r4Так все таки есть такая штука о которой автор спрашива?
Вот тоже понадобилось ....
PowerBuilder или InfoMaker позволяют из SQL запроса построить требуемое графическое представление (как и делать обратное). Но вообще так запрос писать не удобно (если хоть немного SQL знаешь)...
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #35200693
r4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
r4
Гость
Локшин Марк PowerBuilder или InfoMaker позволяют из SQL запроса построить требуемое графическое представление (как и делать обратное). Но вообще так запрос писать не удобно (если хоть немного SQL знаешь)...

sql немного знаю :). PowerBuilder тоже.
Ситация такая что приложением генерится запрос (просто джойны, без юнионов, подзапросов и т.д.) хочется посмотреть визально все ли таблици связаны и как. Таблиц может быть очень много и смотреть синтаксис не очень радует.
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #35200873
r4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
r4
Гость
2 Локшин Марк
Спасибо за идею с PowerBuilder, а то я что-то зациклился .....
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #35201198
Dmitriy Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r> Автор: r4
r> Так все таки есть такая штука о которой автор спрашива?
r> Вот тоже понадобилось ....

Для серьезных запросов лучше использовать не визуализацию в виде графов, а
редакторы, обеспечивающие отступ, подсветку синтаксиса и т.п. Например, для PostreSQL:

http://pgedit.com/


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Визуализация SQL-запросов
    #35201607
r4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
r4
Гость
В PL/SQL Developer это все есть...
Но я с детства люблю картинки :). Посмотрел и все видно, тем более что таблицы связываются не во from, а в where, и искать что к чему относится занятие не благодарное.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Визуализация SQL-запросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]