Allora, ho un pò di dubbi teorici sulle transazioni.

di solito si applicano quando c'è scrittura su database; giusto?
quindi se faccio delle semplici select, non serve che la select venga eseguita attraverso una transazione; giusto?
invece per tutto il resto: Update drop insert, è necessario una transazione; giusto?

i problemi che si possono avere con i db sono:
Lost Update
Dirty Read
Unrepeatable Read
Phantom Read (ghost update)

ora, anche se gestisco le transazioni, questi problemi non è detto che si eliminino in quanto sono dovuti al livello di isolation del mio database?

grazie a tutti.