Reverse Engineering and Relationships

I was surprised when I reverse engineered an existing database that TDM couldn’t give me any relationships because it didn’t recognize the schema.

Is there any way to reverse engineer a database so that I can get all of the relationships? It’s not nearly as useful if I have to create them all myself (too much work) or have to use a model without the relationships (not informative enough).

Thanks,

-Kevin

Hi,

please make sure the relationships physically exists in the database and that reverse engineering settings are properly defined. TDM normally loads existing relationships, but they must exist in the database. If they don’t exists, there is a macro: infer relationships. This may help too.

BTW: what database system are you using? (incl. version)

Regards,

Vaclav

Hi Vaclav,

I was trying this on a couple versions of Microsoft SQL Server. I tried version 2005, 2008, and 2008 R2 - all on Developer Edition.

The database I was trying to reverse engineer is the MSDB database that ships with all versions of SQL Server from SQL2000 onward. MSDB does have explicit PKs and FKs. I tried to RE that database directly using the SQL Server Native Client and haven’t tried it yet with the simple DDL script.

In any case, it fails saying something about “invalid schema .dbo”. However dbo is SQL Server’s default schema and the one in which all of the tables and database objects reside, so you’d assume that it should work just fine.

Any additional help is greatly appreciated.

-Kevin

P.S. I’ll look for and try the macro you mentioned.

Hello Kevin,

Thanks for the details.
Could you please send us a screenshot of the “invalid schema .dbo” error?
Thanks a lot.

Regards,

Vladka + TDM Team

Here's the picture. Thanks Vladka! =^)

-Kevin

Where can I find the macro “infer relationships”? I don’t see it in the docs. It’s not in the tool itself. And I cannot find it in either Downloads or Library here on the website.

Many thanks,

-Kevin

Hi Kevin,

Regarding the macro, in TDM v. 3.5.10 you can find it in Macros menu | All | Infer Relationships.

(Since Beta 3.6.2 you can use the macro also for selected objects. See Macros | Selected Objects | Infer Relationship on Selected Entities. - This option is also available via pop-up menu of entity (in Model Explorer or on the Workspace).)

After you apply it, please let us know the result. We’ll check out your screenshot.
Thanks for now.

Regards,

Vladka

Could you please send us the complete Log output from the Message Explorer (on the screenshot we can see just its part) - (right-click the Model Explorer | Save Messages).

Thanks.

Regards,

Vladka + TDM Team

Hi Kevin,

Checking out the screenshot, we can see, no entities have been loaded during RE. No tables - no relationships. :wink:
During the RE, did you select Entities on page What to Reverse?

Hi Vladka, Im a new user of free version Toad Data Modeler v. 4.0.6.15 and like a pilot model I’m trying reverse engineering of my MS SQL 2005 database. I read the whole discussion with KevinK (http://modeling.inside.quest.com/thread.jspa?messageID=106006) because my symptoms are the same - I cannot see any dependencies in views. I used also macro for Infer Relationships on Selected Entities - but no success: no dependencies. In attached screenshots you can see my MS SQL dependencies of an view and how I see the same situation in Toad. I’d like to use TDM as a tool for documenting which SQL views I use as sources for intranet - pages of our company, but without these dependencies is TDM for me not usable. Thanks in advance. Duski (from Slovakia:-)
Message was edited by: DuskiMessage was edited by: DuskiMessage was edited by: DuskiMessage was edited by: Duski

Message was edited by: Duski

Screenshots :-). Duski

Hi,

can you send us the model to modeling@quest.com or at least screenshots of the View definition, please? View items are defined as expressions for some reason.

Regards,

Vaclav