Gestion usuarios

24/01/2007 - 11:49 por Luis Alberto Sanz | Informe spam
Hola.
Soy nuevo en SQL Server y necesito implementar lo siguiente:
Tengo una tabla con la maquinaria de una empresa la cual tiene varios
centros de trabajo en España. Cada centro de trabajo puede ver la maquinaria
de toda la empresa, pero solo puede modificar su maquinaria, evidentemente
en la tabla hay un campo indicando a que centro pertenece cada maquina.
He pensado que se puede hacer de dos maneras:
- Dar permiso, de solo de lectura, a la tabla maquinaria para todos los
centros, y crear una vista para cada centro con su maquinaria y darle
permiso de escritura a cada centro sobre su vista.
- Dar permiso de escritura para todos centros en la tabla maquinaria y
mediante un disparador, cuando se vaya a modificar la tabla, validar que la
maquina en cuestion pertenece al centro de trabajo que va a modificar el
registro.

Supongo que haya mas formas de solucionarlo.

¿Cual es la mejor manera de afrontar este diseño?

Saludos de antemano.
Gracias.
 

Leer las respuestas

#1 Luis Alberto Sanz
26/01/2007 - 13:49 | Informe spam
Gracias Alejandro.
Creo que lo haré mediante procedimientos almacenados.

Saludos.

"Alejandro Mesa" escribió en el
mensaje news:
Hola Luis,

¿Cual es la mejor manera de afrontar este diseño?



Depende de cual se adapte mejor a tus necesidades. Yo personalmente me
iria
por la vista, pues los triggers, aunque utiles, tienden a alargar las
transacciones, pueden desabilitarse, muchas veces olvidamos dispararlos
durante inserciones en masas y no funcionan como se espera con la nueva
funcionalidad "snapshot isolation" en sql server 2005.

Tambien puedes negar el permiso de actualizacion directamente sobre la
tabla
a todos los usuarios y crear un procedimiento almacenado para
actiualizacion,
donde chequearas el centro y la maquina antes de la actualizacion y el
cual
que sera la interfaz que usaras con las aplicaciones clientes que deseen
actualizar maquinarias.


AMB

"Luis Alberto Sanz" wrote:

Hola.
Soy nuevo en SQL Server y necesito implementar lo siguiente:
Tengo una tabla con la maquinaria de una empresa la cual tiene varios
centros de trabajo en España. Cada centro de trabajo puede ver la
maquinaria
de toda la empresa, pero solo puede modificar su maquinaria,
evidentemente
en la tabla hay un campo indicando a que centro pertenece cada maquina.
He pensado que se puede hacer de dos maneras:
- Dar permiso, de solo de lectura, a la tabla maquinaria para todos los
centros, y crear una vista para cada centro con su maquinaria y darle
permiso de escritura a cada centro sobre su vista.
- Dar permiso de escritura para todos centros en la tabla maquinaria y
mediante un disparador, cuando se vaya a modificar la tabla, validar que
la
maquina en cuestion pertenece al centro de trabajo que va a modificar el
registro.

Supongo que haya mas formas de solucionarlo.

¿Cual es la mejor manera de afrontar este diseño?

Saludos de antemano.
Gracias.



Preguntas similares