Database versioning is the management and tracking of changes made to a database. All changes to scripts that define tables, procedures, triggers, views, indexes, sequences and other user defined objects are stored and versioned. Database versioning can also refer to the management and tracking of all database data where every Insert/Update/Delete operation is stored with intent to keep a permanent log of who performed which modifications.