Data integrity can be compromised in a number of ways:
1)Human errors when data is entered
2)Errors that occur when data is transmitted from one computer to another
3)Software bugs or viruses
4)Hardware malfunctions, such as disk crashes
5)Natural disasters, such as fires and floods
By automating the test you can run the regression and system test effectively but you should depend manual testing in certain areas, otherwise itz more effective.
data Integrity ia maintaining the state of a data. If you perform any operation on the data at a point it should reflect in all the relational information. this is the frequently known issue in testing.
Indirectly automation can improve test effectiveness by freeing up manual testers to work on test coverage. Directly, if written correctly, it can relieve issues with redundancy and mundane testing chores.
I think its obvious that it can. Taking the human element out of the equation for large complex repetative tasks can have its benefits.
Data integrity is pretty obvious. A set of data is required to be structured in a certain way for an application. If a change to the data (or other) changes this structure, anything that relies on this will not work.