Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #1658

Re: Read (and Visualize)

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

Show all headers | View raw


  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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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