I've seen a lot of tools which can reverse engineer an ERD from an existing database, but I haven't been able to find one which is capable of automatically laying out the diagram in a reasonable way. Most of them just plop all the entities down on top of each other and call it a day. Some make an attempt at organizing the entities, but they don't do a very good job of it. 

Is there any tool out there that will reverse engineer the structure of an existing database, and then automatically lay it out in a way which is easy to understand and reveals the organization of the database? If I were to make such a tool, I'd have it minimize the length of lines connecting entities, minimize the number of lines which cross each other, and make groups of related entities stand out from each other. I'd also try to deduce which tables are lookup tables, which ones are mana-to-many intermediate tables, etc and lay out the entities such that these roles are obvious to a person looking at the diagram. 

I don't exactly have the funding to make the above, but I do have some funding to buy a tool like that if it's good. 

Edit: I should mention that I'm trying to diagram a database with 100+ tables, so I'd like to automate as much of it as possible. The database is not one I'm very familiar with, so I'm looking to learn from looking at the diagram rather than dumping what I know into a diagram (which seems to be what most diagramming tools are designed for).


Question: "going to" vs "will"
Answer: Any answer given on EL&amp;U, given the constraints of time and space, will leave out some of the truth. That perhaps explains the limited nature of the earlier answers to this question to which the OP refers. In any case, non-native speakers usually want simple answers and these will suffice up to intermediate level. 

This particular example introduces additional complications, because the speaker is not talking about the speaker’s own future acts, but about someone else’s. That makes the spontaneous/planned distinction inappropriate. In this case, going to seems the most natural expression, and it is indeed ‘often used as a general verb form for the future, especially in spoken English’ (‘An A-Z of English Grammar and Usage’). 

English has no set of verbal inflections to express the future.  It uses instead auxiliary verbs or, in some cases, the present tense or the present progressive construction. Although going to can be used in many cases, it can’t be used in all, and it certainly isn't invariably interchangeable with will. Native speakers will know intuitively when to say, for example, ‘Next year we’re going to have a holiday in Greece’ (not will) and when to say ‘Right, I’ll see you outside in half an hour’ (not going to). There is a clear difference in usage, reflecting the speaker’s intention in each case. Non-native speakers can only expect to distinguish such differences after considerable exposure to the language. The kind of quick fix found in the spontaneous/planned distinction will serve up to a point, but not beyond.