es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

tiple conditions: Tabla de criterios SQL con múltiples condiciones: | Criterios | Descripción | | — | — | | = | Igual a | | <> | Distinto de | | < | Menor que | | > | Mayor que | | <= | Menor o igual que | | >= | Mayor o igual que | | BETWEEN x AND y | Entre x e y | | LIKE ‘pattern’ | Coincide con el patrón ‘patrón’ | | IN (a,b,c) | Está dentro de (a,b,c) | | NOT IN (a,b,c) | No está dentro de (a,b,c) | | IS NULL | Es nulo | | IS NOT NULL | No es nulo |

Estoy intentando aplicar permisos de seguridad y determinar qué empleados de RRHH deberían tener acceso a qué empleados en la empresa.

Mi tabla de criterios tiene al menos 8 campos diferentes que se pueden utilizar para el acceso (por ejemplo, región, división, unidad de negocio, jefe de departamento, etc.) con valores asociados.

Lo he simplificado con las dos imágenes que dan una vista de alto nivel de los datos y los criterios. ¿Alguna ayuda sobre cómo puedo obtener el resultado deseado en la tercera imagen?

¡Gracias!

TABLA DE CRITERIOS

CRITERIA TABLE

DATOS

DATA

RESULTADO DESEADO

DESIRED RESULT

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para aplicar permisos de seguridad y determinar a qué empleados de RR.HH. deben tener acceso en la compañía, se puede utilizar SQL o PostgreSQL para crear vistas que filtren los datos según los criterios. Aquí están los pasos:

    1. Identificar a los empleados de RR.HH. que deberían tener acceso a los datos. Digamos que tenemos dos empleados de RR.HH. con IDs 1 y 2.
    2. Crear una vista para cada empleado de RR.HH. que filtre los datos según los criterios. Por ejemplo, para el empleado de RR.HH. 1, la consulta de la vista sería:
      CREATE VIEW hr1_data AS
      SELECT employee_id, employee_name, division, region
      FROM data
      WHERE division IN ('Marketing', 'Sales') OR region = 'West'
      

      Esta vista solo mostrará los datos de los empleados que pertenecen a la división de Marketing o Ventas, o que se encuentran en la región Oeste.

    3. Repetir el mismo proceso para el empleado de RR.HH. 2, utilizando diferentes criterios si es necesario.

    4. Conceder acceso a los empleados de RR.HH. a sus respectivas vistas:

      GRANT SELECT ON hr1_data TO hr_employee1;
      GRANT SELECT ON hr2_data TO hr_employee2;
      

      Esto permitirá que el empleado de RR.HH. 1 seleccione datos de la vista hr1_data, pero no de la vista hr2_data.

    5. Probar las vistas y los permisos de acceso para asegurarse de que funcionen como se espera.

    Al utilizar vistas y permisos de acceso, se pueden controlar a qué datos tienen acceso los empleados de RR.HH. según los criterios especificados en la tabla de criterios. Esto proporciona una solución flexible y escalable que puede ajustarse fácilmente a medida que cambien los requisitos de criterios o acceso con el tiempo.

Comments are closed.