I’ve spent part of the rainy sunday to study part of the user guide, an now I have a better knowledge of TDM… I like it!
About naming conventions, anyway, IMHO I’d like to see something different… maybe is too much based on my own naming rules… but … I give my opinions anyway…
What I’dlike to have is:
1)for names potentially dependant on other object’s names, a way to refer to them… some “substitution macro”, like %entity% or %attribute%. More sofisticated, also, something %entity:L5% or %entity:R5% (that means, take the first five chars on the left (on the right for the second of entity name)
2) a way to relate to original caption, so that instead of having suffix or prefix, you have only one field, that you can generate this way: %entity:L5%_%caption%_SUFFIX
3) I like macro concept, but what about having some sort of “event”? something like “Macro to call after naming”, so that I can create a macro (with some predefined structure where I receive relevant parameters) so that is possible to customize “on fly” physical names attribution?
4) a “max total length” numeric value, that checks you don’t overflow certain limits
Expanding a little bit point 1), I see interesting to have, for each object name, these macros:
- for all: %caption% referring to itself’s caption
-for attributes: %entity% (and maybe %entitycaption%)
- for check constraints on attributes: %entity% and %attribute%
- for keys: %entity%
- for indexes: %entity% and %progressive% (numeric progressive for index: 1 for the first one, 2 for the second… etc, so that you can have names like TABLE_IX_1)
- for table check constraint: same as indexes
- for triggers: %entity% %event% (before-after) %scope% (row or instruction) %progressive%
- for relationships: %parent% and %child% (so you can have PARENT_FK_CHILD kind of names) %progressive% (you can have more than one relation with same parent and child)