Developing databases that are able to meet the growing demands from web applications requires careful planning and a clear understanding of the business requirements of the client. A good database architect needs to see the business processes for what they are and construct a database design that facilitates the movement of data through the system. Attention to industry standard design principals will ease the effort of maintaining and expanding system capabilities in the future. All too many times, Keene Systems is called in to take over a project where a poor database design has painted the client into a corner. We then have to either redesign the database or work around the problem.
Normalization is a process of eliminating data duplication from a database design by adding record keys and creating clear parent child relationships. Incorrect normalization can lead to a design that is extremely difficult or even impossible to update using standard web controls. Poor normalization also restricts flexibility in reporting. Lack of normalization in the database is a significant problem and is usually a sign that the database was originally built by a junior programmer instead of a senior database architect. At Keene Systems we have senior database architects on staff who understand the pitfalls of poor database design.
Several aspects of database design directly affect performance. Good knowledge of how and when to use different database objects like views, stored procedures, functions and triggers is essential. A good architect will know how to add the correct indices to maximize performance. Some SQL queries are more efficient than others. Our staff is quite adept at rewriting existing queries to improve performance. We also see the big picture. You can have the best DB design in the world but if it is running on 10-year-old hardware it’s still going to run slowly. Keene Systems can make recommendations to improve your overall performance and get you moved into the cloud to take advantage of unlimited capacity & scalability.
Referential integrity ensures that relationships between database tables remain consistent. Good database architecture uses SQL Server’s built in constraints to enforce referential integrity. For example a purchase order detail record should not be allowed to be added to the database unless the purchase order already exists. This is enforcement of the classic parent-child relationship.
SQL Server allows you to define cascading referential integrity constraints where one action causes a cascading effect of several other automatic actions. For example, deletion of a purchase order should automatically trigger deletion of its corresponding child detail records. If this is not done the detail table will continue to grow indefinitely with unusable orphaned records.
Quite often programmers forget to hook these up, or worse, simply ignore them. Since all of these features are optional it is up to the database architect to design them correctly.
When building a new mission critical enterprise system you need a database architect who can design for future growth and maintenance. They also need to be able to avoid the perils that can arise from poor design. All successful software projects start with a solid database design
When you choose a company to partner with to develop your custom database application, select a vendor with proven technology experience in building database-driven applications for websites and back-end applications.
Keene Systems has been developing database solutions for businesses, large and small, since 1987. We build databases that are robust, secure and scalable. We build databases that integrate well with existing infrastructure. Give us a call today to learn more about how we can help you realize your vision.
for a free consultation