Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #1658
| From | "Martin Gregorie" <martin.gregorie@THRWHITE.remove-dii-this> |
|---|---|
| Subject | Re: Read (and Visualize) |
| Message-ID | <hnn0i4-4dq.ln1@zoogz.gregorie.org> (permalink) |
| Newsgroups | comp.lang.java.gui |
| References | <1179492298.518103.219520@e65g2000hsc.googlegroups.com> |
| Date | 2011-04-27 15:34 +0000 |
| Organization | TDS.net |
To: comp.lang.java.databases, send.me.all.email@googlemail.com wrote: > On 17 Mai, 15:19, Christian <fakem...@xyz.de> wrote: > >> Well visualization. How about doing it like an Entity-Relationship model... >> thats at least one Visulaization that comes to my mind .. may be you >> want more.. > > No, in contrast, I want less. :-) > > Generating an ER model based on a given database schema would require > some model transformation or reverse engineering approaches (e.g. to > decide if a concrete relation could have been introduced to realize a > weak entity or a multivalued attribute). > > The kind of visualization I have in mind is just an easy to understand > graphical 1:1 representation of the schema. Something like: Tables are > depicted as boxes, containing the fields of the table as rows showing > the name and type of the field. Fields acting as primary or foreign > keys are specially marked. Relationships between tables are depicted > as lines connecting the tables. If the name of a relationship and the > cardinality information are given, then these should also be included > as labels to the relationship lines. The visualization of the database > schema should then allow the user to select tables by clicking on them > and perform basic operations on them. > > So this should be no rocket sience, but as I never built such a tool > before, I'm quite interested in what is the current state-of-the-art- > approach to do this. Building an Eclipse-PlugIn using EMF? Which > frameworks to use to minimize the development effort? > > Any ideas? > As you say, this seems quite doable - the JDBC metadata retrieval functions should be able to return most of what you need, though you may need to rethink the GUI. It may be enough of a problem to draw a readable ER diagram (where E=table, R=fk) showing just the table names from a decent sized schema and disentangling it so not to many relationship lines cross could be quite difficult. You may want to show table properties (columns, keys, indices, etc) only by clicking on a table and the same for a relationship. Are you familiar with the Embarcadero (http://www.embarcadero.com) tools? If not you could do a lot worse that download an evaluation copy or two. Some of their stuff may be what you need and failing that you'll surely get some ideas by playing with it. If you may find that automatically producing a schema diagram that isn't a tangled mess is sufficiently difficult that the way to go is to let the user drag objects around to make the diagram readable and then save the result. On start-up it should be easy enough to compare the saved model with the actual schema. If they are the same there's no problem: just show the hand-modified version. If they differ you'll need to do something about it: either replace the diagram entirely or just patch it to match the schema, again letting the user change any tangled bits. HTH -- martin@ | Martin Gregorie gregorie. | Essex, UK org | --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Read (and Visualize) Data "send.me.all.email" <send.me.all.email@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "Christian" <christian@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "CK" <ck@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "send.me.all.email" <send.me.all.email@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "send.me.all.email" <send.me.all.email@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "Martin Gregorie" <martin.gregorie@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "send.me.all.email" <send.me.all.email@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "Mishagam" <mishagam@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "send.me.all.email" <send.me.all.email@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "Lew" <lew@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "send.me.all.email" <send.me.all.email@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "Lew" <lew@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
Re: Read (and Visualize) "Sualeh Fatehi" <sualeh.fatehi@THRWHITE.remove-dii-this> - 2011-04-27 15:34 +0000
csiph-web