Cita: Si irealizo un select no es necesario iniciar una transaccion con begin ¿Es correcto?
Es correcto, pero si hay concurrencia de usuarios la información puede no ser fiable.
Ese tipo de cosas se analiza en el tema de ISOLATION LEVEL.
Cita: Para realizar inserts,delets, update si es necesario el begin y su terminacion (commit o rollback segun sea el caso) ¿es correcto?
Correcto. el START TRANSACTION hace que toda otra operación I/U/D, espere hasta que se ejecute el COMMIT o ROLLBACK. Las operacioens de otros usuarios quedan en espera y luego se les va cediendo el control en el mismo orden en que entraron.
Cita: Si se Inhabilita AUTOCOMMIT es necesario siempre empesar una consulta con begin aunque sea solo un select?
Con el AUTOCOMMIT en OFF, es como si cada serie de setencias entre COMMITs comenzaran con un START TRANSACTION. Pero no el SELECT. El SELECT se ve afectado de otra forma, como ya mencioné.
Cita: si la respuesta es si a la anterior, entonces es recomendable usar procedure en lugar de las sentencias normales?
Hay muchas razones para afirmar que los SP son de una gran utilidad y traen beneficios, pero no son exacta,ente lo mismo que las transacciones. De hecho, puedes abrir y cerrar una transacción dentro o fuera del SP.
Lo único que no puedes hacer es crear transacciones anidadas.