People across the globe work on the same piece of software at the same time hence, there is a need for techniques that allow a smooth evolution of database as the design develops.
Such methods utilize automated refactoring and continuous integration so that it supports agile methodologies for software development.
Agile methodologies don’t assume requirements to be permanent at any stage of the software life cycle.
An important part of this approach is iterative development, where the entire software life-cycle is run multiple times during the life of a project.
The same principle was applied to the database schema as well where it was considered to be derived out of the software requirements which were in turn developed by collaboration between the customer, end-users, business analysts, etc.
This approach proved to be cumbersome because as time progressed, the redundancies in the existing database schema in the form of unused rows or columns were evident.
[3] In the traditional database scenario, a logical data model is created at the beginning to represent the entities and their associated attributes.
The steps involved in TFD approach are,[3] Configuration management is a detailed recording of versions and updates that have been applied to any system.
'Unfortunately, the traditional data community assumed that evolving database schema is a hard thing to do and as a result never thought through how to do it.