Recently, l have been reviewing a database design that made me feel like I have a flash back to 1990. Every table used a polish notation like prefix for every table of “tbl”. I remember when we used to use the prefix in order to differentiate a view from a table for the consumer. However, as we look at reasons to use views, the distinction is of lesser value, and the differentiation has less value.
Using views for vertical or horizontal partitioning, having a prefix of vw simply alerts the consumer that there is more behind the object, and they may not be getting everything available. This is like handing a hacker a clue that they need to look for more.
Another thing that is interesting is the cryptic table and column names. You need a decoder ring to understand what the table is, and what it contains. It reminds me of Great Plains back in the 90’s where you really had to have a decoder, which, as I recall, you had to purchase.
If you look at the SYSNAME data type in SQL Server you will find that you have 128 characters for table names and column names. Why not be expressive? Use names that describe the purpose and contents of your table. It may take a little more time to write code working with your database objects. However, as intellisense becomes available when working with code, the issue becomes less onerous.
What’s your take on the issue? Leave a message in our comments.
Cheers,
Ben