I use DBVA for eclipse and I cross some troubles with diagram synchronization…
I followed blow by blow the video demo which explains how produce an ERD from a class diagram
everything was right until I tryed to rename the ERD just generated…
(cause of the default name “Entity Relationship Diagram” is of course not satisfying and I didn’t find a way to define a name during the synchronization to ERD operation)
the result of the renaming operation was to give a renamed ERD but totally blank!!! :shock:
As I didn’t manage to recover the ER diagram content, I deleted it and I tryed to synchronize again the original class diagram…
in result I obtained a new ERD named “Entity Relationship Diagram” totally blank too!!! :shock: x2
So I tryed to delete the new blank ERD, refresh the project, stop eclipse, remove the HOME/vpworkspace directory and even remove the /tmp/projectXXX.vpp files, then restart eclipse and try a new synchonization to ERD of my class diagram
result: a new blank “Entity Relationship Diagram”!!! :shock: x1000
so here are my questions:
- how can I obtain a ERD from my original class diagram?
- how can I rename safely the ERDs generated?
- is there a way to configure the synchonization mechanism?
hopping to obtain responses allowing us to continue the job
some other details on my case:
after a synchronization operation, giving as I explained a blank ERD, if I modify a “multiplicity” value on an association in the class diagram the entity concerned by this association reappear in the ERD, and only this one
so it indicate that DBVA links right the two diagrams…
however if I modify again the class diagram to return to the initial version… the ERD becomes blank again after a new synchronization
Thanks for your post. By default, it only synchronizes to the first ERD (the main diagram). If you deleted the ERD but did not delete the models, it will not draw the models on the newly synchronized ERD again.
You can try one of the following ways to solve your problem:
- select all the entities in the Model Explorer, then right-click on them and select Form ER Diagram
- delete all the ER models and then synchronize from the class diagram again
For the rename problem, I’ve tried but cannot repeat. The flash movie in the following link is how I tested this issue:
Please correct me if I’ve misunderstood your meaning.
glad to receive some beginning of help!!!
first, last infos about my fight with DBVA:
I tried to copy manually the entire class diagram content: “ctrl a” on the class diagram, then “ctrl c”, creation of a new class diagram and “ctrl v” on it. I obtained new class diagram identical to the original (of course). Then I tryed to synchronize it to ERD…
result: a new ERD totally blank, as usually… OK… breathe, don’t cry… :lol:
other try: “ctrl a” on the original class diagram, then right click on it and select “copy within DBVA PE-EC” in the “copy” menu (why not?..)
result: a new class diagram, copy of the original, but with every class names suffixed with “2”… don’t like that but if could be a beginning of solution…
Then I tried to synchronize this new diagram and… surprise!!! I obtained a new ERD with the entities!!! but with none association between!!! :?
I checked the specification of each association on my class diagram and switched “Persistable = Unspecified” to “True”…
synchronization again… same result, none association in the ERD … the sun is shining… it’s a nice day…
ok ok ok
so now let’s see your propositions…
in first your second way: “delete all the ER models and then synchronize from the class diagram again”…
as you can read in my first message, of course it has been already tried!!!
now the first way proposed: “select all the entities in the Model Explorer, then right-click on them and select Form ER Diagram”… the result is disconcerting…
take a look on the attached files…
you give up?..
sorry, but obviously DBVA is far to be stable and reliable enough
I think the DBVA problems are caused by the a big default in the conception of this software: it is not object oriented (it’s quiet a pity for UML-database modelisation tool!!..)
I explain: in a “visual paradigm project” contains several diagrams and for each of them there is one file (.vperd, vpclassd,… ).
OK, but if you edit them you see that they contain only the reference id of the diagram and project, for instance:
#Visual Paradigm: DO NOT MODIFY THIS FILE!
#Tue Jun 24 15:42:08 CEST 2008
and actually whole informations concerning the different diagrams of a project are written in a unique file: the .vpp file.
that’s why DBVA is not object oriented.
Instead of having independent diagrams with their whole characteristics contained, for each of them, in one corresponding file AND one file (or more) containing the characteristics of the project (ie the relations existing between the different diagrams and so forth…), DBVA keep the entire pool of informations concerning the diagrams AND the project itself in a unique file.
Instead of managing diagrams as a pool of independent objects aggregated in a superior, main object: the project object, responsible of their relations, DBVA manage absolutely everything through a single object: the .vpp file. mixing everything.
this is a critic default of the software because it means it is impossible to handle simply the different diagrams independently, for example to copy a diagram from a project to put it in another one, or to delete a diagram in order to replace it by another one.
Another consequence: in my case a bug append impacting obviously the “relation” linking the class diagram and the ER diagram.
As everything about the project is written in a single file it is impossible to eliminate the bad elements or to extract the valid diagram(s) of the project in order to recreate another one. You have no choice: delete everything and return to the first square…
and for me, search another DB design software.
it’s a pity cause we were really interested by the product…
in a cup of year may be…
Thanks for your reply. First of all, I think you have done something wrong in forming ER diagram (seems you have selected the class model but not the ER models).
Please refer to the flash movies of:
forming ER diagram by the ER models
delete ER models and then synchronize the class diagram to ERD again.
I hope these 2 flash movies will help you understand more.
Thanks for your comment. DB-VA is an object-oriented database modeling tool. The files (.vperd, vpclassd,… ) are for holding reference between editor in eclipse and DB-VA diagram. Storing all model data within a single project (.vpp) file isn’t mean not object-oriented. The project file is in our own format (things storing in a single file doesn’t mean handled as a single file).
Since we support share models, storing all details in diagram scope (and in separated file) is not good approach. I think one of your major confuse is what is model and view in DB-VA. In DB-VA, all things are models, and all presentations (in any diagram) are view. Diagram is just a container for the views. You can have class shapes reference to same underlying model in different diagrams, and of course each can have its own presentation options. You can also having a model not appear on any diagrams, but being referenced by other. You can create new diagram with existing models by simply drag & drop from Model Explorer. So, I don’t see what you mean by not object-oriented.
Another confusion you got is the term “entity model” with what we mean. Lilian mention about “entity model” are the Entity, but not “classes which representing entity”. The screenshot you showing are classes which representing entities, but not entity models (by default entity models are showing in brown round rectangle).
By default synchronization between class/entity will update to models and the first class diagram / ERD, and we tread it as the master diagram. But if you have removed the view from the master diagram (but keeping them in model), we will not re-generate it into diagram in next synchronization (so you will have a blank diagram, but all things are updated in models). The reason is your manually remove view from diagram consider as layouting diagram, and bring the shape back may mess up your diagram. As I mention you can always bring the model back to diagram by drag & drop. Alternatively you can simply delete the target diagram plus models and do the synchronization again. (i.e. delete class diagram and class models if you want to re-create it by sync from ERD, and vice versa).
Hope this can clarify your questions. If you require any further information, please do not hesitate to contact me again.