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:
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 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.
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.
- 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
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.