One of the features that separates earlier systems I've designed from more recent practice is the use of prefixes in database item names. Early on I developed a pattern of giving tables a two character prefix that grouped them, and columns a four character prefix that identified the group and specific table. This was primarily relevant for foreign key columns to identify where the table they were referring to.
This is not a practice I use or recommend today. There are a number of reasons for this:
- The additional information was rarely helpful. If the names of your tables are sufficiently close that a prefix naming scheme is required to differentiate them then you have a problem with the names of the tables, not the prefixes.
- It's additional work to add and maintain the prefixes as well as use them in queries.
- It's an additional learning curve (admittedly small) for anyone new working with the database.
This practice is similar in intent to Hungarian Notation (although hungarian seeks to identify the type or purpose of a variable, not it's grouping). I've always opposed Hungarian notation as being complicated and unhelpful, especially with modern IDE features such as Intellisense that make it redundant. Examining my development practices led me to improve my database schemas with the same reasoning.