Release 10.1A: OpenEdge Development:
Progress Dynamics Basic Development

> ## Table naming conventions

> Table names should be unique across all databases used by an application. The unique names enable any table used by the application to be called just by its table name. Progress Dynamics takes advantage of this convention to carry out common operations in a standard way for any database table.

> Note: Progress uses the table code to associate comments with a record or to log auditing information for a record.

> Progress Dynamics presumes that the dump name of every table is unique. Since the dump name can now be any length, this is not particularly an issue. You could use the table name as the dump name. However, by convention, Progress Dynamics uses the dump name as an identifier that is displayed in various places. A dump name of five to eight characters is considered standard. You might see this reflected in default display formats.

> Of course, you cannot easily guarantee that a table name will always be unique in any set of databases that is used by an application. By convention, the Progress Dynamics Repository database prefixes every table name with a three-letter code followed by an underscore. This convention helps define the nature of the information in the table. It also helps create a name space that makes table name conflicts unlikely. The first two letters of the name are an abbreviation of the application or “module” name for which the table is principally used. In the Progress Dynamics Repository, for example, tables that form part of the framework Repository use the `ry` prefix. The third character in the prefix identifies the nature of the data in the table, how volatile it is.

> The possible values of the third character are shown in Table 2–1.

> Table 2–1: Values for third character in Progress Dynamics table prefixes
> Character | Data or table type | Description
> --- | --- | ---
> `c` | `constant` | This data effectively is used as system parameters and value lists and normally does not change.
> `m` | `master` | These tables contain (usually limited) sets of values referred to by other tables, such as country or sales rep codes. The values are expected to change relatively infrequently.
> `t` | `transactional` | These tables contain values subject to frequent change during application execution.
> `r` | `raw` | This data is not validated and not used in Progress Dynamics.

> You do not need to observe this particular convention for your tables. However, it can be a useful way of organizing the data in your databases. You can understand, at least basically, a table’s use just by looking at its name.

> Each table has a unique abbreviation. The abbreviation starts with the table name’s three-letter prefix and adds at least two letters from the table name. For example, the `gsc_entity_mnemonic` table’s abbreviation starts with “`gsc`” prefix and adds “`em`” for “entity mnemonic.” To increase the number of possible unique abbreviations, the framework now allows up to eight characters (based on the dump name of the table).

> By convention, procedures and logical object names begin with the abbreviation of the principal table operated on by the procedure or logical object. In this way, you can meaningfully organize and sort an application’s procedures and objects based on their names. You do not need to observe this naming convention to use Progress Dynamics successfully. However, it is a useful model for helpfully and consistently naming physical and logical objects.

> The Progress Dynamics Repository database serves as an example of these naming conventions. One table maintains attribute groups that identify related attributes that should be managed or visualized together. This table is part of the Repository (`ry`) module and maintains constant (`c`) data—values that should not change once they are defined within the framework. Therefore, the table name prefix is `ryc`, the full table name is `ryc_attribute_group`, and its abbreviation is `rycag` (`ag` for “attribute group”).

> Using a complete, meaningful phrase for the table name makes it easy to turn the name into a description that you can insert into messages or reports. By removing the prefix and the underscores, Progress Dynamics refers to this table as the attribute group table. The same convention applies to field names and the default labels generated for them.

> You can use the abbreviation at the beginning of every filename or object name that maintains this table. The SDO for the table with all fields might be `rycagfullo.w`. You might name the primary Progress SmartDataViewer™ for the table `rycagviewv.w`. Any other viewers would have names beginning with `rycag` and ending in `v`, or whatever convention is appropriate to your application.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095