Skip to content

Sentencias de mantenimiendo de BD

Juan Cahuana edited this page Jun 13, 2020 · 6 revisions

Sentencias de mantenimiento

Antes de las sentencias, es necesarios saber los siguientes datos:

Estados de los cajeros

  • 1 = producción
  • 2 = stock
  • 3 = dañado

A continuación unos ejemplos SQL para mantenimiento de nuestra base de datos.

Sentencias en tablas

1. Tabla de cajeros "atms"

Ejemplo: Cambiar el estado de producción a stock de aquellos que estaban en stock

UPDATE atms
SET atm_state_id = 2
WHERE atm_state_id = 1

Ejemplo: Cambiar el estado a producción del cajero con número de serie '1522FDC38485'

UPDATE atms
SET atm_state_id = 1
WHERE serial_number = '1522FDC38485'

2. Tabla de cabecera de requimiernto "requirements"

Ejemplo: Consulta todos los datos de la tabla

SELECT *
FROM
requirements

3. Tabla de usuarios "users"

Los usuarios estan relacionados con las siguientes tablas:

  • profiles: perfiles de usuarios (gestor, comercial, proveedor)
  • requirements: cabecera de requerimiento

Ejemplo: Consulta todos los datos de los usuarios

SELECT *
FROM
users

Consultas de reportes

1. Genera un resumen del requerimiento con el detalle del cajero

Tablas involucradas

  • users: usuarios que pueden ser asignados o generar reportes
  • profiles: perfiles de usuarios (gestor, comercial, proveedor)
  • requirements: cabecera de requerimiento
  • requirement_details: detalle del requirimiento, tiene asociados datos de estas otras tablas:
    • atms: cajeros involucrados en el requerimiento
    • requirements_detail_states: estados del proceso asociado al cajero
    • requirement_types: tipo de requerimiento asociado al cajero
    • requirement_details_reason: razón por la cual se genera el requerimiento

Ejemplo: Genera un resumen con datos del solicitante del requerimiento, estado, nota de requerimiento, fecha de solicitud y nota sobre el cajero

SELECT
    R.id,
    (SELECT U.name || ' ' || U.last_name FROM users U WHERE U.id = R.user_id) AS Solicitante,
    (SELECT RS.name FROM requirement_states RS WHERE RS.id = R.requirement_state_id) AS Estado,
    R.description AS[Nota requerimiento],
    R.request_date AS [Fecha solicitud],
    RD.description AS [Nota de cajero]
FROM
    requirements R,
    requirement_details RD
WHERE
    R.id = RD.requirement_id
ORDER BY
    R.request_date ASC

Clone this wiki locally