Thanks for reporting this problem. I have logged an enhancement request for it.
We have added this Compress property on the Using Index tab in the Production Release of Data Modeler 3.1.
(Note that this is only supported for Oracle 11g databases.)
Edited by: David Last on Feb 8, 2012 10:54 AM
I am not seeing this change in 3.1 nor in the new 3.3 release. I am checking : Physical Model > 'table' > Primary Keys > 'primary key' > Dialog Box> Using Index Tab
In there I see :
Using Index : By Index Name
I don't see where the compression option can be defined.
I do see it for specifically created indexes...but not in the 'Using Index' diaglog for either Primary Keys or Unique Keys.
Am I just missing something ?
Sorry for the confusion. I'm afraid my earlier statement
We have added this Compress property on the Using Index tab in the Production Release of Data Modeler 3.1.was incorrect.
What is now supported is the ability to specify the Key Compression clause for the locally partitioned index on individual Partitions.
To use this, you first need to create your Partitions for the Table (using the Partitions node for the Table in the browser).
The Properties dialog for each of these Partitions has a Local Indexes tab.
When you select this tab, it should display entries for the Table's locally-partitioned Primary Keys, Unique Keys and Indexes.
If you double-click (or select the Properties icon) for one of these entries, a dialog is displayed that allows you to specify the Key Compression for the key for that specific partition.
Thanks David for the update.
So it looks like we can't configuration compression for PK and UK indexes on non-partitioned tables ?
As a workaround, we could just configure a 'script' to run 'after creation' as part of the DDL generation to 'ALTER INDEX REBUILD COMPRESS' ...does that sound about right ?
You could set up an explicit Index and set its Compress property in the Index Properties dialog.
Then in the Properties for the PK or UK you could refer to this Index (set "Using Index" field to BY INDEX NAME, and then on its "Using Index" tab set the "Existing Index" to refer to the Index).
Alternatively you could set the PK's "Using Index" field to BY CREATE INDEX STATEMENT and then supply the DDL to create the Index in the "Create Index Statement" field on its "Using Index" tab.
Also, as you suggest, you could set up an After Create script on the Table to do an 'ALTER INDEX REBUILD COMPRESS'.
I have logged an enhancement request to support key compression on implicit PK and UK indexes.
Awesome David, thanks for the options..I am sure I can make one them work.
And already with the latest Data Modeler 3.1.x versions (and now with Data Modeler 3.3) it is not necessary anymore to rename the index used to support a PK or UK constraint (see my original question) - as stated by David in his post from 08-Feb-2012 11:03 to the https://forums.oracle.com/thread/2324570 thread, "The Production Release of Data Modeler 3.1 has been updated to allow primary and unique constraints and their Indexes to share the same name." So actually since that time the Data Modeler allows (without any tricks) for a very reasonable approach - create a proper UK index first, then use it to create a PK or UK constraint with the same name.
@David - many thanks for the possibilty to use the same name for PK/UK constraint and the corresponding index.