1. Keep the name short, but not too short as to make it cryptic. For
instance, ACCOUNTS_PAYABLE is fine, A_P is not.
2. Some abbreviations are ok, but standards your abbreviations. For instance, ACCTS_PAYABLE and ACNTS_DUE use two different abbreviations for the same word.
3. For non-table objects, it is often desirable to use a short description of that object type in the object name, i.e. PKG, FN, IDX, etc.
4. For indexes, the table name should be part of the index name so that you can quickly identify which table the index belongs to. Similarly for constraints.
This was first published in February 2004