Testing can be simplified if you can get your database in a known state before a test is run.
For this, we have the sql files to build the database: tables, columns and static data (ex: Cities of the Belgium).
This kind of data rarely change!
Most of your tests do not require the entire database to be re-initialized. So, instead of putting your entire database data in one large dataset, try to break it into many smaller chunks .
This reduces the overhead caused by initializing your database for each test. This also facilitates team development since many developers working on different components can modify datasets independently.
We can be have one dataSet to each class or to each test or to each group of tests.
This kind of data is not commited in the database!
Strategy Run TestNG To create the static data To read the testng.xml file(s)