Identifying and Managing Technical Debt in Database Normalization Using Machine Learning and Trade-off Analysis
This addresses database design issues for software developers and maintainers, but it is incremental as it applies existing machine learning techniques to a specific domain.
The study tackles the problem of technical debt in database normalization by proposing a framework that uses association rule mining to identify tables below the fourth normal form and a trade-off analysis to prioritize normalization efforts, with results from a case study showing reduced cost and effort while improving database design.
Technical debt is a metaphor that describes the long term effects of shortcuts taken in software development activities to achieve near term goals. In this study, we explore a new context of technical debt that relates to database normalization design decisions. We posit that ill normalized databases can have long term ramifications on data quality, performance degradation and maintainability costs over time, just like debts accumulate interest. Conversely, conventional database approaches would suggest normalizing weakly normalized tables, this can be a costly process in terms of effort and expertise it requires for large software systems. As studies have shown that the fourth normal form is often regarded as the ideal form in database design, we claim that database normalization debts are likely to be incurred for tables below this form. We refer to normalization debt item as any table in the database below the fourth normal form. We propose a framework for identifying normalization debt. Our framework makes use of association rule mining to discover functional dependencies between attributes in a table, which will help determine the current normal form of that table and identify debt tables. To manage such debts, we propose a trade off analysis method to prioritize tables that are candidate for normalization. The trade off is between the rework cost and the debt effect on the quality of the system as the metaphoric interest. To evaluate our method, we use a case study from Microsoft, AdventureWorks. The results show that our method can reduce the cost and effort of normalization, while improving the database design.