I've constructed a logical model with Entity and Attribute names like:
"Table Name One"."This is the first attribute" ...
I would like to transform these names to a physical model with names like:
"TABLE_NAME_ONE"."THIS_IS_THE_FIRST_ATTRIBUTE".
I don't see a way to convert spaces to underscores, or to automatically convert to upper case. I have found the transformation to a physical model (I selected SQL Server 2014), but there is conversion or type change that occurs during the conversion. How do I do this?
Hi Jerry,
if you would like to have spaces in name, you can use normal physical model and insert this value to Caption and in Name you will store physical name without spaces. So first step for you is convert your logical model to SQL Server 2014 or other db oriented model. You get physical model, but still with spaces in names.
Create New Naming Convention and Edit it.
Go to Glossary tab, and define character replacement set. In this set we just replace space with underscore.
Go to Naming Convention Rules tab and select Entities, Attributes, or other objects. All Apply and assign this Naming Convention to model.
From this point when you add new attribute and you will insert caption with spaces it will be automatically change to underscores in Name. For Already existed spaces in Name please go to main menu-Tools-Naming Convention-Verification...
Another way to do this is in the Naming Convention Rules tab itself, where there is a 'Replacer' column in which you can specify a substitute character for an invalid character. Hit F2 to edit the Replacer field and add the Underscore. You then have to deselect 'Space (32)' as a valid character. This has the added functionality that anything that isn't a valid character (e.g. question marks, colons, exclaimation marks, etc) also gets replaced by an underscore. This may be good or bad, depending on your requirements. You can also use different replacement characters for different Object Types, where as the other option applies across all Object Types chosen.