PostgreSQL: creación de vistas actualizables mediante la cláusula WITH CHECK OPTION

PostgreSQL es la base de datos de código abierto de propósito general más avanzada del mundo. pgAdmin es la herramienta de gestión o plataforma de desarrollo más popular para PostgreSQL. También es una plataforma de desarrollo de código abierto. Se puede usar en cualquier sistema operativo y se puede ejecutar como una aplicación de escritorio o como una web en su navegador. 

En este artículo, vamos a discutir:

  • Configure pgAdmin con su sistema operativo.
  • Creación de vistas actualizables mediante la cláusula WITH CHECK OPTION.

Configurar pgAdmin:

El pgAdmin se puede descargar desde aquí . La última versión es pgAdmin 4 v5.2.

1. Descargue el instalador de PostgreSQL desde aquí . Elija la versión adecuada y los bits de Windows de su PC.

2. Después de la descarga, aparecerá el asistente de configuración. Especifique el directorio. Puede mantener todo como predeterminado y hacer clic en Siguiente.

3. Ahora viene la parte más importante. Le pedirá que ingrese una contraseña. La contraseña es muy importante, por favor anótela.

4. Ahora seleccione el número de puerto. Por defecto es “5432”.

5.Haga clic en Siguiente y luego instale la configuración. No es necesario agregar Stack Builder, desmárquelo y haga clic en Finalizar.

6. Ahora instale pgAdmin desde el enlace proporcionado arriba. 

7. Una vez finalizada la instalación, reinicie su computadora para asegurarse de que pgAdmin esté funcionando.

8. Abra pgAdmin desde la ventana de Inicio y luego le pedirá una contraseña. Debe usar la misma contraseña que se mencionó en el Paso 3.

9. Ahora haga clic en Servidor y podrá crear fácilmente una base de datos y escribir una consulta en la herramienta de consulta.

Para crear bases de datos y tablas y para obtener más información sobre la herramienta de consulta en pgAdmin, visite CREATE y Consulta recursiva .

Entrada de muestra: 

Considere el siguiente modelo ER a continuación para crear tablas de detalles de empleados y detalles de departamentos para una empresa.

Diagrama ER de tablas de muestra

Creando vistas actualizables usando la cláusula WITH CHECK OPTION:

La vista generalmente se crea cuando queremos mostrar un subconjunto de una tabla mediante la selección de ciertas filas o columnas. Se utiliza para restringir el acceso a la tabla original y los usuarios pueden ver la parte secundaria de la tabla base . Para obtener más detalles sobre las vistas y sus tipos, visite PostgreSQL: crear vistas actualizables .

Resumamos acerca de la creación de vistas actualizables como se discutió en PostgreSQL: crear vistas actualizables y los problemas que enfrenta:

Entradas: 

1. Detalles del Departamento

Tabla de departamentos

2. Detalles del empleado

Tabla de empleados

Ahora, creemos una vista actualizable para la tabla de empleados. Hagamos una vista para todos los empleados que trabajan en el «Departamento de recursos humanos» de la empresa.

CREATE VIEW employees_hr
AS SELECT employee_id,employee_name,department_id
FROM Employee
WHERE department_id=100

VISTA DE RRHH 

Dado que es una vista actualizable, podemos insertar valores y se reflejará en la tabla Empleado. Si el «Department_ID» del valor recién insertado es igual a 100 , se agregará tanto en la tabla de vista Employee Table como en la tabla de vista Employees_HR; de lo contrario, no se agregará en esta vista HR porque la condición WHERE se vuelve FALSA.

Nueva inserción de datos en vista actualizable

Tabla de nuevos empleados

Ahora, también podemos eliminar una vista y hacerla invisible haciendo una consulta de ACTUALIZACIÓN que se muestra a continuación. Supongamos que eliminamos a Neha de la «vista de recursos humanos» y la configuramos en otro departamento y también cambiamos su nombre a «Nehaa».

UPDATE employees_hr 
SET
    employee_name='Nehaa',
    department_id=104
WHERE
employee_id=1004

/* Removing view Neha from HR by updating her name and department */

Neha es invisible ahora en esta vista

Nehaa se actualiza en la tabla de empleados

Este es el problema en una vista actualizable sin CON OPCIÓN DE VERIFICACIÓN. El usuario que puede acceder a «ver HR» puede modificar fácilmente los datos y un cambio en ellos se reflejará en la tabla principal. Esta no es una buena señal para ninguna organización porque están dando acceso a los usuarios para cambiar los datos. Las personas pueden poner datos incorrectos y también cambiar la designación de un empleado. Por lo tanto, los datos ya no están seguros en la base de datos.

Entonces, para superar esto, podemos usar la cláusula WITH CHECK OPTION. Hagamos otra vista para los empleados que trabajan en el Departamento de Ventas con ID de Departamento = 101.

CREATE VIEW employees_Sales AS
SELECT * FROM Employee
WHERE department_id=101 WITH CHECK OPTION

Vista del Departamento de Ventas

Ahora, intentemos insertar los detalles de un empleado que no es del Departamento de Ventas y también intentemos ACTUALIZAR un registro desde esta vista.

INSERTAR

ACTUALIZAR

Por lo tanto, se mantiene la consistencia y la opción CON COMPROBACIÓN prohíbe al usuario INSERTAR o ACTUALIZAR cualquier dato que no sea relevante para la vista creada.

Publicación traducida automáticamente

Artículo escrito por rishabhchakrabortygfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *