Improve performance by using the smallest values for data that application requirements will permit.
Rather than storing binary large object data (i.e., BLOB) in database tables, keeping a reference to external data will improve performance and simplify access to that data.
Data normalization is a core principle of relational databases wherein data is organized to minimize or eliminate redundancy.
Use of primary keys is required for proper normalization and ensures that each row of data is unique. While debate exists between sourcing keys from meaningless data (i.e., surrogate keys) or from meaningful data (i.e., natural keys), keys should be unchanging over time and therefore should not be constructed from transient data such as names or contact information.
Utilize views to hide complexity, provide aggregate data, and restrict access to rows and columns.Consider Using Stored Procedures for Data Access
Use of stored procedures provides additional security through isolation of data and deters SQL injection via assignment to variables. Stored procedures for data access is congruent with the layered approach to data access and may provide additional performance benefits due to the precompilation of code.Use Indices
By maintaining a sorted sequence of keys that point to the associated record, indices provide significant performance increases. Try to use short, unique keys to most improve efficiency.Use Effective Names
Good naming conventions promote maintainability and reduce opportunities for error.
Names should be descriptive. Avoid abbreviations and obscure acronyms that will obfuscate meaning or make correct utilization difficult to remember.Do Not Use Numbers or Spaces
Numbered tables and columns are an indicator of poor normalization while spaces (and many other non-alphanumeric characters) create ambiguity for the parser.Be Consistent
Adopt a consistent, memorable set of naming conventions across the entire database.
This will allow changes to be readily deployed to production.