Eso depende de la restricciones de programador y de la experiencia, si a fin de cuentas que programar es errar y corregir.
Sobre páginas no leo mucho, me gusta mas aprender a punta de golpes.
Ahora el concepto de programar en red no es nada del otro mundo, un servidor una motor de base de datos, con servidor incluido, la aplicacion en el servidor y terminales accesando por un "simple" acceso directo.
Como evitar que dos terminales vayan al mismo dato, eso es lo lindo de trabajar para multi usuarios, yo soluciono eso de una forma quizas poco ortodoxa, pero las tablas fuertes (no los mantenedores), donde alojan facturas o datos que tengan un indice correlativo hago una tabla temporal de indices, tomando el ultimo, lo dejo como pasado, genero uno nuevo y un tercero para el proximo que solicite un indice.
digo :
pc 1 pc 2 Ultimo indice Tabla
| | 5
\_________|___________ 5 tomo -------- genero tabla auxiliar 5 estado 0
| 5 6 estado 1
\__________ 5 7 estado 2
ahi esta como juego con los estados, pc1 y pc2 estan en la misma tabla, y ambos toman el 5 como ultimo, pero el que define la entrada del registro es el estado 1 de la tabla auxiliar, a su vez cuando pc 2 pida registro creara 8 y cambia el 7 a 1 y 6 a 0, 5 no lo toca porque ya es 0.
Suerte!.