Визуализация БД

StalkerClasses

Новичок
Есть БД со связями. Каждая таблица (модель) описаны определенным образом.
Т.е. есть возможность понимать, что эта колонка связь вида 1кМ, эта связь вида МкМ.

Есть ли какие-то сервисы, программы или инструменты в которые можно загрузить структуру БД (XML,Json - могу сгенерировать нужный формат а также нужную структуру) что бы визуально увидеть всю БД?

Как есть например яндекс.маркет - в него вгружается XML с определенной структурой. Аналогичную структуру есть возможность сгенерировать для сервиса (программы).
 
Как называется?
Хотел бы на выходе получить что-то типа:
URGM3.png
 
Если для сферической БД в вакууме, то не знаю.
Для MySQL есть WorkBench.
 
Зачем тебе утилита для визуализации? Какую проблему ты решаешь?
 
У меня есть маленькие модели - до 5 таблиц.
Есть модели побольше - до 15 и больше таблиц.

Каждая из таблиц в модели описана по схожим принципам.
Каждый раз переключаясь приходится вспоминать что и как - даже когда 5 табличек.

Приведу пример - у меня есть модель файлов:
1) Файл (имеет связь к хранилищу, имеет связь к описанию)
2) Файл (описание) - он же переводы на другие языки
3) Файл (ссылка на файл в записи)
(имеет связь к записи, связь к файлу)
4) Хранилище (точка доступа к файлу)


Мне периодически приходится вспоминать что за чем идет.
А так распечатал виртуальную диаграмму и она всегда под рукой.
 

Вот эти два очень заинтересовали.
Особенно первый, т.к. ничего ставить не нужно. Мне очень даже подходит.

Я создал простой пример страна, город.
Код:
@startuml
class Country {
 -id
 -title
}
class City {
 -id
 -title
 #country_id
}
@enduml
SoWkIImgAStDuKhEIImkLd3EByqhAQfKgEPIqCrC0H8bcIKvgLorCEdC4Wmv1ULaYAPue60jbqDgNWhGF000

А как их теперь соединить?
 
Соединить получилось:
Код:
@startuml
class Country {
  Sample table.
  ==
<$primary> int(10)
-id int(10) -- A comment
-title int(10) varchar(255) -- A comment
}
class City {
  Sample table.
  ==
<$primary> int(10)
-id int(10) -- A comment
-title varchar(255) -- A comment
.. Comment line, ignored ..
#country_id int(10) -- A comment
}

Country "1" *-- "M" City: country_id
Country o-- City: aggregation
@enduml
hP3DIWD148Jl_HJ5wY6AknWX5p4IoTcJ3o3jRZCsp4_exGX1ykuEBXj1o2stARuQFhesexFvFaNg8uyZjcMVtGxu9k2DqouAd3-YT3MlruIdwvrfOZiyGxClblStX5Q7EQ1jyOA-f2JPAt7rA2VunTP_iYqULgj_pUEiLx-m-xmJNOVjz4RKB7VGa8l9K07Xgf-MU3ydE1BDOpNB1hSLDg_DxmMF-FjyAfLQc227O1BOjMJQI1xg-Zy0
 
Последнее редактирование:
Еще нашел 1 вариант:

Мне очень понравилось что здесь визуально показано более развернуто связи.
1401

Хотел бы примерно также сделать в плантом.
 

Очень сдоровская штука плантом.
Но вставляю код - 136 строк - он рисует только половину, вторая половина оказывается обрезанной. Картинка получается очень большой. Можно это как-то обойти? Видимо у картинки которой он генерирует есть ограничения по ширине и высоте.


Больше подошел тот вариант что скинул "WMix"
 
хз, такого небыло, большие диаграммы (по 10-30 моделей) рисовал
С этим разобрался - просто уменьшил кол-во выводимых данных в одну табличку.
Выводятся колонки только которые имеют связи.

Но появился еще 1 вопрос. Сгенерированный Uml код помещяю в тэг <pre>Uml</pre>.
Можно ли как-то сделать форму отправки и делать сразу submit на http://www.plantuml.com/plantuml/uml/?

И есть еще вопрос - вот есть картинка:
schema-plantuml.png

На веточках идет подпись user_id.
Можно ли сделать подпись из двух строк?

WMix - спасибо большое - мне очень этот инструмент подошел.
 
Последнее редактирование:
зачем тебе это делать, скачай jar, поставь jdk и генери локально


Код:
@startuml
A "1" *-- "many" B : "line\nsecondline"
@enduml
SoWkIImgAStDuN9KK39KKj3IrLLGoatCgrHIS5AmKb3AoSnBZSahJatEpqi1iPMu75BpKe3g0G00
 
Последнее редактирование:
зачем тебе это делать, скачай jar, поставь jdk и генери локально


Код:
@startuml
A "1" *-- "many" B : "line\nsecondline"
@enduml
SoWkIImgAStDuN9KK39KKj3IrLLGoatCgrHIS5AmKb3AoSnBZSahJatEpqi1iPMu75BpKe3g0G00

Появилось еще два вопроса про функционал данного сервиса.
1) Возможно ли в строке вставить 1 символ (букву) в конце по правому краю. По умолчанию вся строка выравнивается по левому краю.
2) Визуально связь отображается от прямоугольника к прямоугольнику, но не от места от куда она идет (не от строки) - возможно ли нарисовать линии от строки к строке?
 
Сверху