ThatJeffSmith

SQL Developer Data Modeler v3.3 Early Adopter: Link Model Objects Across Designs

The third post in our “What’s New in SQL Developer Data Modeler v3.3” series, SQL Developer Data Modeler now allows you to link objects across models. If you need to catch up on the earlier posts, here are the first two:

  1. New and Improved Search
  2. Collaborative Design via Excel

Today’s post is a very simple and straightforward discussion on how to share objects across models and designs. In previous releases you could easily copy and paste objects between models and designs. Simply select your object, right-click and select ‘Copy’

Once copied, paste it into your other designs and then make changes as required.

Once you paste the object, it is no longer associated with the source it was copied from. You are free to make any changes you want in the new location without affecting the source material. And it works the other way as well – make any changes to the source material and the new object is also unaffected.

However.

What if you want to LINK a model object instead of COPYING it?

In version 3.3, you can now do this. Simply drag and drop the object instead of copy and pasting it.

Select the object, in this case a relational model table, and drag it to your other model.

It’s as simple as it sounds, here’s a little animated GIF to show you what I’m talking about.

Drag and drop between models/designs to LINK an object

Notes

  • The ‘linked’ object cannot be modified from the destination space
  • Updating the source object will propagate the changes forward to wherever it’s been linked
  • You can drag a linked object to another design, so dragging from A -> B and then from B -> C will work
  • Linked objects are annotated in the model with a ‘Chain’ bitmap, see below

This object has been linked from another design/model and cannot be modified.

A very simple feature, but I like the flexibility here. Copy and paste = new independent object. Drag and drop = linked object.

Updating the Linked Objects

When you update the base object, the linked copies will be updated when they are opened. You can also invoke a manual sync or update from the base model when you right click and select ‘Synchronize Remote Objects.’

There’s no need to have the original model or design open when you open the linked copies for them to be updated.